粒子砲

粒子法もどきをやってみました.

粒子法は流体シミュレーションの方法の一つで,流体の部分流を粒子に見立てる手法です.
他にCGでよく使われる流体シミュレーションの手法には波動方程式から液面の動きを求める方法などがありますが,この方法は連続した液面しか求めることができず水しぶきなどの非連続な流体のシミュレーションはできません.

波動方程式からのシミュレーション

粒子法は非連続な流体の計算を行えるため,波しぶきなどの派手な流体の動きもシミュレーションすることができますが,粒子同士が影響しあうため普通に実装すると計算量が大きくなってしまいます.
今回作成したプログラムでは粒子数は数百個程度ですが,愚直に実装したので数FPS程度しかでませんでした.
多分,容器を大きくして粒子数を増やせばもっと水しぶきっぽくなると思うのですが高速化が面倒なのでとりあえずこれだけで.
低粘度.mpg
高粘度.mpg

あと,ちょっとパラメータを変更して爆発エフェクトも作って見ました.

gifアニメ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください