キャンバスをドラッグして投球 / 軌跡を保存して比較 / コマ送り・速度変更・一時停止でじっくり観察
反発係数 e(はねかえり係数)は衝突前後の「離れる速さ / 近づく速さ」の比です。完全弾性衝突(e=1)ではエネルギーが完全に保存され、永遠に同じ高さまで跳ね返ります。実際のボールはe<1のため、衝突のたびにエネルギーが熱・音・変形に変換されて失われます。
跳躍高さの減衰:初期高さ h₀ から落下した球の n 回目の跳躍高さは h₀ × e²ⁿ です。e=0.75 なら 5 回後は h₀ の約 24%、10 回後は約 5.6% になります。
床摩擦 μは跳ね返り時に水平速度 vₓ を (1-μ) 倍に減衰させます。スライダーを動かして「滑る床」と「ざらざら床」の違いを体感してください。
ボール同士の衝突には等質量の弾性衝突式を適用しています。反発係数 e は壁・球-球衝突の両方に適用されます。
このシミュレーションの核心は、衝突時の速度変化を規定する「反発係数の定義式」です。
$$ e = - \frac{v'_{\text{after}}- v'_{\text{floor}}}{v_{\text{before}}- v_{\text{floor}}}$$ここで、$e$は反発係数、$v_{\text{before}}$と$v'_{\text{after}}$は衝突直前と直後のボールの垂直速度成分、$v_{\text{floor}}$は床の速度(通常は0)です。$e=1$でエネルギー保存、$e<1$でエネルギーが損失します。
n回目の衝突後の最大到達高さ$h_n$は、初期高さ$h_0$と反発係数$e$を用いて次のように表せます。
$$ h_n = h_0 \cdot e^{2n} $$これは、衝突のたびに垂直方向の速度が$e$倍になり、高さが速度の2乗に比例する($h \propto v^2$)ことから導かれます。eが1より小さい場合、高さは指数関数的に急激に減少します。
スポーツ用具の設計:テニスボールやバスケットボールの反発係数(e)は規定されており、プレーの公平性とパフォーマンスを保つために精密に設計・テストされます。シミュレーターでeを変えながら跳ね方を観察することは、その基礎理解に直結します。
自動車の衝突安全解析:車両衝突時の乗員保護では、車体の変形(エネルギー吸収)が重要です。これは一種の「非弾性衝突」(e<1)モデルで解析され、シミュレーターでeを小さくすると跳ね返らずに止まる現象がその基礎となります。
物流・梱包設計:精密機器を輸送する際の緩衝材(発泡スチロールなど)は、衝撃を和らげる役割があります。これは反発係数を意図的に小さくし(e→0)、落下時の衝撃力を製品に伝わりにくくする応用です。
建築・床材の設計:床の摩擦係数(μ)は安全設計の基本です。小学校の廊下とスケートリンクでは必要なμが全く異なります。シミュレーターでμと「風(横力)」を調整すると、滑りやすさと転倒リスクの関係を体験的に学べます。
このシミュレーターを使い始める際に、特に初心者の方が陥りがちなポイントがいくつかあります。まず一つ目は、「反発係数 e は材質だけで決まる定数ではない」という点です。確かにゴムボールと粘土では大きく違いますが、同じボールでも衝突速度や温度によって変化します。例えば、極端に速い速度で衝突すると、材料が変形しきれずにeが低下することがあるんです。シミュレーターでは単一の値として設定しますが、実世界では条件依存であることを頭に入れておきましょう。
二つ目は、摩擦係数μの「動摩擦」と「静止摩擦」の混同です。このツールでモデル化されているのは、主にボールが転がりながら減速する際の「動摩擦」に近い現象です。しかし、ボールが滑らずに転がり始めるためには、より大きい「静止摩擦係数」が必要な場合があります。μを0にしてもボールが横にずれないのは、このモデルが「純粋な転がり」を簡略化して表現しているからです。実務ではこの違いが機械の起動トルクを決めるカギになります。
最後に、「風(横力)」のパラメータの解釈について。これは現実の風そのものというより、ボールに横方向の初期速度を与えたり、等しい力が継続的に加わっている状況を再現しています。実際の空気抵抗は速度の2乗に比例するなど非線形で、もっと複雑です。シミュレーターで「風」を強くしてもボールが無限に加速しないのは、摩擦力が最終的に風の力とつり合うからで、これは終端速度の概念を理解する良い例です。
この一見シンプルな球の運動シミュレーションは、実は様々な高度な工学分野の基礎そのものです。まず挙げるのはロボティクス、特にモバイルマニピュレーションです。ロボットアームが物体を把持して置く(ピック&プレイス)動作では、物体が転がったり跳ねたりしない制御が必須。そのためには、把持面と物体の間の摩擦係数や、置く瞬間の微小な反発を正確に見積もる必要があり、ここでの学習が直結します。
次に粒子法シミュレーション(DEM: 離散要素法)です。これは砂、粉体、薬の錠剤など、無数の粒子の集合体の挙動を解析する手法。一つ一つの粒子の衝突を、まさにこのシミュレーターのように反発係数eと摩擦係数μでモデル化し、大量に計算することで、土砂崩れやサイロ内の粉の流れ、さらにはチョコレートのコーティングプロセスまで再現できます。パラメータ設定の感覚を養うことは、こうしたマルチボディダイナミクス解析の第一歩です。
さらにスポーツ工学も重要な応用分野。ゴルフボールのディンプル形状は空気抵抗(風)と揚力を、テニスラケットのストリング張力やガット素材はボールの反発特性とスピン(摩擦の影響)を最適化するために研究されています。シミュレーターで「e」と「μ」と「風」をいじる体験は、これらの複雑な相互作用を要素分解して理解する基礎訓練になります。
このツールに慣れてきたら、次は「なぜそのような式になるのか?」という原理の深掘りがおすすめです。まずステップとして、エネルギーと運動量の視点を明確に区別してみてください。反発係数e=1の衝突では運動エネルギーが保存されますが、e<1では失われます。この失われたエネルギーはどこへ行くのか? それは、ボールや床の変形(塑性変形)や、発熱、音エネルギーなどに変換されます。数式で言えば、衝突前後の運動エネルギーの差 $\Delta KE = \frac{1}{2}m(v_{\text{before}}^2 - v_{\text{after}}^2)$ が、その損失分です。
もう一つの発展的なテーマは「転がり抵抗」のモデル化です。このシミュレーターでは、摩擦力が速度に依存しない単純なモデルを使っていますが、実際の転がり抵抗には、車輪の転がり摩擦係数や、ボールの変形によるヒステリシス損失など、より詳細なモデルがあります。次の学習トピックとしては、斜面を転がり落ちる球の加速度が、なぜ重力加速度gより小さくなるのかを、並進運動と回転運動のエネルギー配分から計算してみると、剛体の回転運動学への良い橋渡しになります。
最終的には、これらの要素を統合した「物理エンジン」の基礎概念を学ぶと、ゲームやCG、先述した工学分野のシミュレーションがどう動いているのかが見えてきます。物理エンジンは、まさに複数の物体について、重力、衝突(反発係数)、摩擦、風(外力)を、微小な時間ステップごとにこのツールと同様の計算を繰り返し、全体の動きを決定しているのです。まずはこのツールで一つ一つのパラメータが及ぼす影響を体感したあなたは、その複雑系を理解する強固な土台を既に手に入れています。