
脱出速度をPythonで計算する|地球の重力を"振り切る"速さ
2026-09-12 ・ 実践
ロケットが地球の重力を完全に振り切って二度と戻ってこないために必要な速度——それが 脱出速度(第二宇宙速度) です。この記事ではPythonで各天体の脱出速度を計算し、軌道速度との関係を確かめます。
脱出速度の式
天体の中心から距離 r での脱出速度は、シンプルな式で決まります。
v_escape = √(2GM / r)
周回に必要な軌道速度 √(GM/r) の √2 倍。つまり「回り続ける」より「振り切る」方が約1.41倍速く飛ぶ必要があります。
準備
pip install numpy
① 各天体の脱出速度
import numpy as np
G = 6.674e-11 # 万有引力定数
bodies = {
"地球": (5.972e24, 6.371e6),
"月": (7.342e22, 1.737e6),
"火星": (6.417e23, 3.390e6),
"木星": (1.898e27, 6.9911e7),
}
for name, (M, r) in bodies.items():
v = np.sqrt(2 * G * M / r)
print(f"{name}: {v/1000:6.2f} km/s")
出力:
地球: 11.19 km/s
月: 2.38 km/s
火星: 5.03 km/s
木星: 60.20 km/s
地球は秒速 11.2km(第二宇宙速度)。月はわずか2.4kmで振り切れる——だから月からの打ち上げは地球よりずっと楽なのです。
② 軌道速度との関係を確かめる
M, r = 5.972e24, 6.371e6
v_orbit = np.sqrt(G * M / r)
v_escape = np.sqrt(2 * G * M / r)
print(f"軌道速度 : {v_orbit/1000:.2f} km/s")
print(f"脱出速度 : {v_escape/1000:.2f} km/s")
print(f"比率(√2?) : {v_escape/v_orbit:.4f}")
比率はぴったり 1.4142(=√2)。周回と脱出の関係が数式どおりに現れます。
第一・第二・第三宇宙速度
第一宇宙速度=地表すれすれの周回速度(約7.9km/s)、第二=脱出速度(約11.2km/s)、第三=太陽系を脱出する速度(約16.7km/s)。数字が上がるほど遠くへ行けます。ボイジャーは第三宇宙速度を超えて太陽系を飛び出しました。
実際はもっと必要
式は「重力だけ」を考えた理想値です。実際の打ち上げは空気抵抗・重力損失があるため、ロケット方程式で見ると必要なΔvはもっと大きくなります。脱出速度は"最低ライン"の目安です。
まとめ
- 脱出速度
√(2GM/r)は重力を振り切る最低速度(第二宇宙速度) - 軌道速度の√2倍。地球は約11.2km/s、月は約2.4km/s
- 天体が軽い・大きいほど振り切りやすい
- 実際は空気抵抗・重力損失でさらに大きなΔvが要る
もう少し詳しく(背景と理論)
脱出速度は v_esc = √(2GM/r) で、運動エネルギーが重力ポテンシャルの井戸を完全に登りきる(全エネルギーがゼロ=放物線軌道になる)条件から導かれます1。円軌道速度 √(GM/r) のちょうど √2 倍という美しい関係があり、地表では約11.2km/s になります2。重要なのは、脱出速度は方向によらないこと(エネルギーはスカラー)と、途中で加速し続けられるなら瞬間的にこの速度に達する必要はないこと。太陽系を離れるにはさらに太陽の重力井戸も脱する必要があり、スイングバイで節約するのが実際の探査機の常道です3。
次の一歩 🌸
周回の軌道速度、燃料計算のロケット方程式、なぜ落ちないかのなぜ衛星は落ちないのかへどうぞ。