NURBS
6. ラグランジュ法の説明
6.1 概要
流体を小さい粒(以下質点)の集合として扱い、そのひとつひとつの運動と相互作用を演算す ることで流体の運動を再現する。
図6-1
質点の移動を流体の移動、質点の集合の疎密を流体の密度、質点同士の引力を表面張力 として置き換えるなどの各近似を施し、流体演算を行う。
図6-2
6.2 質点の基本運動
6.2.1 質点運動の基本と流体密度の伝播
今回の流体計算で扱った質点は、近くにいる質点に対して互いにはじきあう斥力を持つ。
その斥力によって密度の高いところから低いほうへ流れる流体の性質を再現している。
図6-3
斥力は距離に応じてその大きさが変わり、近い距離では大きく、遠い距離では小さくなる ように演算される。
図6-4
下図のように端の質点が隣の質点に向かって移動したとき、距離が縮まり、斥力が発生 する。その斥力によって隣の点ははじかれ、その隣へと移動し、最初の点は速度を落と す。この動きの連鎖によって密度の伝播を再現する。
6.3 泡質点と泡の流体運動
外力の影響による形状変化と体積維持や、合体、分裂、物体回避の各種運動を再現するた めに、水流と同様、泡を泡質点の集合として扱った。
6.3.1 質点の斥力と体積維持
外力の影響によって泡の形状が変化した際に、泡の体積が維持されるよう泡質点同士 に斥力を持たせた。これにより近くにある泡質点同士は、距離が縮まればその分お互い をはじきあい、体積を維持する。
図6-6
6.3.2 質点の引力と泡の合体
予備調査により、泡に挟まれた部分の水の密度低下による泡同士の引き合いは、泡表 面の代表点同士の引力によって演算した結果とおおまかには変わらないことが分かっ た。そこで泡質点同士に一定距離内で働く引力を設定し、接近した泡の引き合いと合体 を再現した。
図6-7
斥力、引力の働く距離については下図のように接触するほど近い時は斥力を、ある程度 の距離からは引力を、さらに離れた距離では一切力が働かないように設定した。
図6-8
6.3.3 斥力の調整と泡の表面張力
泡の特性として、大きな泡になればなるほど水の表面張力の効果が弱まり、形が崩れ やすくなるという特徴がある。また小さくなるほど水の表面張力の効果が強まり、正球状 の形に近づく。これを再現するため、泡質点同士の斥力を泡のサイズにあわせて調整し た。
図6-9
まず泡のサイズを調べるために、引力によって泡を形成しいている質点の個数を数え る。
図6-10
その質点数に応じて質点の引力を調整した。質点数に比例して引力は小さくなり、外力 に対して分裂しやすくなる特性や、質点数が減少した際に引力が強まり球状の形状に 近づく特性を再現した。
図6-11
6.3.4 泡の浮力
泡はその体積に応じた浮力を持ち、体積が大きい程速い速度で上昇する。上記の表面 張力と同様に集合の泡質点数を数え、浮力に反映させた。
図6-12 図6-11
6.3.5 泡質点と障害物
泡質点も他の質点と同様、障害物とは摩擦なし、非弾性衝突を行う。この際の質点の回 避と浮力による運動によって、水中で物体と衝突した際の泡の形状変化を再現した。
図6-13 6.3.6 運動演算
これら上記の質点運動を単位時間ごとに行い、他の CG オブジェクトの運動と連携して 演算を行うことで水中の泡の動きを再現した。