流体っぽいのをProcessing.orgのLearingにあるGlen Murphy氏のFluidコードを参考に作ろうと思った。
Fluid \ Learning \ Processing 1.0 (BETA)
http://processing.org/learning/topics/fluid.html
Glen Murphy氏のコードはbodytag.orgの「FLUID3」とか、Glen Murphy氏のページにもあるやつ。
Glen Murphy氏のページのほうでは「Fluid3」のリンク先が「Smoke2」と入れ替わっちゃたりしていますけど。
このProcessingのコードをほぼそのままASでやっているサンプルはPapervison3Dに関わってるRalph Hauwert氏のところでダウンロードできて試せます。
若干コンパイルエラーがでますけど(voidがVoidだったりとか)、それを解消していけばすぐ動きました。
Fluid Dynamics : AS3 Source Code.
http://www.unitzeroone.com/blog/2005/10/25/fluid-dynamics-as3-source-code/
最初は、正統に流体シミュレーションを調べてからなんてちょっと思ったけど、ナビエ-ストークス方程式を理解して・・・なんて、数学のミレニアム懸賞問題とか理解できるわけありません。
高卒と同時に数学なんて忘れちゃって、四則演算以外の数学記号を見るだけでも嫌なのに。
Fluid Simulation for Computer Animation
http://www.cs.ubc.ca/~rbridson/fluidsimulation/
ということで、Glen Murphy氏のProcessingコードをベースにDisplacementMapFilterを使う方法でやってみたのがこれ。
一度クリックしてからドラッグするとFluidっぽい動きします。そして今回も例によって負荷高めなのです。一度始めると止める事はしません。ソースを置いとくので、ダウンロードしてから試した方が無難です。
それと、Macの場合はFlashPlayer 10で見た方が良いはずです。FlashPlayer 9で作っていますが、FlashPlayer 10では描画速度が速くなってるし(Windows環境と比べてまともになった感じ)。
内容の解説は[Flash]流体っぽいのを作ろうと思った(2)で。ソースは置いとく。
ソース1:FluidSample.zip
ソース2:FluidSample_param.zip