【物理シミュレーションに挑戦!】古典力学
斜面を転がる剛体球運動の計算アルゴリズム4:静止摩擦力のみの場合の例(曲面上の運動)
本項は古典力学の様々な系の物理現象を解析的に扱うのではなく、数値計算による物理シミュレーションを実行するために必要な計算アルゴリズムを示すことを目的とします。
様々な初期条件に対する物理シミュレーションを実現するために、最も汎用的な直交座標系を用います。
・斜面を転がる剛体球運動の計算アルゴリズム1:摩擦力無しの場合
・斜面を転がる剛体球運動の計算アルゴリズム2:摩擦力無しの場合の例(曲面上の運動)
・斜面を転がる剛体球運動の計算アルゴリズム3:静止摩擦力のみの場合
・斜面を転がる剛体球運動の計算アルゴリズム4:静止摩擦力のみの場合の例(曲面上の運動)
・斜面を転がる剛体球運動の計算アルゴリズム5:滑りながら転がる剛体球
・斜面を転がる剛体球運動の計算アルゴリズム6:滑りながら転がる剛体球(曲面上の運動)
・斜面を転がる剛体球運動の計算アルゴリズム7:空気抵抗力と転がり摩擦抵抗力
・斜面を転がる剛体球運動の計算アルゴリズム8:斜面との衝突する剛体球(回転なし)
・斜面を転がる剛体球運動の計算アルゴリズム9:斜面との衝突する剛体球(回転あり)
・斜面を転がる剛体球運動の計算アルゴリズム10:剛体球同士の衝突(回転なし)
・斜面を転がる剛体球運動の計算アルゴリズム11:複数剛体球の同時衝突(回転なし)
・斜面を転がる剛体球運動の計算アルゴリズム12:接触中の剛体球に衝突した場合(回転なし)
・斜面を転がる剛体球運動の計算アルゴリズム13:剛体球同士の衝突(回転あり)
・斜面を転がる剛体球運動の計算アルゴリズム14:固定された剛体球に衝突した場合(回転あり)
・斜面を転がる剛体球運動の計算アルゴリズム15:力学的エネルギー保存則を満たした斜面との衝突(回転あり)
・斜面を転がる剛体球運動の計算アルゴリズム16:力学的エネルギー保存則を満たした剛体球同士の衝突(回転あり)
静止摩擦力のみが働く球面上を運動する剛体球
前項では斜面を転がる計算アルゴリズムの導出を行いました。しかしながら、運動方程式は斜面に限らず任意の曲面上を転がる場合でも成り立ちます。本項では、曲面の例として「滑る」場合と同じ半球内の内面を滑る剛体球の計算アルゴリズムの導出を行います。
重心運動の制約条件
重心運動に対する制約条件は前前項で示した「滑る」場合と同じです。この条件を運動方程式に課すことで垂直抗力を導くわけですが、 「滑る」場合と導出過程で異なるのは途中で の項が加わることです。しかしながら、摩擦力は法線ベクトル方向成分を持たないためゼロとなり、結果として「滑る」場合と全く同じ表式となります。つまり、垂直抗力は
となります。
回転運動の制約条件
回転運動に対する制約条件に重心運動の制約を加えて、摩擦力を導きます。法線ベクトルが重心位置と
の関係がある点に注意して運動方程式をについて解くと、斜面の際と全く同じ表式
が得られます。
この垂直抗力と摩擦力をを運動方程式に代入し、位置ベクトルと角度ベクトルに関する微分方程式を数値的に計算することで運動のシミュレーションを行うことができます。
曲面を転がる剛体球のシミュレーション
次の物理シミュレーションは、半径と初速度を変化させた剛体球を運動させた結果です。無事、半球状を回転しながら運動します。
実は先の計算アルゴリズムは、球面に接する運動であれば逆さまでも成り立ちます。つまり、剛体球の初期条件を変更するだけで次のようなシミュレーションも可能となります。
物理シミュレーションについては「HTML5による物理シミュレーション」を参照ください。 数式の表示は「Tex表記によるHTML文書への式の埋め込み」をご覧ください。