ケプラーの法則と惑星楕円軌道の数理
真円のドグマを打ち破った楕円幾何学 — 面積速度一定と調和の法則
- 1
- 第1法則(楕円軌道の法則):惑星は太陽を1つの焦点とする楕円軌道を描いて公転する
- 2
- 第2法則(面積速度一定の法則):太陽と惑星を結ぶ動径が単位時間に描く扇形の面積は常に一定(近日点で速く、遠日点で遅い)
- 3
- 第3法則(調和の法則):公転周期の2乗と軌道長半径の3乗の比は、どの惑星でも同一の定数になる()
なぜこれを学ぶのか? — 現実社会とテクノロジーでの価値
なぜ生まれたのか?
17世紀初頭、ヨハネス・ケプラーがティコ・ブラーエの膨大な天体観測データと格闘の末、古代ギリシャ以来2000年間信じられてきた『天体は完全な円運動をするはずだ』という常識を打破して導き出しました。ニュートンが万有引力の法則(逆2乗則)を発見する決定打となった、近代科学革命の原点です。
身につく武器・思考力
楕円の方程式(焦点・離心率)の物理的意味、角運動量保存則の幾何学的表現、力学的直感の向上
実社会・ITでの活躍現場
- •人工衛星や国際宇宙ステーション(ISS)の軌道投入・高度維持制御
- •ハレー彗星や小惑星探査機(はやぶさ2等)の軌道予測と接近タイミング計算
- •太陽系外惑星のトランジット法・視線速度法による質量・公転軌道解析
- •通信衛星のモルニヤ軌道(極地方を高高度で長時間カバーする高離心率軌道)設計
Layer 1 — 直感・シミュレーター
離心率 のスライダーを動かして、地球(ほぼ真円 )から水星()、ハレー彗星のような極端な長楕円()まで軌道の形を変えてみてください。『掃引面積を表示』をONにすると、近日点付近で一気に加速し、遠日点でゆっくり動くケプラーの第2法則が扇形の面積として直感的に理解できます。
太陽からの平均距離(軌道長半径)が地球(1 AU)の4倍である仮想の惑星があるとき、その公転周期は何年になるか?(ケプラーの第3法則 T^2 ∝ a^3)
Layer 2 — 定義・受験・証明
定義
**ケプラーの法則(Kepler's Laws of Planetary Motion)**とは、太陽系内の惑星の運行に関する3つの経験法則であり、逆2乗則の万有引力と中心力場におけるニュートン運動方程式から数学的に導出される。
公式・数理モデル
証明・導出
**角運動量保存則からの第2法則(面積速度一定)の導出** 太陽を原点とし、惑星の位置ベクトルを 、速度を とする。 微小時間 の間に動径ベクトルが掃く微小三角形の面積ベクトル は、外積を用いて:
両辺を で割ると、面積速度は:
ここで、惑星に働く力は太陽方向への万有引力(中心力 )のみであるため、トルク(力のモーメント)は:
質点の角運動量 の時間変化率はトルクに等しいため:
したがって面積速度は:
となり、角運動量保存の必然的結果として面積速度が常に一定であることが証明される(Q.E.D.)。
押さえておきたいポイント
- 中心力(太陽への引力)しか働かないため、軌道は常に同一平面内に保たれ、角運動量が保存される
- 離心率 なら真円、 なら楕円、 なら放物線(脱出)、 なら双曲線軌道になる
- 第3法則により、太陽から遠い惑星(木星や土星)ほど公転周期が長くなるだけでなく、軌道上の平均公転速度自体も遅くなる
本トピックの内容・数理モデルは、文部科学省学習指導要領(算数・数学・情報)および国際標準カリキュラムに準拠し、エンジニアリング現場の実装事例と照らし合わせてMath World Lab編集部により検証・作成されています。
Layer 3 — 工学応用・現場実装
ケプラー方程式の数値解法(ニュートン・ラフソン法)
時刻 から惑星の現在位置を算出するため、超越方程式であるケプラー方程式 をニュートン法で高速数値求解するPythonコードです。
1import numpy as np23def solve_kepler(mean_anomaly, eccentricity, tolerance=1e-8):4 """ケプラー方程式 M = E - e*sin(E) を解いて離心近点角 E を求める"""5 E = mean_anomaly # 初期推定値6 for _ in range(100):7 f = E - eccentricity * np.sin(E) - mean_anomaly8 f_prime = 1.0 - eccentricity * np.cos(E)9 delta = f / f_prime10 E -= delta11 if abs(delta) < tolerance:12 break13 return E1415# 火星の軌道例 (長半径 a = 1.524 AU, 離心率 e = 0.0934)16a = 1.52417e = 0.093418M = np.radians(60) # 近日点通過から平均近点角60度1920E = solve_kepler(M, e)21# 真近点角 theta の算出22theta = 2.0 * np.arctan2(np.sqrt(1 + e) * np.sin(E / 2), np.sqrt(1 - e) * np.cos(E / 2))23r = a * (1 - e * np.cos(E))2425print(f"離心近点角 E: {np.degrees(E):.2f}°")26print(f"真近点角 θ: {np.degrees(theta):.2f}°")27print(f"太陽からの現在距離 r: {r:.4f} AU")
次に学ぶならコレ!おすすめトピック
この単元と深い繋がりを持つ、あわせて学ぶと理解が深まるおすすめ単元