設定できるパラメーターは粒子の数、移動速度v、粒子間に働く力を表す関数の形を決めるパラメーターdです。このシミュレーションでは各粒子の位置は次式で再帰的に計算されます。

Positiont+1(x,y)=v*Force(x,y)+Positiont(x,y)

Force(x,y)=Σ(i≠j) v*Vectorij(x,y)*Log(Distanceij/d)/(Distanceij/d)

Vectorij(x,y)=Positiont,j(x,y)-Positiont,i(x,y)

Distanceij=|Vectorij|

時間の経過にしたがって、粒子が円状に集合するのが観察できると思います。これは各粒子が距離dまでは互いに引き合うような引力を生じるのに対して、それ以上近づくと斥力を生じるように関数が設定されているためです。


Number of Points

v : Moving Velocity

d : Best Distance