小さな軌道の重力は本物か:二体問題を簡単にした計算
遊びを見つける執筆にClaudeを使用しています。

「小さな軌道」で、点線の予測を見ながら初速をほんの少し上げる場面を考えてみます。曲がり方がゆるくなり、軌道はゲートの外側を通り過ぎます。逆に少し下げると、星に引き込まれるように内側へ曲がります。この手応えは「重力らしい」と感じられますが、画面の中の重力が教科書の重力と同じ式で動いているかどうかは、画面からは分かりません。 この記事の問いは、「本物の重力か」を「何が本物で、何が省略されうるのか」に分けて確かめることです。結論を先に言うと、確認済みの範囲で言えるのは、このゲームが「発射角度と初速を決め、引力で曲がる軌道でゲートを目指す」設計であることまでです。内部の式や定数は確認事項にありません。そこで、一般に知られる二体問題の性質と照らし合わせ、作品を開いて自分で確かめる手順を示します。
「本物」を三つに分けて考える
「重力は本物か」という問いは、次の三つに分けると答えやすくなります。
- 星に向かって引かれて曲がるか、確かめる手がかり:確認済み(引力で曲がる軌道)
- 引力が距離の2乗に反比例するか(逆二乗則)、確かめる手がかり:作品内の挙動から推測するしかない
- 現実の天体で起きる他の効果まで含むか、確かめる手がかり:含まない可能性が高いが、作品を開いて確かめる
一つ目は作品の説明どおりです。二つ目の逆二乗則は、ニュートンの万有引力の式に出てくる性質で、距離が2倍になると引力は4分の1になります。この法則のもとでは、軌道は円・楕円・放物線・双曲線のいずれかになります。ケプラーの法則はこの結果として説明できます。
三つ目の「他の効果」には、別の天体からの引力(三体以上の相互作用)、大気抵抗、天体の自転や形のゆがみ、相対性理論の補正などがあります。小さなゲームが全部を扱うとは考えにくいものの、扱っているかどうかは作品を開いて挙動で確かめる事柄です。ここで断定はしません。
二体問題はなぜ簡単にできるのか
二つの天体が互いの引力だけで動く問題を、二体問題と呼びます。この問題は、数式で軌道の形を完全に書き下せる数少ない重力の問題です。
もとの問題では、二つの天体がどちらも動き、共通の重心のまわりを回ります。ところが片方が圧倒的に重いと、重心はその重い天体のすぐ近く(月と地球の組み合わせでも、重心は地球の内部にあります)になります。そのため「重い星は動かず、軽い物体だけが動く」と近似しても、軌道の形はほとんど変わりません。ロケットや探査機の軌道を考える場面でも、よく使われる近似です。
この近似を採ると、計算は次のように短くなります。
- 星を原点に固定します。
- 物体の位置から星までの距離 r を求めます。
- 引力の加速度は大きさ GM/r² で、向きは星の方向です。
- 加速度から速度を、速度から位置を少しずつ更新します。
この更新を繰り返す方法を数値積分と呼びます。変数は位置と速度だけなので、「角度と初速を決める」というゲームの操作とそのまま対応します。
この近似の下で、覚えておくと便利な目安が二つあります。同じ距離 r から測ると、円軌道になる初速を v とするとき、脱出して戻ってこない最小の初速はその √2 倍(約1.41倍)です。初速がその間なら楕円軌道になります。
作品を開いて確かめる実験設計
ここからは、読者が自分で行う確認の手順です。結果はここでは書きません。やって初めて分かることです。
問い
「小さな軌道」の軌道は、逆二乗則で動く二体問題の性質と矛盾しないか。
準備するもの
- 「小さな軌道」を開いた端末(ログイン不要)
- メモ用の紙か表計算
- 3つの星系のうち、比較に使う一つ(まず一つに絞ります)
手順
- 星系を一つ選び、発射角度を固定します。以後、角度は変えません。
- 全軌道予測(点線)を表示した状態で、初速だけを少しずつ変えます。変えるたびに、点線の形を記録します。「ゲートの手前で星に近づく」「大きく外へ膨らむ」「閉じた輪に近い」といった言葉で十分です。
- 実際に発射し、前回の軌道(細い実線)と今回を見比べます。点線と実際の軌道が重なるかを確認します。
- 予測を消して同じ初速で発射し、点線ありの場合と軌道が同じ形になるかを見ます。
- 初速を一段階ずつ上げ、点線が「閉じた輪から開いた曲線へ変わる境目」の付近を探します。その境目を記録します。
- 発射位置が星から同じ距離なら、円軌道に近い初速と、境目の初速を比べます。比が1.41前後になるかを見ます。
記録の取り方
初速の設定値、角度、点線の形の言葉、実際の軌道が点線と一致したか(はい/いいえ)を、1回の発射につき1行で記録します。同じ設定を2〜3回繰り返し、毎回同じ軌道になるかも確認します。軌道のぶれの有無は、乱数が混ざっているかを見分ける手がかりになります。
結果の読み方
- 同じ設定で必ず同じ軌道になれば、決まった規則で動いています。
- 点線と実際の軌道が重なれば、予測表示は実際の運動と同じ計算を使っていると読み取れます。ずれる場合は、予測に簡略化があるか、障害物など別の要素が加わっている可能性があります。
- 閉じる/開く境目の比が1.41前後なら、二体問題の逆二乗則に近い設計だと読み取れます。大きく外れても、それだけで誤りとは言えません。ゲーム用に引力の式を調整している可能性や、発射位置の距離が揃っていない可能性があります。
- 星が動くかどうかも観察します。星が固定されたままなら、前節の近似を採っていると読めます。
起こりやすい誤り
- 発射位置が星系ごとに違うのに、星系をまたいで初速を比べてしまうこと。比較は同じ星系の中で行います。
- 画面の拡大や縮小で、見かけの曲がり方が変わったと誤認すること。画面サイズを変えるときは、前後の条件を揃えます。
- 1回の観察で結論を出すこと。繰り返して初めて、規則かどうかが分かります。
手元で数値積分を動かしてみる
作品の中身を知らなくても、前節の「円軌道の初速とその√2倍」は自分で確かめられます。ブラウザの開発者ツールのコンソールに貼り付けると動く、最小の例です。星の質量と万有引力定数の積(GM)を1、発射位置を星から距離1の点としています。
function run(v, steps = 20000, dt = 0.001) {
let x = 1, y = 0, vx = 0, vy = v;
let rmin = 1, rmax = 1;
for (let i = 0; i < steps; i++) {
const r = Math.hypot(x, y);
const a = -1 / (r * r * r); // GM = 1、a*x が加速度の x 成分
vx += a * x * dt;
vy += a * y * dt;
x += vx * dt;
y += vy * dt;
const rr = Math.hypot(x, y);
rmin = Math.min(rmin, rr);
rmax = Math.max(rmax, rr);
}
return { rmin, rmax };
}
console.log(run(1.0), run(0.8), run(1.2), run(1.5));読み方は次のとおりです。
- 初速1.0は、この単位では円軌道の速さです。最小距離と最大距離がほぼ等しければ、円に近い軌道です。
- 0.8と1.2は楕円になるはずです。最小距離と最大距離の差が開いているかを見ます。
- 1.5は脱出速度(約1.41)を超えます。最大距離が大きく伸びていれば、星から離れていく軌道です。
- 刻み幅 dt を10倍にして同じ計算を行うと、数値の誤差で軌道がずれます。誤差の出方も見てください。
このコードでは、速度を先に更新してから位置を更新しています。この順序は誤差が溜まりにくいことが知られている方法です。順序を逆にして比べると、違いが分かります。
省略しても遊びが成立する理由
ここからは、確認済みの機能から読み取れる設計の話です。内部の実装については何も言えないので、「こう読める」という範囲にとどめます。
操作が二つに絞られています。 決めるのは発射角度と初速だけです。二体問題では、この二つ(と発射位置)で軌道の形が決まります。三体以上だと、わずかな違いが結果を大きく変えて予測しにくくなりますが、二体なら「少し変えると少し変わる」という手応えが保たれます。省略したものが、遊びの納得感を支えていると読めます。
予測が見えます。 全軌道予測(点線)があり、前回の軌道(細い実線)も残ります。点線で見込みを立て、実線で結果を確かめ、前回との差から次の調整を決める流れが、画面の上に用意されています。式を知らなくても、観察から直感を育てられる作りです。
難しさを選べます。 予測を消して挑むこともできます。点線なしでは、さきほどの「初速と軌道の関係」を頭の中に持っていなければなりません。省略した物理を、遊ぶ側が自分の経験で補う遊び方です。
やり直しの負担が軽いです。 一時停止から同じ位置で再開でき、最速記録はプレイ中だけ残ります。失敗を重ねても、試行錯誤の損失が小さい設計です。
物理の厳密さより、読み取れることを優先しているように見えます。 現実の宇宙には、他の天体の影響や、時間のかかる長距離の移動があります。それらを省いても、「引かれて曲がる」「速いほど遠くへ行く」という中心の感覚は残ります。ただし、実際にどこまで省いているかは、前節の実験で確かめてください。
あわせて、この作品は独立したHTMLで外部通信なしに動き、「動きを抑える」設定にも対応しています。動きの多い軌道表示を落ち着いて確かめたい場合は、この設定も試せます。
次の行動
「小さな軌道」を開き、角度を固定して初速だけを変える実験を、まず1つの星系で10回ほど行ってください。その後、コンソールに上のコードを貼って、円軌道と脱出の目安を数字で見比べてみてください。ゲームの軌道と数値積分の軌道が似ていれば、二体問題の考え方で遊びを読み解けています。
参考資料
- 高校物理の教科書(万有引力、円運動、惑星の運動の単元)
- ケプラーの法則とニュートンの万有引力の法則に関する一般的な力学の入門書

