2026. szeptember 5., szombat

Föld pályáamódositások python programmal

A Naptól való távolsága az év során folyamatosan változik.
Keringési idő: 365 nap és 6 óra (egy év), nyugatról kelet felé. [
Átlagos távolság: Kb. 149,6 millió kilométer (1 Csillagászati Egység).  
Napközel (Perihélium):Január elején van.Távolsága ekkor a legkisebb: kb. 147,1 millió kilométer. Naptávol (Aphélium):Július elején van.Távolsága ekkor a legnagyobb: kb. 152,1 millió kilométer
-----------
import matplotlib.pyplot as plt
import numpy as np

# --- 1. Csillagászati állandók beállítása ---
# Félnagytengely (a) csillagászati egységben (CsE) - a Föld-Nap átlagos távolsága
a = 1.0

# A Föld pályájának excentricitása (e) - a pálya elnyújtottsága
e = 0.016708


# --- 2. A pálya egyenletének kiszámítása ---
# Létrehozunk 360 pontot (szöget) 0 és 2*pi radián között
theta = np.linspace(0, 2 * np.pi, 360)

# Kepler-féle pályáegyenlet polaris koordinátákban: r(theta)
# r a Nap és a Föld közötti aktuális távolság a theta szög függvényében
r = (a * (1 - e**2)) / (1 + e * np.cos(theta))


# --- 3. Polaris koordináták átváltása Descartes-féle (X, Y) koordinátákra ---
x = r * np.cos(theta)
y = r * np.sin(theta)


# --- 4. Grafikoni megjelenítés ---
plt.figure(figsize=(8, 8))

# A pálya kirajzolása
plt.plot(x, y, "b-", label="A Föld pályája", linewidth=2)

# A Nap elhelyezése a fókuszpontban (origó: 0,0)
plt.plot(0, 0, "yo", markersize=15, label="Nap")

# Nevezetes pontok jelölése (Perihélium és Afélium)
# Perihélium (napközelpont): theta = 0 -> r = a * (1 - e)
plt.plot(a * (1 - e), 0, "ro", label="Perihélium (Napközel)")
# Afélium (naptávolpont): theta = pi -> r = a * (1 + e)
plt.plot(-a * (1 + e), 0, "go", label="Afélium (Naptávol)")

# Grafikon testreszabása
plt.title("A Föld elliptikus pályája a Nap körül", fontsize=14)
plt.xlabel("X koordináta (Csillagászati Egység - CsE)", fontsize=12)
plt.ylabel("Y koordináta (Csillagászati Egység - CsE)", fontsize=12)

# Tengelyek arányának rögzítése, hogy a kör/ellipszis alakzat ne torzuljon
plt.axis("equal")
plt.grid(True, linestyle="--", alpha=0.5)
plt.legend(loc="upper right")

# Grafikon megjelenítése
plt.show()

--------------
Futtatás; https://colab.research.google.com/



Nincsenek megjegyzések:

Megjegyzés küldése