3つの相互作用する天体の動きをモデル化した力学の難問「三体問題」をシミュレーションするとこうなる

3つの相互作用する天体の動きをモデル化した力学の難問「三体問題」をシミュレーションするとこうなる - 画像


三体問題とは、古典力学において重量相互作用する3つの質点がどのような運動をするか問う問題で、天体力学の分野では万有引力によって相互作用する天体の運動をモデル化した問題として18世紀ごろから研究されています。「太陽、地球、月」に代表される恒星・惑星・衛星系の運動や、3つの星が釣り合いの取れたラグランジュ点、3つのランダムな質量の星が自由軌道で動いた場合など、三体問題をシミュレーションできるのが「Three Bodies」です。
Three Bodies
https://three-bodies.sulami.xyz/
ページを開くと、色と大きさの違う3つの点が現れました。点はそれぞれ自由な軌道で移動しています。各点には「m」と「v」という数字がついており、m(mass、質量)は点の質量、v(velocity、速さ)は点が動く速さを表しています。

3つの相互作用する天体の動きをモデル化した力学の難問「三体問題」をシミュレーションするとこうなる - 画像


それぞれの点は基本的に一定の速度でまっすぐ動いていますが、2つの点が接近するとお互いが引かれ合うようにして軌道が変化します。単体で移動している際の緑の点の速度は「0.39」だったのですが、以下の画像では「0.75」と倍近くまで増加しており、点同士が引き合うことで速度も変化していることがわかります。これが、それぞれの点には万有引力が働いており、引力がそれぞれの軌道に影響を与えるという三体問題を表しているというわけ。

3つの相互作用する天体の動きをモデル化した力学の難問「三体問題」をシミュレーションするとこうなる - 画像


緑と黄色の点はお互いに引き合ってぶつかった結果、「COLLISION(衝突)」と表示されてアニメーションは停止。Three Bodieは、3つの自由軌道で動く大きさの違う星が、衝突してしまうまでをシミュレーションしています。

3つの相互作用する天体の動きをモデル化した力学の難問「三体問題」をシミュレーションするとこうなる - 画像


クリックもしくはスペースキー、スマートフォンの場合は画面をタップすることで、新しい3つの星が新しく現れます。今度は、大きさの近い緑の点が2つ、その約半分の質量である水色の点が1つ。

3つの相互作用する天体の動きをモデル化した力学の難問「三体問題」をシミュレーションするとこうなる - 画像


2つの点が近づくと引かれ合って軌道が変化します。以下の赤枠で示しているように、どちらの点も軌道が変化しているものの、小さい水色の点は大きく曲がっているのに対し、緑色の点の軌道はわずかに変化しているのみ。質量によって引力の大きさと引力の受けやすさが異なるため、同じ動きをするわけではありません。また、1回目のシミュレーションでは近い位置にあったためすぐに2個の点が衝突しましたが、引き寄せ合う力は軌道を変更させるのみで、そのまますれ違ってまた一定速度の運動を続ける場合が多い様子。

3つの相互作用する天体の動きをモデル化した力学の難問「三体問題」をシミュレーションするとこうなる - 画像


質量の差が大きいせいか、小さい水色の点は緑色の点が接近すると敏感に反応します。中には、くるりと円を描いてターンする場面もありました。

3つの相互作用する天体の動きをモデル化した力学の難問「三体問題」をシミュレーションするとこうなる - 画像


2つの点が近づくとわずかに軌道に影響し合う程度ですが、3つの点が近づくと、それぞれが他2つの引力に影響を受けるため、複雑な変化を見ることができます。

3つの相互作用する天体の動きをモデル化した力学の難問「三体問題」をシミュレーションするとこうなる - 画像


しかし、接近した後はそれぞれの軌道に戻って直線運動を再開。少なくともこの3つの点では、釣り合いがとれて軌道が安定することはなさそう。

3つの相互作用する天体の動きをモデル化した力学の難問「三体問題」をシミュレーションするとこうなる - 画像


結果として、画面の上部で最も大きい緑の点と小さい水色の点が衝突し、シミュレーションは終了しました。

3つの相互作用する天体の動きをモデル化した力学の難問「三体問題」をシミュレーションするとこうなる - 画像


Three Bodieはリトライするたびに違う質量、配置、軌道を設定された3つの点をシミュレーションで見ることで、星の軌道と引力についての理解をシンプルなアニメーションで深めることができます。
Three BodieのコードはGitHubに公開されています。
GitHub - sulami/three-bodies: Three body simulation in Wasm
https://github.com/sulami/three-bodies

3つの相互作用する天体の動きをモデル化した力学の難問「三体問題」をシミュレーションするとこうなる - 画像


ジャンルで探す