【物理シミュレーションに挑戦!】古典力学
斜面を転がる剛体球運動の計算アルゴリズム9:斜面との衝突する剛体球(回転あり)
本項は古典力学の様々な系の物理現象を解析的に扱うのではなく、数値計算による物理シミュレーションを実行するために必要な計算アルゴリズムを示すことを目的とします。
様々な初期条件に対する物理シミュレーションを実現するために、最も汎用的な直交座標系を用います。
・斜面を転がる剛体球運動の計算アルゴリズム1:摩擦力無しの場合
・斜面を転がる剛体球運動の計算アルゴリズム2:摩擦力無しの場合の例(曲面上の運動)
・斜面を転がる剛体球運動の計算アルゴリズム3:静止摩擦力のみの場合
・斜面を転がる剛体球運動の計算アルゴリズム4:静止摩擦力のみの場合の例(曲面上の運動)
・斜面を転がる剛体球運動の計算アルゴリズム5:滑りながら転がる剛体球
・斜面を転がる剛体球運動の計算アルゴリズム6:滑りながら転がる剛体球(曲面上の運動)
・斜面を転がる剛体球運動の計算アルゴリズム7:空気抵抗力と転がり摩擦抵抗力
・斜面を転がる剛体球運動の計算アルゴリズム8:斜面との衝突する剛体球(回転なし)
・斜面を転がる剛体球運動の計算アルゴリズム9:斜面との衝突する剛体球(回転あり)
・斜面を転がる剛体球運動の計算アルゴリズム10:剛体球同士の衝突(回転なし)
・斜面を転がる剛体球運動の計算アルゴリズム11:複数剛体球の同時衝突(回転なし)
・斜面を転がる剛体球運動の計算アルゴリズム12:接触中の剛体球に衝突した場合(回転なし)
・斜面を転がる剛体球運動の計算アルゴリズム13:剛体球同士の衝突(回転あり)
・斜面を転がる剛体球運動の計算アルゴリズム14:固定された剛体球に衝突した場合(回転あり)
・斜面を転がる剛体球運動の計算アルゴリズム15:力学的エネルギー保存則を満たした斜面との衝突(回転あり)
・斜面を転がる剛体球運動の計算アルゴリズム16:力学的エネルギー保存則を満たした剛体球同士の衝突(回転あり)
前項では回転を無視した斜面との衝突を行う剛体球のシミュレーションを行いました。本項では回転も考慮した場合の衝突時の計算アルゴリズムを示します。
衝突力の計算アルゴリズム
回転している剛体が斜面と衝突した場合、回転による斜面との摩擦で剛体の重心運動に推進力が与えられます。また、同時にその推進力は回転を弱めるトルクとして作用することになります。この推進力の正体は摩擦力なので、剛体球に静止摩擦力あるいは動摩擦力が働くことになります。斜面を滑りながら転がる場合と異なるのは、剛体球が斜面を押す力が垂直抗力から前項で示した衝突力となる点です。このことを踏まると、推進力は回転運動が重心運動と一致しているかを判定する判別式 (「滑りながら転がる剛体球」を参照下さい)の単位ベクトルを用いて
と表されます。上段が静止摩擦力、下段が動摩擦力です。なお、どちらの摩擦力が適用されるかは「滑りながら転がる剛体球」の議論と同じとなります。下図は回転する剛体球に加わる力です。
重心運動と回転運動に対する運動方程式
衝突力、回転による推進力を加えた運動方程式は次のとおりです。衝突の瞬間のみに適用されます。
斜面と衝突する剛体球のシミュレーション
次のグラフィックスは傾いた斜面に回転させた剛体球を衝突させたシミュレーションです。 剛体の回転が推進力を与える様子が確認できます。
曲面と衝突する剛体球のシミュレーション
次のグラフィックスは曲面回転させた剛体球を衝突させたシミュレーションです斜面との接触時には従来の斜面を滑りながら転がります。