1

ベクトルのグリッドを2Dで実装しました(実際には Obj-C ですが、実際には言語に依存していないと思います)。たとえば、粒子のフロー フィールドを生成するためにシンプレックス ノイズで満たすことができます。

私はたくさん検索してグーグルで調べてきましたが、私は数学の専門家ではないので、グリッドを渦 (または少なくとも円形) の流れ場で埋める方法を見つけることができません。

円の流れについては、外側のグリッド ラインから内側のグリッド ラインへの円の接線からベクトルを取得することを考えました。

ただ、渦に関しては、自分では解決策を見つけることができません。

渦は対称で、グリッドの中心にあるはずですが、同じグリッドで非対称にする簡単な方法があれば...

4

1 に答える 1

1

フィールドにはまだいくつかの疑問符があります。しかし、私があなたを正しければ、それはあなたが望む速度場です。つまり、各頂点の速度です。円形フィールドの場合、直交する相対位置ベクトルを取得して を作成するだけで、円形フィールドを取得できます。

v_t = (Py-Ry,Rx-Px)

P頂点の位置でR、フィールドの中心です。接尾辞 x と y は、対応する座標です。

半径成分を速度フィールドに追加するには、半径方向に速度を追加するだけです。シミュレートしたときにこれが安定するかどうかはわかりません。

半径方向は次のように簡単に記述できます。

v_r = (Rx-Px,Ry-Py)

そして使用

v = a*v_r+(1-a)*v_t

に良い値がaあり、おそらくかなり低いです。

于 2013-05-27T20:27:32.130 に答える