/ 弾性衝突ビリヤード・シミュレーター 戻る
Contact Mechanics Simulator

弾性衝突ビリヤード
シミュレーター

反発係数・重力・摩擦を調整しながら球の衝突を観察。ドラッグで狙いを定めて球を打ち込もう。運動量保存・エネルギー散逸・DEM(個別要素法)の基礎を体感できる。

ドラッグで発射 反発係数 0〜1 重力 ON/OFF 接触力学・DEM基礎

ドラッグで狙いを定めてリリースで発射 / タッチ操作対応

プリセット
パラメータ
反発係数 e0.98
重力 g (m/s²)0.0
摩擦係数0.00
球の半径20
表示
統計
運動エネルギー
0
衝突回数
0
球の数
0
FPS
--
アクション

理論:弾性衝突と反発係数

球-球衝突の速度更新式

等質量 m の2球が衝突するとき、衝突法線方向 n̂(中心間の単位ベクトル)に沿ったインパルスで速度を更新します。

v₁_new = v₁ − (1+e)/2 · [(v₁−v₂)·n̂] · n̂
v₂_new = v₂ + (1+e)/2 · [(v₁−v₂)·n̂] · n̂

e=1(完全弾性衝突)では運動エネルギーが保存され、速度成分が完全に交換されます。e=0(完全非弾性衝突)では法線方向の相対速度がゼロになり、2球は同じ法線速度を持ちます。

壁との反射

壁に垂直な速度成分に反発係数 e を乗じて符号反転します。摩擦がある場合は接線方向速度も减衰します。

DEMへの発展

このシミュレーターの衝突モデルはDEM(個別要素法)の基本です。DEMでは球ではなく任意形状の粒子を扱い、ヘルツ接触モデルや転がり摩擦も加えることで、粉末焼結、砕石機の解析、タブレット打錠プロセスなどをシミュレートします。

💬 反発係数って実は奥が深い?

🧑‍🎓
反発係数 e=1 にすると永遠に跳ね続けるんですか?なんかエネルギーが保存されてるって感じがします。
🎓
シミュレーター上はそうだね。でも現実の球では e は1未満で、必ずエネルギーが熱・音・変形に逃げる。鋼球でも e≈0.85〜0.92 程度で、ガラスビーズで e≈0.94。完全弾性は理想化。
🧑‍🎓
じゃあ e=0.1 の「粘着」モードにすると球がくっつくんですか?ビリヤードと全然違う挙動になりそう。
🎓
くっつきはしないけど、法線方向の速度が急激に消えるから衝突後にほぼ一緒に動く感じになる。これが粉末冶金のシミュレーションで使う「粘着力あり粒子」モデルの出発点だよ。接着力項を追加すれば凝集体形成も再現できる。
🧑‍🎓
ドラッグで球を打つとき、矢印が出て軌道が予測されてますよね。あれって物理計算してるんですか?
🎓
そうだよ。ドラッグ量を初速に変換して、重力加速度で放物線を短時間だけ数値積分してプレビュー表示してる。ゲームエンジンの「軌道ゴースト表示」と同じ原理で、Angry Birdsみたいなゲームにも使われてる技術だ。

2Dビリヤード衝突シミュレーターとは

🧑‍🎓
このシミュレーターで「反発係数」を変えると、何が変わるんですか?
🎓
ざっくり言うと、衝突の「跳ね返り具合」を決めるパラメータだね。上のスライダーで「Coefficient of Restitution」を1.0から0.0に動かしてみて。e=1なら完全に弾む(エネルギー保存)、e=0だと衝突したらくっついて動かなくなるよ。実務では、鋼のボールベアリングの衝突はe=0.9くらい、ゴムボールは0.7くらいだね。
🧑‍🎓
え、そうなんですか!じゃあ「動摩擦係数」のスライダーは、転がりにくさを変えてるってこと?
🎓
その通り!机の上を転がるボールがだんだん止まるのは、この摩擦のせいだ。シミュレーターで「動摩擦係数」を0にすると、球は永遠に滑り続ける理想的な状態になる。逆に大きくすると、すぐに止まっちゃう。自動車のタイヤと路面の摩擦を考えるときも、この考え方が基礎になるんだ。
🧑‍🎓
「重力」のスライダーもあって、0にできるけど…宇宙空間みたいな無重力状態でも衝突は計算できるんですか?
🎓
いいところに気が付いたね!重力を0にすると、球は直進or等速運動だけになる。衝突計算の本質は重力とは独立してるから、無重力空間でのデブリ(宇宙ゴミ)の衝突シミュレーションにも応用できるんだ。実際、このシミュレーターの核心は「個別要素法(DEM)」という、たくさんの粒子の衝突を計算するCAE手法の基礎そのものなんだよ。

物理モデルと主要な数式

等質量の球同士の衝突では、衝突面の法線方向の速度成分だけが変化します。衝突後の速度は以下の式で計算されます(インパルス法)。

$$ \mathbf{v}_1^{new}= \mathbf{v}_1 - \frac{1+e}{2}[ (\mathbf{v}_1 - \mathbf{v}_2) \cdot \hat{\mathbf{n}}] \hat{\mathbf{n}}$$ $$ \mathbf{v}_2^{new}= \mathbf{v}_2 + \frac{1+e}{2}[ (\mathbf{v}_1 - \mathbf{v}_2) \cdot \hat{\mathbf{n}}] \hat{\mathbf{n}}$$

ここで、$\mathbf{v}_1, \mathbf{v}_2$は衝突前の速度ベクトル、$\hat{\mathbf{n}}$は衝突点から球1の中心に向かう単位法線ベクトル、$e$は反発係数です。$e=1$のとき速度が交換され、$e=0$で法線方向の相対速度が0になります。

摩擦による速度の減衰は、速度に比例する減衰力としてモデル化されることが多く、以下の式で近似的に表現できます。

$$ \mathbf{F}_{friction}= -\mu_d mg \, \hat{\mathbf{v}}_{tan}$$

$\mu_d$は動摩擦係数(シミュレーターのパラメータ)、$m$は質量、$g$は重力加速度、$\hat{\mathbf{v}}_{tan}$は速度の接線方向単位ベクトルです。この力が働くことで、球の運動エネルギーが熱などに変換され、最終的に停止します。

実世界での応用

粉体・粒体プロセス:製薬で薬の顆粒を混合する装置や、農業で穀物を運ぶサイロの設計では、無数の粒子の衝突と摩擦が流動性に影響します。DEMシミュレーションで最適な形状や振動条件を探ります。

自動車安全性評価:衝突試験では、車体の変形とともに、ダミー人形や車内の浮遊物(ペットボトルなど)の飛翔挙動が重要です。これらはまさにビリヤード球のような衝突計算で予測されます。

スポーツ工学:ゴルフボールのディンプル形状やテニスラケットのストリング張力は、ボールの反発係数とスピン(摩擦の影響)に直結します。選手に合った用具設計の基礎データとなります。

宇宙機のランデブー・ドッキング:無重力下で宇宙船やロボットアームが接触する際の衝撃と反発を制御するため、接触力学の理解が不可欠です。このシミュレーターの物理がその基礎となっています。