月と地球の運動
月と地球の運動をPythonを使って3Dで表現してみます。
このコードでは、地球が静止していると仮定し、月の動きのみを描画します。
1 | import matplotlib.pyplot as plt |
このコードは、月の軌道を3Dで描画し、地球を静止して描画します。
月は地球の周りを楕円軌道で回る様子が視覚化されます。
ソースコード解説
コードの各部分を詳しく見ていきましょう:
1. ライブラリのインポート:
import matplotlib.pyplot as plt
: プロット用のMatplotlibライブラリをインポートします。from mpl_toolkits.mplot3d import Axes3D
: 3Dグラフを作成するためのAxes3Dをインポートします。import numpy as np
: 数値計算のためのNumPyライブラリをインポートします。
2. 定数の定義:
G = 6.67430e-11
など、物理定数(万有引力定数など)や天体の質量、初期位置、速度などの値を定義します。
3. 初期条件:
x1, y1, z1
など、地球と月の初期位置を設定します。
4. 速度成分:
vx1, vy1, vz1
など、地球と月の初期速度を設定します。
5. 位置、速度の更新:
for
ループ内で、地球と月の位置および速度を時間ステップごとに計算して更新します。ニュートンの運動方程式と万有引力の法則に基づいて、加速度を計算し、それをもとに速度と位置を更新します。
6. 位置の保存:
- 各ステップでの地球と月の位置を保存するためのリストを作成し、更新された位置をそれぞれのリストに追加します。
7. 3D軌道のプロット:
- 地球と月の位置を元に、3Dグラフを作成します。
fig
とax
を使用して3Dグラフを作成し、plot
メソッドで月の軌道を、plot
メソッドとmarker
を使用して地球を示します。- 軸ラベル、タイトル、凡例を設定しています。
最後に、plt.show()
で作成したグラフを表示します。
このコードは、地球と月の間の引力による運動をシミュレートし、月の楕円軌道を地球の周りにプロットしています。
結果解説
このグラフは、地球と月の間の万有引力を考慮した際の月の軌道を3Dで表現したものです。
青い点が地球を表し、月の軌道がその周りを回る様子が示されています。
地球は固定された位置にあり、月はその周りを楕円軌道で動いています。
月の軌道は、地球に引かれる重力によって決まります。
月が地球から遠ざかるときには引力が弱まり、近づくときには引力が強くなります。
その結果、月は楕円軌道を描きます。
この3Dグラフは、地球を中心に月が回転しながら地球の周りを周回する様子を視覚的に表現しています。
月の軌道が立体的に示されており、空間内での運動がわかりやすくなっています。