前から粒子シミュレーションに興味があったのでSPH(Smoothed Particle Hydrodynamics)法という粒子法を使った2次元の粒子シミュレーションのプログラムをC++で作ってみました。
大雑把にやっていることは、それぞれ1つ1つのパーティクルに対してある距離内にいる周辺パーティクルとの距離から作用する力を計算して速度を求め、次のフレームの位置座標を計算していくという流れです。
GUIとかマウス操作とかにはQtを使っています。
ちょっとソースコードはごちゃごちゃしているので整理しないとアップできないですが、ネット上にすでにたくさんソースコードつきのプログラムがアップされているので検索すればすぐに見つかるかと思います。
こっから3次元に拡張してMayaのプラグインとかにしてパーティクルアニメーションに使えないかと考えています。3次元になると一気に大変になるという話は聞いていますが、頑張って3次元も自分で書いてみたいです。
大雑把にやっていることは、それぞれ1つ1つのパーティクルに対してある距離内にいる周辺パーティクルとの距離から作用する力を計算して速度を求め、次のフレームの位置座標を計算していくという流れです。
GUIとかマウス操作とかにはQtを使っています。
ちょっとソースコードはごちゃごちゃしているので整理しないとアップできないですが、ネット上にすでにたくさんソースコードつきのプログラムがアップされているので検索すればすぐに見つかるかと思います。
こっから3次元に拡張してMayaのプラグインとかにしてパーティクルアニメーションに使えないかと考えています。3次元になると一気に大変になるという話は聞いていますが、頑張って3次元も自分で書いてみたいです。