3次元剛体運動の理論と シミュレーション技法 Theory and Method for 3-dimensional Rigid Body Simulation 電子制御工学科 西部 満 指導教官 池田 徹之
剛体シミュレーションの利用と モデル化の方法 CAEによる機械の動力学的特性の把握 エンターテイメント等 モデル化手法 拘束条件から運動方程式を求め,予め動きを定める →静的,インタラクティブ性なし ステップ毎に拘束条件を与え,剛体に与える力を計算する →動的,インタラクティブ性あり
よって剛体に働く 力とトルク を定めれば剛体の運動は決定でき, 定義された剛体の状態ベクトルYとその微分 剛体の状態は位置,姿勢,運動量,角運動量で表される その時間微分は力とトルクによって定まる よって剛体に働く 力とトルク を定めれば剛体の運動は決定でき, 定義された剛体の状態ベクトルYとその微分
剛体間衝突のモデル化 バネ・ダンパによる手法(ペナルティ手法) 実装が容易/様々な係数の調節が必要 実装が容易/様々な係数の調節が必要 Brian Mirtichの撃力ベース手法 撃力の計算は数値積分/接触を小さい衝突の連続として扱う/同時多点衝突も1点衝突に分割する David Baraffの撃力と接触力による手法 衝突と接触によって計算方法を変える/基礎理論に反発係数を導入するだけで導出できる
David Baraff による手法
接触と衝突が同一物体に 発生する時の問題点
新しい手法とその解法の提案 衝突と接触を別問題として扱うと問題が生じる →衝突と接触を統一的に扱う必要がある 新しい手法 接触問題に衝突問題も含めた線形相補性問題とする 全て接触扱いにならないように解法アルゴリズムを変更する(よって実際は線形相補性問題の変形となる) その解法アルゴリズムにBaraffの1点衝突モデルを使うが,別のアルゴリズムを導入することも可能→摩擦の導入 実質的なアルゴリズムはより単純になり,実装が容易
解法の詳細
衝突判定 面と辺による衝突判定 お互いの物体同士の面と辺での交点を求め, 交点を衝突点,面の法線を撃力の働く方向とする 利点:凹物体にも対応できる. 頂点以外に余分なデータを必要としない 欠点:特定の衝突判定に失敗する →例外として処理してある程度解決
面と辺による判定で 失敗するパターン
実行結果 1
実行結果 2
結論 Baraffの理論を基にしても,リアルタイムなシミュレーションに十分対応できる. 面と辺による衝突判定は凹凸多面体に関係なく処理できるが,特定の衝突では衝突した面の正しい法線が得られない.