プリセット
— プリセット選択 —
太陽系(太陽+3惑星)
連星+惑星
ランダム星団
三体カオス(不安定軌道)
Figure-8(安定三体解)
銀河(多数小質量)
プリセットを選ぶか、キャンバスをクリック/ドラッグして天体を配置してください。重力で軌道・衝突・合体がリアルタイムに進みます。
保存量ライブパネル(シンプレクティック積分)
—
全エネルギー E = KE+PE
drift 0.0%
速度Verlet(シンプレクティック)+ ソフトニングにより、安定プリセットでは全エネルギーのドリフトはごくわずかに保たれます。
天体数: 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メートルだけずらしてシミュレーションを走らせると、数百年後には軌道が完全に変わってしまう可能性があります。これはシミュレーターのバグではなく、三体問題に内在する本質的な性質です。再現性が必要な実験では、初期条件の値を厳密に記録・管理することが鉄則です。
最後に、「衝突」の扱いについて 。このツールでは星が重なると合体しますが、現実の天体衝突はもっと複雑です。単純な合体ではなく、破砕や蒸発、破片の散乱などが起きます。シミュレーターの結果をそのまま現実と解釈するのは危険で、衝突現象を専門に扱う「スペースガード」の分野では、より詳細な物質モデルを用いた別のシミュレーションが必要になります。
準拠規格・前提条件
準拠/参考: ニュートンの万有引力 \(\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 体コードを使用のこと。