2009年8月23日日曜日

3次元の粒子法シミュレーション


粒子法のプログラム第1回(概要)【粒子法】粒子を流体としてレンダリングでは粒子を2次元で計算していたので、今回はそれを3次元に拡張して計算してみた。平面だったものを、そのままz方向にも粒子を配置している。


【粒子表現】


【流体表現】



■流体シミュレーションに関するエントリ
粒子法のプログラム第1回(概要)
粒子法のプログラム第2回(プログラムの大枠)
粒子法のプログラム第3回(データ構造)
粒子法のプログラム第4回(密度と圧力の計算)
粒子法のプログラム第5回(力の計算)
粒子法のプログラム第6回(境界条件と粒子位置の更新)
粒子法のプログラム最終回(粒子の出力)
【粒子法】粒子を流体としてレンダリング
3次元の粒子法シミュレーション
粒子法のシーンを2倍のサイズにしてみたが…
粒子法のシーンを2倍のサイズにしてみた
SPHによる巻き波のシミュレーション2
Haskell、OCamlでSPH法
このあとやりたいこと
カメラ位置を変えて流体をレンダリング
固液連成シミュレーション

■剛体シミュレーションに関するエントリ
粒子ベース剛体シミュレーション(プレビュー)
粒子ベース多体衝突シミュレーション
引き続き、粒子ベース剛体シミュレーション


粒子法(SPH)のプログラム
粒子法(SPH)のプログラムを解説したシリーズです。ソースコードも公開しています。

粒子法(SPH)のプログラム一覧



動画
シミュレーションの結果をレンダリングして作った動画です。流体シミュレーションや剛体シミュレーションの動画を見ることができます。

動画の一覧


--

6 件のコメント:

student さんのコメント...

粒子法(といってもmps法のほうですが)を用いて水粒子のシミュレーションを行おうとしていて、このページに行き当たりました。
個人レベルで描いてもここまで綺麗なシミュレーションが出来るものなのですね。
どこまで出来るかわからないですが非常に励みになりました。

kamonama さんのコメント...

コメントありがとうございます!
励みになったといってもらえてうれしいです。
参考になれば。

匿名 さんのコメント...

すばらしく奇麗なシミュレーションですね.
mesh貼らなくてもいいし,粒子法,趣味で書いてみたいと思います.

kamonama さんのコメント...

ありがとうございます!
粒子法はmeshいらずでアルゴリズムがシンプルなので、とても書きやすいです。
ソースも置いてますので、よろしければご参考に。

匿名 さんのコメント...

ニコ動から来ました。
当方趣味で差分法を用いて書いていましたが自由界面の扱いが簡単なのはやっぱり魅力的ですね。
粒子法でもプログラミングしてみようと現在勉強中なのでとても参考になりました。

kamonama さんのコメント...

コメントありがとうございます!
私は逆に粒子法や格子ボルツマン法しか扱ったことがないので、差分法にも挑戦してみたいです!