多体重力シミュレーター(N体問題) 戻る
宇宙物理 / 軌道力学

多体重力シミュレーター(N体問題)

星・惑星・小惑星を配置し、重力による軌道運動・衝突・合体をリアルタイム可視化。figure-8軌道・太陽系・連星・銀河プリセット付き。

統計
プリセット
天体タイプ
⭐ 星
🪐 惑星
🌑 小惑星
物理パラメータ
表示オプション
プリセットを選ぶか、キャンバスをクリック/ドラッグして天体を配置してください。重力で軌道・衝突・合体がリアルタイムに進みます。
保存量ライブパネル(シンプレクティック積分)
全エネルギー E = KE+PE
drift 0.0%
総運動量 |p|
drift 0.0%
角運動量 L
drift 0.0%
運動 KE / 位置 PE
速度Verlet(シンプレクティック)+ ソフトニングにより、安定プリセットでは全エネルギーのドリフトはごくわずかに保たれます。
計算結果
0
天体数
0
時間(年)
全エネルギー
最大質量
シミュレーション
天体数: 0
経過時間: 0.00 yr
全エネルギー:
最大質量体:
クリック: 天体配置 / ドラッグ: 初速度付き配置
軌道トレイル(残像) 速度ベクトル 正味の力ベクトル 重心(COM)
理論・主要公式

$$\mathbf{F}_{ij} = G\frac{m_i m_j}{|\mathbf{r}_{ij}|^2}\hat{\mathbf{r}}_{ij}$$

万有引力:\(G = 6.674\times10^{-11}\) N·m²/kg²、\(\mathbf{r}_{ij} = \mathbf{r}_j - \mathbf{r}_i\)

$$\ddot{\mathbf{r}}_i = \sum_{j \neq i} \frac{G m_j}{|\mathbf{r}_{ij}|^2 + \epsilon^2}\hat{\mathbf{r}}_{ij}$$

ソフトニングパラメータ \(\epsilon\):近接時の発散を防止

$$E = \frac{1}{2}\sum_i m_i v_i^2 - \sum_{i<j}\frac{G m_i m_j}{r_{ij}} = \text{const}$$

力学的エネルギー保存:数値精度の検証に使用

多体重力シミュレーター(N体問題)とは

🙋
N体問題って何ですか?太陽と地球みたいな2つの星なら軌道が計算できるって聞いたけど、3つ以上だとどうなるんですか?
🎓
大まかに言うと、3つ以上の天体が重力で引っ張り合う運動は、数学的に答えを公式で書き下せない「カオス」な問題なんだ。2体問題はケプラーの法則で綺麗に解けるけど、3体目が加わると途端に複雑になる。だから、コンピュータで少しずつ未来の位置を計算する「数値シミュレーション」が必須なんだよ。このシミュレーターで「カオス三体」のプリセットを選んで、軌道トレイルをONにすると、予測不能な美しい軌道が見られるぞ。
🙋
え、そうなんですか!でも、銀河みたいに星が何億個もあると、全部の星の重力を計算するのって大変じゃないですか?
🎓
その通り!素直に計算すると、N個の星に対して$N^2$回の計算が必要で、すぐに限界が来る。実務で使われるCAEソフトでは、遠くの星の重力はまとめて近似計算する「Barnes-Hut木法」や「高速多重極法」といった賢いアルゴリズムが使われているんだ。このシミュレーターでも、星をたくさん配置して「力ベクトル」表示をONにすると、星同士が互いに引っ張り合う様子が矢印で見えるよ。その複雑さを実感できる。
🙋
プリセットにある「figure-8軌道」って聞き慣れないです。あの8の字はどうやって発見されたんですか?
🎓
これは面白い話で、2000年になるまで誰も知らなかった、等しい質量の3つの星が描く安定した周期軌道なんだ。理論ではなく、コンピュータシミュレーションで探し当てられたんだよ。このシミュレーターで「figure-8」を選んで、速度ベクトルを表示してみて。各星の速度と受ける力の向きが、絶妙なバランスで8の字を維持しているのがわかる。こういう発見こそ、シミュレーションの醍醐味だね。

よくある質問

はい、可能です。キャンバス上で星や惑星を自由に配置し、初期速度(ベクトル)を設定することで、任意の軌道をシミュレートできます。figure-8軌道などの安定軌道を再現したい場合は、既知の初期条件を参考にすると良いでしょう。
時間刻み幅が大きすぎるか、天体同士が極端に接近した際の計算誤差が原因です。シミュレーション設定で時間刻みを小さくするか、適応的ステップ幅を有効にすることで安定性が向上します。また、質量比が極端な場合も注意が必要です。
デフォルトでは衝突した天体は合体し、質量と運動量が保存された新しい1つの天体になります。合体後の速度は運動量保存則に従って計算されます。設定で衝突時の合体を無効にし、反発させることも可能です。
可能ですが、現実の惑星の質量・軌道半径・初期速度を正確に入力する必要があります。ただし、計算誤差の蓄積により長期間の安定再現は難しいため、短期的な軌道の可視化や力学的な理解を目的とすることをお勧めします。

実世界での応用

天体物理学・宇宙シミュレーション:太陽系の長期的な安定性の調査、小惑星帯の運動、連星系の進化、銀河の形成と衝突など、宇宙の構造を理解するための根本的なツールです。観測データと組み合わせて、ダークマターの分布推定にも用いられます。

宇宙機の軌道設計:地球、月、太陽の重力をすべて考慮した「三体問題」の枠組みは、低エネルギー遷移軌道(例えば、はやぶさ2の往路軌道)の設計に不可欠です。重力アシストの精密な計画にも役立ちます。

CAE(計算支援工学)の基礎技術:N体問題の高速計算アルゴリズムは、分子動力学法(MD)での原子間相互作用、粒子法(SPH)での流体粒子間力、離散要素法(DEM)での粉体粒子の接触力の計算など、多様な分野の数値シミュレーションの基盤技術となっています。

教育と可視化:本シミュレーターのように、複雑な物理現象を直感的に理解し、パラメータを変えて即座に結果を見られることは、物理学や工学の教育において非常に強力な手段です。理論だけでは掴みにくい「カオス」や「安定性」の概念を体感できます。

よくある誤解と注意点

まず、「リアルタイムで動いているから結果は正確」と思いがちですが、それは大きな誤解です。このシミュレーターは、計算速度と可視化のわかりやすさを優先しています。例えば、時間ステップΔtを大きくしすぎると、エネルギーが保存されず、軌道がどんどん膨らんだり、逆に中心に落ち込んだりする「数値的不安定性」が発生します。実務では、惑星の公転周期の1/1000以下のステップを使うなど、現象に合わせた慎重な設定が必要です。

次に、初期条件のわずかな差が結果を大きく変える「カオス性」を軽視しないでください。例えば、地球の位置を1メートルだけずらしてシミュレーションを走らせると、数百年後には軌道が完全に変わってしまう可能性があります。これはシミュレーターのバグではなく、三体問題に内在する本質的な性質です。再現性が必要な実験では、初期条件の値を厳密に記録・管理することが鉄則です。

最後に、「衝突」の扱いについて。このツールでは星が重なると合体しますが、現実の天体衝突はもっと複雑です。単純な合体ではなく、破砕や蒸発、破片の散乱などが起きます。シミュレーターの結果をそのまま現実と解釈するのは危険で、衝突現象を専門に扱う「スペースガード」の分野では、より詳細な物質モデルを用いた別のシミュレーションが必要になります。

使い方ガイド

  1. キャンバスをクリック/ドラッグして天体を配置する(最大20体)。ドラッグの向きと長さが初速になる。「質量」スライダー(1〜500・相対値)で配置する天体の質量、「初速スケール」(0〜50)でドラッグ初速の倍率を決める
  2. 「重力定数 G」(1〜50・相対値)で引力の強さ、天体タイプ(星/惑星/小惑星)で表示と既定質量を切り替える
  3. 「時間刻み dt」(1〜30・相対値)と「速度スケール」(1〜50)で時間発展の精度と速さを調整し、一時停止ボタンで再生/停止する。数値はすべて可視化用の相対値で、実SI単位ではない

具体的な計算例

「太陽系」プリセットを選ぶと、中心に大質量の星(相対質量5000)と3個の惑星が円軌道に近い初速で配置される。重力定数 G を上げると惑星が内側に巻き込まれ、下げると外へ広がる様子が観察できる。「カオス三体」では初期位置のわずかな差で軌道が大きく分岐し、velocity Verlet 積分による全エネルギー(相対値・画面右上)がほぼ一定に保たれることを確認できる。数値はいずれも可視化用の相対値で、実際の天体の質量や速度を表すものではない。

実務での注意点

  1. 「時間刻み dt」「速度スケール」を大きくしすぎると陽的積分の誤差が増え、全エネルギー(相対値)が保存されず軌道が発散する。安定して観察したいときは小さめに設定する
  2. 天体数が増えると相互作用計算は O(N²) で増える(本ツールは最大20体)。実務の大規模N体ではBarnes-Hut木法などの近似法が用いられる
  3. 近接遭遇の数値発散はソフトニング長 ε(固定)で抑制している。衝突は運動量保存で合体する単純モデルであり、現実の破砕・蒸発は表現しない

準拠規格・前提条件

準拠/参考: ニュートンの万有引力 \(\mathbf{F}_{ij}=G\,m_i m_j/|\mathbf{r}_{ij}|^2\,\hat{\mathbf{r}}_{ij}\)。近接特異点を避ける Plummer ソフトニング \(\ddot{\mathbf{r}}_i=\sum_j G m_j\,\hat{\mathbf{r}}_{ij}/(|\mathbf{r}_{ij}|^2+\varepsilon^2)\)。時間積分は速度 Verlet(リープフロッグ、シンプレクティック)。

モデルの前提: 2 次元・点質量・ペアワイズ全相互作用(\(O(N^2)\))。ソフトニング長 \(\varepsilon=8\)。内部は無次元シミュレーション単位(\(G=1\))で、SI の \(G=6.674\times10^{-11}\) は説明上の参考値。

適用範囲・限界: 軌道力学・多体相互作用の定性的理解向けの教育用モデル。シンプレクティック積分により全エネルギーはほぼ保存(有界ドリフト)。相対論・潮汐・恒星進化は非対応。実スケールの数値計算には専用 N 体コードを使用のこと。