ビデオゲーム内で使用される古典力学シミュレーションと物理エンジンのコンテキストでは、衝突応答は、衝突やその他の接触後の 2 つの固体の運動の変化をシミュレートするためのモデルとアルゴリズムを扱います。
剛体接触

力の作用を受ける可能性のある、拘束されていない運動をしている2 つの剛体は、数値積分技術を使用して運動方程式を解くことによってモデル化できます。衝突すると、このような 2 つの物体の運動特性は瞬間的に変化するように見えます。通常、物体は互いに跳ね返ったり、滑ったり、または比較的静的な接触状態に落ち着いたりしますが、これは材料の弾性と衝突の構成によって異なります。
接触力
反発現象、つまり反応の起源は、実際の物体の挙動にまで遡ることができます。実際の物体は、完全に剛体である理想化された物体とは異なり、衝突時にわずかに圧縮され、その後分離する前に膨張します。圧縮段階では、物体の運動エネルギーが位置エネルギーと、ある程度の熱に変換されます。膨張段階では、位置エネルギーが再び運動エネルギーに変換されます。
衝突する2つの物体の圧縮および膨張段階では、各物体は接触点で他方の物体に反作用力を発生させ、ニュートンの作用反作用の原理に従って、一方の物体の反作用力の合計は大きさは同じですが、もう一方の物体の力と方向が反対になります。摩擦の影響を無視すると、衝突は接触法線に沿った速度成分のみに影響し、接線成分は影響を受けないと考えられます。
反応
衝突後に保持される相対的な運動エネルギーの度合いは、反発と呼ばれ、物体の材質の弾性に依存します。2 つの材質間の反発係数は、接触点の接触法線に沿った相対的な衝突後の速度と、同じ法線に沿った同じ点の衝突前の相対的な速度の比としてモデル化されます。 これらの係数は通常、木材とコンクリート、ゴムと木材など、異なる材質の組み合わせについて経験的に決定されます。 の値が0に近い場合は、柔らかい粘土片が床にぶつかるなどの非弾性衝突を示し、1 に近い場合は、ゴムボールが壁で跳ね返るなどの高弾性衝突を表します。 運動エネルギーの損失は、一方の物体が他方の物体に対して相対的です。 したがって、運動量保存の原理に従い、ある共通基準に対する両方の物体の合計運動量は衝突後も変化しません。
摩擦

もう一つの重要な接触現象は表面間摩擦です。これは、接触している 2 つの表面の相対運動、または流体中の物体の相対運動を妨げる力です。このセクションでは、相対的に静的に接触している 2 つの物体の表面間摩擦について説明します。現実の世界では、摩擦は表面の不完全な微細構造によって生じ、突起が互いに噛み合って、表面に接する反力が発生します。
静止接触している 2 つの物体間の摩擦を克服するには、表面を何らかの方法で互いに離す必要があります。動き出すと、表面の親和性度は低下するため、滑り運動している物体は運動に対する抵抗が小さくなる傾向があります。これらの 2 つの摩擦カテゴリは、それぞれ静摩擦と動摩擦と呼ばれます。
加えられた力
これは、ある物体または人によって物体に加えられる力です。加えられる力の方向は、力の加え方によって異なります。
法線力
これは、別の安定した物体と接触している物体に働く支持力です。垂直力は、その作用により表面が押し付けられるため、押圧力と呼ばれることもあります。垂直力は常に物体に向けられ、加えられた力に対して垂直に作用します。
摩擦力
物体が表面を横切るとき、または横切ろうとするときに表面から発生する力です。摩擦力は物体の動きに対抗します。摩擦は、2 つの表面が密着して押し付けられ、2 つの異なる表面の分子間に分子間引力が生じることで発生します。したがって、摩擦は 2 つの表面の性質と、それらが押し付けられる程度によって異なります。摩擦は常に接触している表面と平行に作用し、動きの方向とは反対の方向に作用します。摩擦力は次の式を使用して計算できます。
インパルスベースの接触モデル
時間に依存する力が、一定質量と仮定した物体に時間間隔で作用すると、物体の運動量に変化が生じます。ここで、 は結果として生じる速度の変化です。運動量の変化は衝撃と呼ばれ、 で表され、次のように計算されます。
固定の衝撃 の場合、方程式は、つまり、同じ衝撃を得るためには、より短い時間間隔を、より強い反作用力で補わなければならないことを示唆している。理想化された剛体同士の衝突をモデル化する場合、衝突時間間隔にわたって物体形状の圧縮および膨張段階をシミュレートすることは実用的ではない。しかし、を除くすべての場所で に等しい力を見つけることができ、その限界が
が存在し、 に等しい場合、衝突後の瞬間的な速度変化をシミュレートするために 瞬間的な衝撃の概念を導入することができます。
インパルスベースの反応モデル

衝突期間中の反力の影響は 、瞬間的な反力衝撃によって表され、次のように計算される。
作用反作用の原理から、接触点で最初の物体が 2 番目の物体に適用する衝突衝撃が である場合、2 番目の物体が最初の物体に適用する反作用衝撃は です。接触法線に沿った衝撃の大きさと方向およびその否定への分解により、衝突衝撃によって生じる物体の線速度と角速度の変化を計算する式を導出できます。以降の式では、接触点では常に物体 1 から離れ、物体 2 に向かうものと想定されます。
衝突衝撃の大きさが与えられていると仮定し、ニュートンの運動法則を用いると、物体の衝突前と衝突後の線速度の関係は次のようになる。
ここで、番目の物体の場合、は衝突前の線速度、は衝突後の線速度です。
角速度についても同様に
ここで、番目の物体について、は衝突前の角速度、は衝突後の角速度、はワールド座標系における慣性テンソル、 は質量中心からの 共有接触点のオフセットです。
接触点における物体の 速度は、それぞれの線速度と角速度に基づいて次のように計算できる。
反発係数は、接触点の衝突前の相対速度と接触法線に沿った衝突後の相対速度を次のように 関連付けます。
式(1a)、(1b)、(2a)、(2b)、(3)を式(4)に代入し、反応インパルスの大きさについて解くと、[1]が得られる。
インパルスベースの反応を計算する
したがって、衝突後の線速度と角速度を計算する手順は次のようになります。
- 式(5)を用いて、、、、、、、、、およびに関して反応衝撃の大きさを計算する。
- を使用して、反応インパルス ベクトルをその大きさと接触法線 に関して計算します。
- 式(1a)と(1b)を使用して、古い速度、質量、反応衝撃ベクトルに基づいて新しい線速度を計算する。
- 式(2a)と(2b)を用いて、古い角速度、慣性テンソル、反応力積に基づいて新しい角速度を計算する。
衝撃ベースの摩擦モデル

摩擦を記述する最も一般的なモデルの 1 つは、クーロン摩擦モデルです。このモデルは、静摩擦 係数と動摩擦係数を次のように定義します。これらの係数は、物体に作用する反力の観点から 2 種類の摩擦力を表します。より具体的には、静摩擦力と動摩擦力の大きさは、反力の大きさの観点から次のよう に計算されます。
この値は、比較的静止した物体に作用する外部の合計力の接線成分に対抗するために必要な摩擦力の最大の大きさを定義し、物体を静止状態に維持します。したがって、外部力が十分に大きい場合、静止摩擦ではこの力に完全に対抗できず、その時点で物体は速度を獲得し、滑り速度に対抗する大きさの動摩擦を受けるようになります。
クーロン摩擦モデルは、静的接触にある物体の表面に 1 つの物体が及ぼす力の接線成分が、静的構成が維持されるように、等しく反対方向の力によって打ち消される摩擦円錐を効果的に定義します。逆に、力が円錐の外側に落ちると、静的摩擦が動的摩擦に変わります。
接触点の接触法線と相対速度が与えられれば、に直交する接線ベクトル は次のように定義できる。
ここで、 は物体に作用するすべての外力の合計です。 のマルチケース定義は、接触の一般状態と特殊状態の両方で実際の摩擦力をロバストに計算するために必要です。 非公式には、最初のケースでは、接触法線 に垂直な相対速度成分に沿った接線ベクトルを計算します。 この成分がゼロの場合、2 番目のケースでは、外力 の接線成分に基づいて導出します。 接線速度または外力がない場合、摩擦がないとみなされ、 はゼロベクトルに設定される場合があります。 したがって、は次のように計算されます 。
式(6a)、(6b)、(7)、(8)は、クーロン摩擦モデルを力の観点から記述している。瞬間的な衝撃に対する議論を適応させることにより、クーロン摩擦モデルの衝撃ベースのバージョンを導き出すことができ、接線に沿って作用する摩擦衝撃を反応衝撃に関連付けることができる。衝突時間間隔にわたって(6a)と(6b)を積分すると、次の式が得られる 。
ここで、は接触法線に沿って作用する反作用衝撃の大きさである。同様に、時間間隔を通して一定であると仮定すると、(8)の積分は次式を得る。
式(5)と式(10)は、インパルスベースのシミュレーションに最適なインパルスベースの接触モデルを定義します。このモデルを使用する場合、値が大きいとシステムに追加の運動エネルギーが導入される可能性があるため 、との選択には注意が必要です。
参照
注記
- ^ 物理ベースモデリング入門 (カーネギーメロン大学デビッドバラフロボット工学研究所)
参考文献
- C. Vella、「Gravitas: オブジェクト指向とデザイン パターン駆動のソフトウェア アーキテクチャ原理を使用した拡張可能な物理エンジン フレームワーク」、情報技術修士論文、マルタ大学、Msida、2008 年。
