2026. szeptember 6., vasárnap

Mikor merül le az aksi a Voyager–2 űrszondánál? (python program)

Voyager–2 űrszonda jelenleg rendkívül szűkös energiakerettel gazdálkodik: a kilövéskori 470 wattos teljesítménye mára megközelítőleg 220-230 watt körüli értékre csökkent. Mivel az áramot biztosító rádióizotópos generátorok (RTG) hatékonysága folyamatosan romlik, a szonda évente körülbelül 4 watt energiát veszít.
----------
import datetime

def voyager_2_energia_becsles():
    # Aktuális év lekérése
    aktualis_ev = datetime.datetime.now().year
    
    # Kiindulási adatok a NASA mérései alapján
    # Feltételezett minimális működési energiaszint 1 műszerhez: kb. 230 Watt
    # Jelenlegi becsült energiaszint (2026-ban): kb. 246 Watt
    jelenlegi_energia = 246  
    eves_energia_veszteseg = 4.0  # watt / év
    
    # Határértékek
    minimum_energia_3_muszerhez = 245
    minimum_energia_1_muszerhez = 230
    teljes_leallasi_szint = 200 # Ahol a fűtés és a rádióadó sem kap elég áramot
    
    print("=" * 60)
    print(f"      VOYAGER-2 ENERGIA ELLÁTOTTSÁG BECSLŐ PROGRAM ({aktualis_ev})")
    print("=" * 60)
    
    ev = aktualis_ev
    energia = jelenlegi_energia
    
    # Éves szimuláció indítása
    while energia >= teljes_leallasi_szint:
        statusz = ""
        
        # Státusz meghatározása a fennmaradó wattok alapján
        if energia >= minimum_energia_3_muszerhez:
            statusz = "Mind a 3 megmaradt tudományos műszer működik."
        elif energia >= minimum_energia_1_muszerhez:
            statusz = "Tudományos műszerek fokozatos lekapcsolása. Csak 1 műszer aktív."
        else:
            statusz = "Műszerek leálltak. Csak a kritikus rendszerek és a rádióadó működik."
            
        print(f"Év: {ev} | Becsült energia: {energia:.1f} W | Állapot: {statusz}")
        
        # Időléptetés (következő év)
        ev += 1
        energia -= eves_energia_veszteseg

    print("=" * 60)
    print(f"Befejezés: {ev-1}-ra a Voyager-2 energiája a kritikus {teljes_leallasi_szint} W alá csökken.")
    print("A szonda teljesen elnémul, de örökre folytatja útját a csillagközi térben.")
    print("=" * 60)

if __name__ == "__main__":
    voyager_2_energia_becsles()

--------------
============================================================
      VOYAGER-2 ENERGIA ELLÁTOTTSÁG BECSLŐ PROGRAM (2026)
============================================================
Év: 2026 | Becsült energia: 246.0 W | Állapot: Mind a 3 megmaradt tudományos
 műszer működik. Működő tudományos műszerek: A Voyager–2 jelenleg 3 aktív 
tudományos műszerrel üzemel:Kozmikus sugárzást mérő alrendszer (CRS)Magnetométer 
(MAG)Plazmahullám-vizsgáló alrendszer (PWS)
Év: 2027 | Becsült energia: 242.0 W | Állapot: Tudományos műszerek fokozatos 
lekapcsolása. Csak 1 műszer aktív.
Év: 2028 | Becsült energia: 238.0 W | Állapot: Tudományos műszerek fokozatos
 lekapcsolása. Csak 1 műszer aktív.
Év: 2029 | Becsült energia: 234.0 W | Állapot: Tudományos műszerek fokozatos 
lekapcsolása. Csak 1 műszer aktív.
Év: 2030 | Becsült energia: 230.0 W | Állapot: Tudományos műszerek fokozatos
 lekapcsolása. Csak 1 műszer aktív.
Év: 2031 | Becsült energia: 226.0 W | Állapot: Műszerek leálltak. Csak a 
kritikus rendszerek és a rádióadó működik.
Év: 2032 | Becsült energia: 222.0 W | Állapot: Műszerek leálltak. Csak a
 kritikus rendszerek és a rádióadó működik.
Év: 2033 | Becsült energia: 218.0 W | Állapot: Műszerek leálltak. Csak a 
kritikus rendszerek és a rádióadó működik.
Év: 2034 | Becsült energia: 214.0 W | Állapot: Műszerek leálltak. Csak a 
kritikus rendszerek és a rádióadó működik.
Év: 2035 | Becsült energia: 210.0 W | Állapot: Műszerek leálltak. Csak a 
kritikus rendszerek és a rádióadó működik.
Év: 2036 | Becsült energia: 206.0 W | Állapot: Műszerek leálltak. Csak a 
kritikus rendszerek és a rádióadó működik.
Év: 2037 | Becsült energia: 202.0 W | Állapot: Műszerek leálltak. Csak a 
kritikus rendszerek és a rádióadó működik.
============================================================
Befejezés: 2037-ra a Voyager-2 energiája a kritikus 200 W alá csökken.
A szonda teljesen elnémul, de örökre folytatja útját a csillagközi térben.
============================================================
Sajnos a Voyager–2 a Naptól rendkívül távol, a csillagközi térben halad, 
ahol a napfény már elenyésző lenne az energiatermeléshez. Emiatt a szonda 
nem napelemeket, hanem egy RTG (rádióizotópos termoelektromos generátor) 
nevű eszközt használ. Ez a generátor a plutónium-238 radioaktív bomlása 
során keletkező hőt alakítja át elektromos árammá. Mivel nincsenek 
fényérzékeny napelemtáblái, a ráirányított lézerfényt sem tudná 
elektromossággá alakítani.

VOYAGER-2 TÁVKÖZLÉSI JELENTÉS pythonban

A Voyager–2 űrszonda jelenleg is küldi a telemetriai és tudományos adatait a csillagközi térből, több mint 140 csillagászati egységre a Földtől A mai napon milyen típusú adatok érkeznek a Voyager–2-től a Földre. (Lekérdezés)
----------------------
import datetime

def voyager2_mai_statusz():
    mai_datum = datetime.date.today().strftime("%Y. %m. %d.")
    
    # 2026-os aktuális adatok és státusz
    tavolsag_km = 21450000000  # Körülbelül 143 Csillagászati Egység
    jel_utasi_ido_ora = 19.87    # Egyirányú fényidő órában
    
    print("=" * 60)
    print(f"VOYAGER-2 TÁVKÖZLÉSI JELENTÉS - {mai_datum}")
    print("=" * 60)
    print(f"• Aktuális távolság a Földtől: ~{tavolsag_km:,} km".replace(",", " "))
    print(f"• A rádiójel útideje a Földig:  ~{jel_utasi_ido_ora} óra")
    print("• Helyszín:                     Csillagközi tér (Interstellar Space)")
    print("-" * 60)
    print("A MAI NAPON ÉRKEZŐ TELEMETRIAI ÉS TUDOMÁNYOS ADATOK:")
    print("-" * 60)
    
    # Aktív műszerek adatai 2026-ban
    aktiv_muszerek = {
        "Magnetométer (MAG)": 
            "Méri a helyi csillagközi mágneses mező irányát és erejét.",
        "Plazmahullám-alrendszer (PWS)": 
            "Az elektron-sűrűséget vizsgálja a vékony csillagközi plazma oszcillációi alapján.",
        "Kozmikus sugárzás alrendszer (CRS)": 
            "A Nap védőbuborékán kívüli, rendkívül nagy energiájú részecskék összetételét méri."
    }
    
    for muszer, leiras in aktiv_muszerek.items():
        print(f"[{muszer}]")
        print(f"  -> Adat státusza: Érkezik (Folyamatos mintavételezés)")
        print(f"  -> Leírás:        {leiras}\n")
        
    print("-" * 60)
    print("[Mérnöki / Egészségügyi adatok]")
    print("  -> RTG generátor feszültség, belső hőmérséklet és antenna-irányultság adatok.")
    print("=" * 60)

if __name__ == "__main__":
    voyager2_mai_statusz()
-----------------
============================================================
VOYAGER-2 TÁVKÖZLÉSI JELENTÉS - 2026. 09. 06.
============================================================
• Aktuális távolság a Földtől: ~21 450 000 000 km
• A rádiójel útideje a Földig:  ~19.87 óra
• Helyszín:                     Csillagközi tér (Interstellar Space)
------------------------------------------------------------
A MAI NAPON ÉRKEZŐ TELEMETRIAI ÉS TUDOMÁNYOS ADATOK:
------------------------------------------------------------
[Magnetométer (MAG)]
  -> Adat státusza: Érkezik (Folyamatos mintavételezés)
  -> Leírás:        Méri a helyi csillagközi mágneses mező irányát és erejét.

[Plazmahullám-alrendszer (PWS)]
  -> Adat státusza: Érkezik (Folyamatos mintavételezés)
  -> Leírás:        Az elektron-sűrűséget vizsgálja a vékony csillagközi plazma oszcillációi alapján.

[Kozmikus sugárzás alrendszer (CRS)]
  -> Adat státusza: Érkezik (Folyamatos mintavételezés)
  -> Leírás:        A Nap védőbuborékán kívüli, rendkívül nagy energiájú részecskék összetételét méri.

------------------------------------------------------------
[Mérnöki / Egészségügyi adatok]
  -> RTG generátor feszültség, belső hőmérséklet és antenna-irányultság adatok.
============================================================

Kepler-törvények és körmozgás pythonban

Íme egy 3D-s animált Python program, amely a Matplotlib könyvtár segítségével modellezi a Jupiter mozgását a Nap körül valós fizikai képletek (Kepler-törvények és körmozgás) alapján
-----------
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

# --- Csillagászati adatok (közelítő értékek) ---
# Jupiter távolsága a Naptól: ~5.2 Csillagászati Egység (AU)
# Jupiter keringési ideje: ~11.86 Föld-év
R_JUPITER = 5.2 
PERIOD_JUPITER = 11.86 

# Animációs beállítások
fps = 30
duration_years = 12  # Mennyi ideig fusson a szimuláció (évben)
frames = fps * duration_years

# Időlépések kiszámítása
t = np.linspace(0, duration_years, frames)
# Szögsebesség (omega = 2 * pi / T)
omega = 2 * np.pi / PERIOD_JUPITER
theta = omega * t

# Jupiter 3D koordinátáinak kiszámítása (enyhe 1.3 fokos pályaelhajlással)
inclination = np.radians(1.3)
x_jup = R_JUPITER * np.cos(theta)
y_jup = R_JUPITER * np.sin(theta) * np.cos(inclination)
z_jup = R_JUPITER * np.sin(theta) * np.sin(inclination)

# --- 3D Grafika inicializálása ---
fig = plt.figure(figsize=(10, 8))
ax = fig.add_subplot(111, projection='3d')

# Grafikon határai (AU-ban)
ax.set_xlim([-6, 6])
ax.set_ylim([-6, 6])
ax.set_zlim([-3, 3])

# Tengelyek feliratozása
ax.set_xlabel('X (AU)')
ax.set_ylabel('Y (AU)')
ax.set_zlabel('Z (AU)')
ax.set_title('A Jupiter mozgása a Nap körül 3D-ben')

# Égitestek és pálya megjelenítése
# Nap (Sárga gömb a középpontban)
ax.scatter([0], [0], [0], color='gold', s=300, label='Nap')

# Jupiter teljes pályavonala (halványan)
ax.plot(x_jup, y_jup, z_jup, color='gray', linestyle='--', alpha=0.5, label='Jupiter pálya')

# Jupiter (animált pont)
jupiter_dot, = ax.plot([], [], [], marker='o', color='chocolate', markersize=10, label='Jupiter')
# Jupiter mögötti csóva
trail, = ax.plot([], [], [], color='orange', alpha=0.7)

ax.legend(loc='upper left')

# --- Animációs függvények ---
def init():
    jupiter_dot.set_data([], [])
    jupiter_dot.set_3d_properties([])
    trail.set_data([], [])
    trail.set_3d_properties([])
    return jupiter_dot, trail

def update(frame):
    # Aktuális pozíció frissítése
    jupiter_dot.set_data([x_jup[frame]], [y_jup[frame]])
    jupiter_dot.set_3d_properties([z_jup[frame]])
    
    # Csóva frissítése az utolsó néhány pozíció alapján
    start_idx = max(0, frame - 20)
    trail.set_data(x_jup[start_idx:frame+1], y_jup[start_idx:frame+1])
    trail.set_3d_properties(z_jup[start_idx:frame+1])
    
    return jupiter_dot, trail

# Animáció elindítása
ani = animation.FuncAnimation(
    fig, update, frames=frames, init_func=init, interval=1000/fps, blit=True
)

plt.show()

---------------


Szimetrikus szimulált fundamentál plane pythonban

A fundamentális sík (fundamental plane) a galaxisok, különösen az elliptikus galaxisok tulajdonságai (például az effektív sugár, a felületi fényesség és a centrális diszperziós sebesség) közötti háromdimenziós összefüggés.Az alábbi Python kód egy szintetikus (szimulált) adatbázison mutatja be a fundamentális sík illesztését lineáris regresszió segítségével, majd vizualizálja azt egy 3D-s grafikonon.
-----------
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from mpl_toolkits.mplot3d import Axes3D

# 1. Szintetikus adatok generálása (Elliptikus galaxisok tulajdonságai)
# log_sigma: log10(centrális sebességdiszperzió)
# mu_e: effektív felületi fényesség
# log_R_e: log10(effektív sugár) -> Ezt fogjuk jósolni a sík egyenlete alapján
np.random.seed(42)
n_samples = 100

log_sigma = np.random.normal(2.1, 0.15, n_samples)
mu_e = np.random.normal(22.0, 1.0, n_samples)

# A fundamentális sík elméleti összefüggése: log(R_e) = a * log(sigma) + b * mu_e + c
# Valós csillagászati értékek kb: a = 1.2, b = 0.3
a_true, b_true, c_true = 1.2, 0.32, -8.5
log_R_e = a_true * log_sigma + b_true * mu_e + c_true + np.random.normal(0, 0.05, n_samples)

# 2. Modell illesztése (Lineáris regresszió)
X = np.column_stack((log_sigma, mu_e))
y = log_R_e

model = LinearRegression()
model.fit(X, y)

a_fit, b_fit = model.coef_
c_fit = model.intercept_

print(f"Illesztett egyenlet: log(R_e) = {a_fit:.2f} * log(sigma) + {b_fit:.2f} * mu_e + {c_fit:.2f}")

# 3. 3D Vizualizáció
fig = plt.figure(figsize=(10, 8))
ax = fig.add_subplot(111, projection='3d')

# Adatpontok kirajzolása
ax.scatter(log_sigma, mu_e, log_R_e, color='blue', alpha=0.6, label='Galaxisok')

# Az illesztett sík kiszámítása a grafikonhoz
sigma_range = np.linspace(log_sigma.min(), log_sigma.max(), 10)
mu_range = np.linspace(mu_e.min(), mu_e.max(), 10)
Sigma_grid, Mu_grid = np.meshgrid(sigma_range, mu_range)
R_e_grid = a_fit * Sigma_grid + b_fit * Mu_grid + c_fit

# Sík kirajzolása
ax.plot_surface(Sigma_grid, Mu_grid, R_e_grid, color='red', alpha=0.3, rstride=100, cstride=100)

# Tengelyek feliratozása
ax.set_xlabel('log $\sigma$ (Sebességdiszperzió)')
ax.set_ylabel('$\mu_e$ (Felületi fényesség)')
ax.set_zlabel('log $R_e$ (Effektív sugár)')
ax.set_title('A galaxisok fundamentális síkja')
ax.legend()

plt.show()

---------------


A fundamental plane, lineáris Bessel-elemek alapján pythonban

A Hold árnyéktengelyének távolságát a Föld középpontjától pythonban
------------------
import numpy as np

def bessel_eclipse_distance(t, x0, y0, x1, y1):
    """
    Kiszámítja a Hold árnyéktengelyének távolságát a Föld középpontjától
    az alapsíkon (fundamental plane), lineáris Bessel-elemek alapján.
    
    Paraméterek:
    t  : Eltelt idő a bázisidőpont óta (órában)
    x0, y0 : Az árnyéktengely x és y koordinátái a bázisidőpontban (t=0)
    x1, y1 : Az x és y koordináták óránkénti változása (sebessége)
    """
    # Az árnyék pozíciójának kiszámítása a t időpontban
    x = x0 + x1 * t
    y = y0 + y1 * t
    
    # A középponttól mért távolság (Pythagoras-tétel a Bessel-féle alapsíkon)
    distance = np.sqrt(x**2 + y**2)
    
    return x, y, distance

# --- PÉLDA ADATOK (Fiktív Bessel-elemek egy napfogyatkozás maximuma körül) ---
# A koordináták a Föld egyenlítői sugarának egységében vannak megadva
x_0, y_0 = -0.045, 0.352   # Pozíció a bázisidőben (t=0)
x_1, y_1 =  0.542, -0.124  # Óránkénti elmozdulás

# Időintervallum vizsgálata: -2 órától +2 óráig a bázisidőhöz képest
idopontok = [-2, -1, 0, 1, 2]

print(f"{'Idő (óra)':<12}{'X koord.':<12}{'Y koord.':<12}{'Távolság (Földsugár)'}")
print("-" * 55)

for t in idopontok:
    x_t, y_t, tavolsag = bessel_eclipse_distance(t, x_0, y_0, x_1, y_1)
    print(f"{t:<12.1f}{x_t:<12.4f}{y_t:<12.4f}{tavolsag:<12.4f}")

# Annak ellenőrzése, hogy az árnyék eltalálja-e a Földet
# Ha a minimális távolság < 1.0 (plusz a penumbra sugara), akkor van részleges/teljes fogyatkozás
t_min = -(x_0*x_1 + y_0*y_1) / (x_1**2 + y_1**2) # A legközelebbi pont időpontja
_, _, min_dist = bessel_eclipse_distance(t_min, x_0, y_0, x_1, y_1)

print("\nEredmény elemzése:")
print(f"Az árnyéktengely legkisebb távolsága a Föld középpontjától: {min_dist:.4f} Földsugár.")
if min_dist < 1.0:
    print("Az árnyék központi tengelye eléri a Föld felszínét (Centrális napfogyatkozás).")
else:
    print("Az árnyéktengely elhalad a Föld mellett (Csak részleges vagy nincs fogyatkozás).")
----------------
Idő (óra)   X koord.    Y koord.    Távolság (Földsugár)
-------------------------------------------------------
-2.0        -1.1290     0.6000      1.2785      
-1.0        -0.5870     0.4760      0.7557      
0.0         -0.0450     0.3520      0.3549      
1.0         0.4970      0.2280      0.5468      
2.0         1.0390      0.1040      1.0442      

Eredmény elemzése:
Az árnyéktengely legkisebb távolsága a Föld középpontjától: 0.3331 Földsugár.
Az árnyék központi tengelye eléri a Föld felszínét (Centrális napfogyatkozás).

A Hold perigeum kiszámítása pythonban

A holdra szeretnék utani, mikor induljak el, mikor lesz a földgöz a legközelebb? Az alábbi Python-program külső csomagok (például ephem vagy skyfield) nélkül, tiszta matematikai közelítéssel számítja ki, hogy a megadott dátumhoz képest mikor lesz a Hold a legközelebb a Földhöz (ezt a pontot nevezzük perigeumnak vagy földközeli pontnak).
---------------------
from datetime import datetime, timedelta

def kovetkezo_holdkozelpont(aktualis_idopont):
    # Egy pontosan ismert múltbéli perigeum (földközelpont) időpontja UTC-ben
    # (2024. március 10. 07:04 UTC - Szuperhold perigeum)
    bázis_perigeum = datetime(2024, 3, 10, 7, 4)
    
    # Az anomalisztikus hónap átlagos hossza napokban (perigeumtól perigeumig)
    anomalisztikus_honap = 27.55454988
    
    # Eltelt idő kiszámítása másodpercekben, majd napokban a bázis óta
    eltelt_idő_napokban = (aktualis_idopont - bázis_perigeum).total_seconds() / 86400
    
    if eltelt_idő_napokban < 0:
        return "Kérjük, adjon meg a 2024-es bázisdátumnál későbbi időpontot!"
        
    # Kiszámoljuk, hány teljes ciklus telt el, majd megkapjuk a következőt
    befejezett_ciklusok = int(eltelt_idő_napokban / anomalisztikus_honap)
    kovetkezo_ciklus = befejezett_ciklusok + 1
    
    # Hozzáadjuk a szükséges napokat a bázisdátumhoz
    kovetkezo_datum = bázis_perigeum + timedelta(days=kovetkezo_ciklus * anomalisztikus_honap)
    
    return kovetkezo_datum

# Futtatás a jelenlegi időponttal
most = datetime.now()
eredmeny = kovetkezo_holdkozelpont(most)

print(f"A jelenlegi időpont: {most.strftime('%Y-%m-%d %H:%M:%S')}")
print(f"A Hold legközelebb ekkor lesz a legközelebb a Földhöz: {eredmeny.strftime('%Y-%m-%d %H:%M:%S')} (UTC)")
-------------
A jelenlegi időpont: 2026-09-06 14:18:39
A Hold legközelebb ekkor lesz a legközelebb a Földhöz: 2026-10-03 03:34:45 (UTC)

A Föld-Nap távolsága 2027. január 1. 00:00-kor pythonban

Az alábbi Python program kiszámítja a Föld-Nap távolságot a megadott időpontban (2026. december 31. 24:00, ami naptárilag 2027. január 1. 00:00-nak felel meg).A számítás a Kepler-féle pályaelemek alapján meghatározott standard csillagászati közelítő képletet használom, amely a J2000.0 epochától eltelt napok számából indul ki!
------------
import datetime
import math

def fold_nap_tavolsag(d):
    """
    Kiszámítja a Föld-Nap távolságot Csillagászati Egységben (CsE / AU).
    'd' a J2000.0 (2000. január 1. 12:00 UTC) óta eltelt napok száma.
    """
    # A Föld közép-anomáliája fokban
    g = 357.529 + 0.98560028 * d
    g_rad = math.radians(g)
    
    # Távolság Csillagászati Egységben (AU)
    R = 1.00014 - 0.01671 * math.cos(g_rad) - 0.00014 * math.cos(2 * g_rad)
    return R

# Időpont beállítása (2026-12-31 24:00 egyenlő 2027-01-01 00:00-val)
target_date = datetime.datetime(2027, 1, 1, 0, 0)
j2000_epoch = datetime.datetime(2000, 1, 1, 12, 0)

# Eltelt napok száma a J2000 óta
delta = target_date - j2000_epoch
napok = delta.days + delta.seconds / 86400.0

# Távolság kiszámítása
tavolsag_au = fold_nap_tavolsag(napok)

# Átváltás kilométerre (1 AU = 149 597 870.7 km)
CSE_KM = 149597870.7
tavolsag_km = tavolsag_au * CSE_KM

# Eredmények kiíratása
print(f"Időpont: 2026.12.31. 24:00")
print(f"Távolság Csillagászati Egységben: {tavolsag_au:.6f} AU")
print(f"Távolság kilométerben: {tavolsag_km:,.2f} km".replace(",", " "))

-------------------
Időpont: 2026.12.31. 24:00
Távolság Csillagászati Egységben: 0.983313 AU
Távolság kilométerben: 147 101 569.41 km

Python programmal lekérjük a NASA adatbázisából

Mikor csapódhat be a Bennu a földbe, python program
------------
import datetime

def bennu_visszaszamlalo():
    # A NASA által meghatározott legvalószínűbb becsapódási dátum
    becsapodas_datuma = datetime.date(2182, 9, 24)
    
    # A mai dátum lekérése
    mai_datum = datetime.date.today()
    
    print(f"Mai dátum: {mai_datum}")
    print(f"Bennu lehetséges becsapódása: {becsapodas_datuma}")
    print("-" * 40)
    
    if mai_datum >= becsapodas_datuma:
        print("A megadott dátum már elmúlt vagy elérkezett.")
        return

    # Napok számának kiszámítása
    hatralevo_napok = (becsapodas_datuma - mai_datum).days
    
    # Évek, hónapok és napok pontosabb megbecslése
    ev = becsapodas_datuma.year - mai_datum.year
    honap = becsapodas_datuma.month - mai_datum.month
    nap = becsapodas_datuma.day - mai_datum.day
    
    # Korrekció, ha a napok vagy hónapok negatívba csúsznának
    if nap < 0:
        # Az előző hónap napjainak számát vesszük alapul
        honap -= 1
        # Egy átlagos hónappal (30 nap) korrigálunk a szemléletesség kedvéért
        nap += 30 
    if honap < 0:
        ev -= 1
        honap += 12

    print(f"A Bennu aszteroida esetleges becsapódásáig hátralévő idő:")
    print(f"• Összesen: {hatralevo_napok:,} nap")
    print(f"• Kerekítve: {ev} év, {honap} hónap és {nap} nap.")
    print("\nNyugalom: A becsapódás esélye csupán 0.037% (1 a 2700-hoz)!")

if __name__ == "__main__":
    bennu_visszaszamlalo()
---------------
Mai dátum: 2026-09-06
Bennu lehetséges becsapódása: 2182-09-24
----------------------------------------
A Bennu aszteroida esetleges becsapódásáig hátralévő idő:
• Összesen: 56,996 nap
• Kerekítve: 156 év, 0 hónap és 18 nap.
A becsapódás esélye 1: 2700
A NASA OSIRIS-REx missziójának legfrissebb számításai szerint a 101955 Bennu aszteroida becsapódásának legvalószínűbb időpontja 2182. szeptember 24.

Apophis aszteroida ütközés szimuláció python nyelven

Ha az Apophis aszteroida Budapest közHa Budapest közepére zuhanna, a becsapódás azonnal elpusztítaná a fővárost és a teljes agglomerációt, a lökéshullám, a hősugárzás és a földrengés pedig az ország távolabbi pontjain, sőt a szomszédos országokban is súlyos károkat okozna. Bár a NASA és az ESA mérései alapján az Apophis a következő legalább 100 évben biztosan nem fog ütközni a Földdel, a fizikai paraméterei (kb. 370 méteres átmérő, 12,6 km/s-os sebesség és kb. 1200 megatonna TNT-nek megfelelő mozgási energia) alapján pontosan modellezhető a pusztítás. Az alábbi Python program az elméleti kráterméretet, a rengéshullámot és a hősugárzás hatásait számítja ki a becsapódási ponttól (Budapest centrumától) mért távolság függvényében. A rekordközelség dátuma: 2029. április 13. (péntek).A távolság: Az aszteroida hihetetlenül közel, kb. 32 000 kilométerre fog elhaladni. A legrosszabb fprgatókönyv alapján akár 1 milliárd ember is meghalhatna. 50km átmérőjű kráter, Pusztitó ereje 10000 megatonna TNT-nek felel meg. 

----------------------
import math

def apophis_impact_simulation(distance_km):
    """
    Az Apophis aszteroida budapesti becsapódásának hatásait vizsgáló szimuláció.
    Paraméter: distance_km - A megfigyelő távolsága a becsapódás központjától (km).
    """
    # Fix aszteroida és becsapódási paraméterek (Apophis értékek)
    diameter = 370       # méter
    velocity = 12600     # m/s (12.6 km/s)
    density = 3200       # kg/m^3 (kőzet/vashordalék)
    energy_megatons = 1200  # Mt TNT energia
    
    print("=" * 60)
    print(f"  APOPHIS ASZTEROIDA BECSAPÓDÁSI SZIMULÁCIÓ - BUDAPEST")
    print("=" * 60)
    print(f"Aszteroida átmérője: {diameter} méter")
    print(f"Becsapódási sebesség: {velocity / 1000:.1f} km/s")
    print(f"Felszabaduló energia: {energy_megatons} Megatonna TNT")
    print(f"Megfigyelési pont távolsága: {distance_km} km")
    print("-" * 60)

    # 1. Kráterméret becslése (egyszerűsített pi-scaling formula alapján földi kőzetre)
    # Egy 370 méteres test kb. egy 4.5 - 5 km átmérőjű és 1 km mély krátert hagy maga után.
    crater_diameter_km = 4.8
    crater_depth_km = 0.9

    print(f"[KRÁTER] Keletkező kráter átmérője: {crater_diameter_km} km")
    print(f"[KRÁTER] Kráter mélysége: {crater_depth_km} km")
    print(f"         (Pl. a teljes belváros, a Duna érintett szakasza, a Parlament és a Vár eltűnik.)")
    print("-" * 60)

    if distance_km <= crater_diameter_km / 2:
        print("Ön a kráter belsejében tartózkodik. A megsemmisülés azonnali és teljes.")
        return

    # 2. Szeizmikus hatás (Földrengés)
    # Richter-skála szerinti magnitúdó becslése az energiából: M = 0.67 * log10(E_joules) - 5.87
    energy_joules = energy_megatons * 4.184e15
    earthquake_magnitude = 0.67 * math.log10(energy_joules) - 5.87
    
    # Távolsággal csökkenő érezhető rengés (egyszerűsített Gutenberg-Richter korrekció)
    local_intensity = earthquake_magnitude - 1.5 * math.log10(max(distance_km, 1))

    print(f"[FÖLDRENGÉS] Kiváltott szeizmikus magnitúdó a centrumban: M {earthquake_magnitude:.1f}")
    if local_intensity > 6:
        print(f"   -> {distance_km} km-nél: Pusztító rengés (M {local_intensity:.1f}). Az épületek többsége összeomlik.")
    elif local_intensity > 4:
        print(f"   -> {distance_km} km-nél: Erős rengés (M {local_intensity:.1f}). Falak repedeznek, pánik.")
    else:
        print(f"   -> {distance_km} km-nél: Enyhe rengés, rezgés érezhető.")
    print("-" * 60)

    # 3. Hősugárzás (Tűzgolyó)
    # A tűzgolyó sugara kb. 2-3 km, a hősugárzás távolabb is gyújt
    thermal_radius_km = 2.5
    ignition_radius_km = 25.0 # Centrántól mért távolság, ahol a ruhák, fák meggyulladnak
    
    print(f"[HŐSUGÁRZÁS] A tűzgolyó közvetlen sugara: {thermal_radius_km} km")
    if distance_km <= ignition_radius_km:
        print(f"   -> {distance_km} km-nél: Kritikus! Harmadfokú égési sérülések, a gyúlékony anyagok spontán meggyulladnak.")
    else:
        print(f"   -> {distance_km} km-nél: Erős fényfelvillanás, első- vagy másodfokú égési sérülések veszélye.")
    print("-" * 60)

    # 4. Atmoszférikus lökéshullám (Légnyomás)
    # A hangsebesség kb. 340 m/s -> a lökéshullám érkezési ideje
    arrival_time_sec = (distance_km * 1000) / 340
    arrival_time_min = arrival_time_sec / 60
    
    # Túlnyomás becslése (egyszerűsített tapasztalati formula bar-ban)
    # 1 bar felett teljes pusztítás, 0.3 bar felett lakóházak fala ledől, 0.1 bar felett ablakok betörnek
    overpressure_bar = (energy_megatons ** 0.33) / (distance_km * 0.5)

    print(f"[LÖKÉSHULLÁM] Érkezési idő: {arrival_time_sec:.1f} másodperc ({arrival_time_min:.1f} perc)")
    print(f"              Becsült túlnyomás: {overpressure_bar:.3f} bar")
    
    if overpressure_bar > 1.0:
        print("   -> Hatás: Totális rombolás. Minden épület összedől, a szélsebesség meghaladja az 500 km/h-t.")
    elif overpressure_bar > 0.3:
        print("   -> Hatás: Súlyos szerkezeti károk. Lakóházak összeomlanak, fák gyökerestül kifordulnak.")
    elif overpressure_bar > 0.05:
        print("   -> Hatás: Az összes ablak betörik, a törmelék súlyos sérüléseket okoz.")
    else:
        print("   -> Hatás: Erős dörrenés, kisebb ablakremegés.")
    print("=" * 60)

# Példa futtatások különböző magyarországi távolságokra:
# 1. Érd / Dunakeszi (~20 km a centrumtól)
apophis_impact_simulation(distance_km=20)

# 2. Tatabánya / Kecskemét (~60 km a centrumtól)
# apophis_impact_simulation(distance_km=60)

# 3. Debrecen / Pécs (~200 km a centrumtól)
# apophis_impact_simulation(distance_km=200)

--------------------------
============================================================
  APOPHIS ASZTEROIDA BECSAPÓDÁSI SZIMULÁCIÓ - BUDAPEST
============================================================
Aszteroida átmérője: 370 méter
Becsapódási sebesség: 12.6 km/s
Felszabaduló energia: 1200 Megatonna TNT
Megfigyelési pont távolsága: 20 km
------------------------------------------------------------
[KRÁTER] Keletkező kráter átmérője: 4.8 km
[KRÁTER] Kráter mélysége: 0.9 km
         (Pl. a teljes belváros, a Duna érintett szakasza, a Parlament és a Vár eltűnik.)
------------------------------------------------------------
[FÖLDRENGÉS] Kiváltott szeizmikus magnitúdó a centrumban: M 6.7
   -> 20 km-nél: Erős rengés (M 4.7). Falak repedeznek, pánik.
------------------------------------------------------------
[HŐSUGÁRZÁS] A tűzgolyó közvetlen sugara: 2.5 km
   -> 20 km-nél: Kritikus! Harmadfokú égési sérülések, a gyúlékony anyagok spontán meggyulladnak.
------------------------------------------------------------
[LÖKÉSHULLÁM] Érkezési idő: 58.8 másodperc (1.0 perc)
              Becsült túlnyomás: 1.038 bar
   -> Hatás: Totális rombolás. Minden épület összedől, a szélsebesség meghaladja az 500 km/h-t.
============================================================


Következtetés; A katasztrófa nem állna meg a határoknál. A halálos áldozatok
döntő többségét nem maga a becsapódás, hanem a kísérőjelenségek okoznák:
A tűzvihar és hősugárzás: A becsapódás pillanatában keletkező tűzgömb több
száz kilométeres körzetben mindent felgyújtana. Magyarország teljes területe,
valamint Ausztria, Szlovákia, Románia és Szerbia jelentős része brutális
hősugárzást kapna, ami spontán tűzviharokat okozna a városokban és az erdőkben.
A lököshullám: A szuperszonikus lökéshullám (szélvihar) Magyarországon minden
épületet letarolna. Még a több száz kilométerre lévő Bécsben, Pozsonyban,
Belgrádban és a környező országok nagyvárosaiban is betörné a kirakatokat,
leszakítaná a tetőket és összeomlasztaná a gyengébb szerkezetű épületeket.
Földrengés: A becsapódás a Richter-skála szerinti 7-es vagy annál erősebb
földrengést váltana ki, ami Közép-Európa-szerte romba döntené az infrastruk-
túrát Mivel a tágabb régióban (Németországtól Ukrajnáig, Lengyelországtól
Olaszországig) több száz millió ember él, a humanitárius katasztrófa, az
éhínség és a tiszta víz hiánya miatt az 50 millió áldozat sajnos egy reális,
sőt akár optimista becslésnek is tekinthető. Egy ekkora aszteroida budapesti
becsapódása reálisan okozhatná közvetve vagy közvetlenül minimum 50 millió
ember halálát Európában.

A (469219) Kamoʻoalewa aszteroida a föld második holdja, szimuláviója pythonban

Az (469219) Kamoʻoalewa aszteroida a Föld egyik legismertebb kvázi-műholdja (quasi-satellite). Mivel pályája rendkívül közel van a Földéhez, és hosszú távon komplex gravitációs kölcsönhatásban áll a Föld-Hold rendszerrel (ko-orbitális rezonancia), egy egyszerű Kepler-féle kéttest-modell nem elegendő a pontos jövőbeli pozíció meghatározásához. Egy 500 éves szimulációhoz már numerikus integráció (N-test szimuláció) szükséges, amely figyelembe veszi legalább a Nap és a Föld (vagy a Föld-Hold rendszer) gravitációs hatását is

Az aszteroida jelenleg stabil kvázi-holdként kering a Föld mellett, de a kutatások szerint nagyjából ~300 év múlva ki fog lépni ebből az állapotból, és átvált egy úgynevezett patkó alakú (horseshoe) pályára, ahol már sokkal messzebb sodródik majd a bolygónktól, ha valami ben várt esemény meg nem változtatja jelenlegi pályáját.

Előfeltétel a pip install rebound matplotlib numpy telepitése.
Futtatás; https://colab.research.google.com/

----------------
import rebound
import numpy as np
import matplotlib.pyplot as plt

def run_kamooalewa_simulation():
    # 1. Szimuláció inicializálása
    sim = rebound.Simulation()
    
    # Időegység beállítása évekre, távolság Csillagászati Egységre (AU)
    sim.units = ('yr', 'AU', 'Msun')
    
    # 2. Központi és zavaró égitestek hozzáadása (Nap és Föld)
    # A rebound beépített 'NASA Horizons' lekérdezőjét használjuk az aktuális pozíciókhoz
    print("Égitestek adatainak lekérése a NASA JPL-től...")
    sim.add("Sun")
    sim.add("Earth") # Tartalmazza a Föld-Hold rendszer tömegközéppontját
    
    # 3. A (469219) Kamoʻoalewa hozzáadása a JPL azonosítója (SPK-ID: 20469219) alapján
    sim.add("20469219") 
    
    # Tömegközéppontba helyezés, hogy elkerüljük a koordináta-rendszer elcsúszását
    sim.move_to_com()
    
    # Integrátor beállítása (IAS15 egy adaptív lépésközű, rendkívül pontos integrátor)
    sim.integrator = "ias15"
    
    # 4. Idővonal beállítása (500 év, pl. 1000 adatponttal)
    years = 500
    num_points = 1000
    times = np.linspace(0, years, num_points)
    
    # Tömbök az eredmények tárolására
    # A Földhöz viszonyított relatív pozíciót fogjuk vizsgálni (ko-orbitális mozgás)
    earth_distances = np.zeros(num_points)
    asteroid_x = np.zeros(num_points)
    asteroid_y = np.zeros(num_points)
    
    print(f"Szimuláció indítása {years} évre előre...")
    
    # 5. Integráció futtatása lépésenként
    for i, t in enumerate(times):
        sim.integrate(t)
        
        # Égitestek objektumainak kinyerése
        sun = sim.particles[0]
        earth = sim.particles[1]
        asteroid = sim.particles[2]
        
        # Kamo'oalewa távolsága a Földtől
        dx = asteroid.x - earth.x
        dy = asteroid.y - earth.y
        dz = asteroid.z - earth.z
        earth_distances[i] = np.sqrt(dx**2 + dy**2 + dz**2)
        
        # Heliorcentrikus (Nap körüli) pozíció mentése
        asteroid_x[i] = asteroid.x
        asteroid_y[i] = asteroid.y

    print("Szimuláció kész! Grafikonok generálása...")
    
    # 6. Vizualizáció
    fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(14, 6))
    
    # Első grafikon: Nap körüli pálya (Heliocentrikus)
    ax1.plot(asteroid_x, asteroid_y, label="Kamoʻoalewa pálya", color='blue', alpha=0.6)
    ax1.plot(0, 0, 'yo', label="Nap", markersize=10)
    ax1.set_xlabel("X (AU)")
    ax1.set_ylabel("Y (AU)")
    ax1.set_title("Heliocentrikus pálya az elkövetkező 500 évben")
    ax1.axis('equal')
    ax1.grid(True)
    ax1.legend()
    
    # Második grafikon: Föld-Aszteroida távolság az idő függvényében
    ax2.plot(times, earth_distances, color='crimson')
    ax2.set_xlabel("Idő (év a jelentől)")
    ax2.set_ylabel("Távolság a Földtől (AU)")
    ax2.set_title("Föld - Kamoʻoalewa távolság alakulása")
    ax2.grid(True)
    
    plt.tight_layout()
    plt.show()

if __name__ == "__main__":
    run_kamooalewa_simulation()

------------------


A Drake formula kiszámítása pythonban

A földihez hasonló technológiai civilizációk párhuzamos, egy idősíkban (egyidőben) történő létezését és kialakulását a tudományban leggyakrabban a Drake-formula segítségével határozzák meg, amely 7 ismert fő tényezőtől függ. Több mint 30 idegen civilizáció élhet a Tejútrendszerben a Nottinghami Egyetem kutatói szerint. A tudósok a potenciálisan lakható bolygók száma alapján becsülték még, hány idegen faj létezhet az univerzumban, akik képesek lehettek az emberéhez hasonló, vagy annál fejlettebb élet kialakítására. A Fermi-paradoxon feltételezhető ellentmondás a földön kívüli civilizációk létezésének magas becsült valószínűsége és az ilyen civilizációk létezésére utaló bizonyítékok hiánya között.Akár 30 idegen civilizáció is élhet a galaxisunkban a tudósok szerint, ha a feltételezések helyesek, és minden körülmény adott, úgy igen nagy esély van rá, hogy nem vagyunk egyedül – erre jutott legalábbis egy brit kutatás.
-------------
def drake_equation(R_star, f_p, n_e, f_l, f_i, f_c, L):
    """
    Kiszámítja a kommunikációra képes civilizációk számát (N) a Drake-formula alapján.
    
    Paraméterek:
    R_star : Csillagkeletkezés átlagos üteme a galaxisunkban (db/év)
    f_p    : Bolygórendszerrel rendelkező csillagok aránya (0-1)
    n_e    : Életre alkalmas bolygók átlagos száma egy bolygórendszerben
    f_l    : Azon bolygók aránya, ahol valóban kialakul az élet (0-1)
    f_i    : Azon bolygók aránya, ahol az élet intelligenssé válik (0-1)
    f_c    : Azon civilizációk aránya, amelyek technológiát fejlesztenek a kommunikációra (0-1)
    L      : A kommunikáló civilizációk várható élettartama (év)
    """
    N = R_star * f_p * n_e * f_l * f_i * f_c * L
    return N

# --- 1. Óvatos / Pesszimista becslés ---
pesszimista_adatok = {
    "R_star": 1.5,   # Évente kb. 1-2 új csillag keletkezik a Tejútrendszerben
    "f_p": 0.5,      # A csillagok felének van bolygója
    "n_e": 0.4,      # 10 bolygórendszerből csak 4-ben van lakható zónás bolygó
    "f_l": 0.1,      # Csak a lakható bolygók 10%-án alakul ki élet
    "f_i": 0.01,     # Az életnek csak 1%-a válik intelligenssé
    "f_c": 0.1,      # Az intelligens fajok 10%-a kezd el rádiójeleket sugározni
    "L": 420         # Egy civilizáció átlagosan 420 évig él/kommunikál
}

# --- 2. Optimista becslés ---
optimista_adatok = {
    "R_star": 3.0,
    "f_p": 1.0,      # Minden csillagnak van bolygója
    "n_e": 2.0,      # Rendszerenként átlagosan 2 bolygó alkalmas az életre
    "f_l": 1.0,      # Ahol lehet, ott ki is alakul az élet
    "f_i": 0.5,      # Az élet fele intelligenssé válik
    "f_c": 0.2,      # 20%-uk képessé válik a kommunikációra
    "L": 100000      # A civilizációk 100 000 évig képesek kommunikálni
}

# Számítások futtatása a Tejútrendszerre (Tejút = a mi galaxisunk)
N_pesszimista = drake_equation(**pesszimista_adatok)
N_optimista = drake_equation(**optimista_adatok)

# Eredmények kiíratása
print("-" * 50)
print("A Drake-formula eredményei a Tejútrendszerre:")
print("-" * 50)
print(f"Óvatos/Pesszimista becslés: {N_pesszimista:.5f} civilizáció")
print(f"Optimista becslés:          {int(N_optimista):,} civilizáció")
print("-" * 50)

# Kiterjesztés a megfigyelhető univerzumba (kb. 200 milliárd galaxis)
galaxisok_szama = 200_000_000_000
univerzum_pesszimista = N_pesszimista * galaxisok_szama
univerzum_optimista = N_optimista * galaxisok_szama

print(f"\nBecslés a teljes megfigyelhető univerzumra ({galaxisok_szama:,} galaxis):")
print(f"Pesszimista: {univerzum_pesszimista:,.0f} civilizáció")
print(f"Optimista:   {univerzum_optimista:,.0f} civilizáció")

---------------
--------------------------------------------------
A Drake-formula eredményei a Tejútrendszerre:
--------------------------------------------------
Óvatos/Pesszimista becslés: 0.01260 civilizáció
Optimista becslés:          60,000 civilizáció
--------------------------------------------------

Becslés a teljes megfigyelhető univerzumra (200,000,000,000 galaxis):
Pesszimista: 2,520,000,000 civilizáció
Optimista:   12,000,000,000,000,002 civilizáció

A ragadozó-préda modell pythonnal

Vadgazdálkodásnál használható ez a program, ez a modell azt szimulálja, hogyan változik a nyulak és a rókák száma az idő múlásával, ha hatással vannak egymásra. Ez egy egyszerű univerzális és szemléletes példa egy populációdinamikai modellre.  A ragadozó-préda  modell (Lotka-Volterra modell), amely tökéletesen bemutatja, hogyan lehet egy valós rendszert akár differenciálegyenletekkel modellezni Pythonban.

-----------------
import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import odeint

# 1. A modell matematikai egyenleteinek definiálása
def lotka_volterra(y, t, alpha, beta, delta, gamma):
    nyulak, rokak = y
    
    # Nyulak változási sebessége: növekedés - megevett nyulak
    d_nyulak_dt = alpha * nyulak - beta * nyulak * rokak
    
    # Rókák változási sebessége: születés a megevett nyulak után - természetes halálozás
    d_rokak_dt = delta * nyulak * rokak - gamma * rokak
    
    return [d_nyulak_dt, d_rokak_dt]

# 2. Kiindulási paraméterek beállítása
alpha = 1.1    # Nyulak természetes növekedési rátája
beta = 0.4     # Rókák vadászati hatékonysága
delta = 0.1    # Rókák szaporodási rátája a sikeres vadászat után
gamma = 0.4    # Rókák természetes halálozási rátája

# Kezdeti populáció: 10 nyúl és 5 róka
kezdeti_populacio = [10, 5]

# Időtartam: 0-tól 50 egységig, 1000 lépésben
ido = np.linspace(0, 50, 1000)

# 3. A modell futtatása (szimuláció / differenciálegyenlet megoldás)
megoldas = odeint(lotka_volterra, kezdeti_populacio, ido, args=(alpha, beta, delta, gamma))
nyulak_szama = megoldas[:, 0]
rokak_szama = megoldas[:, 1]

# 4. Az eredmények vizualizációja (Grafikon készítés)
plt.figure(figsize=(10, 5))
plt.plot(ido, nyulak_szama, label='Nyulak (Préda)', color='green', linewidth=2)
plt.plot(ido, rokak_szama, label='Rókák (Ragadozó)', color='orange', linewidth=2)

plt.title('Lotka-Volterra Ragadozó-Préda Modell')
plt.xlabel('Idő')
plt.ylabel('Populáció mérete')
plt.grid(True, linestyle='--', alpha=0.6)
plt.legend()
plt.show()

-----------------


Ha drasztikusan fogy az apróvad, csökken a ragadozók száma is, ezt nevezik a természet önszabályozásának. 

Lineáris regresszió pythonban

Lineáris regresszióval pythonban modellezzük a lakás árakat.

----------------
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression

# 1. Tanító adatok létrehozása
# X: Magyarázó változó (pl. alapterület négyzetméterben) - 2D tömb kell legyen!
X = np.array([[40], [50], [60], [70], [80], [90], [100]])
# y: Célváltozó (pl. ár millió forintban)
y = np.array([25, 32, 38, 42, 50, 55, 61])

# 2. A modell létrehozása és tanítása
model = LinearRegression()
model.fit(X, y)

# 3. Modell paramétereinek lekérdezése
m = model.coef_[0]  # Meredekség (súly)
b = model.intercept_  # Tengelymetszet (konstans)

print(f"A modell egyenlete: y = {m:.2f} * x + {b:.2f}")

# 4. Predikció (becslés) új adatra
uj_meret = np.array([[85]])
becsult_ar = model.predict(uj_meret)
print(f"Egy {uj_meret[0][0]} m2-es lakás becsült ára: {becsult_ar[0]:.2f} millió Ft")

# 5. Eredmények vizualizációja (Grafikon)
plt.scatter(X, y, color='blue', label='Eredeti adatok')  # Adatpontok kirajzolása
plt.plot(X, model.predict(X), color='red', linewidth=2, label='Regressziós egyenes')  # Illesztett egyenes

plt.title('Egyszerű lineáris regresszió')
plt.xlabel('Alapterület (m2)')
plt.ylabel('Ár (millió Ft)')
plt.legend()
plt.grid(True)
plt.show()
--------------
 A modell egyenlete: y = 0.59 * x + 1.79
Egy 85 m2-es lakás becsült ára: 52.18 millió Ft



Forgatókönyv vagy modellezés pythonban

A Python kiválóan alkalmas különböző rendszerek, adatok és folyamatok modellezésére a gazdag könyvtári ökoszisztémájának köszönhetően. A modellezés azt jelenti, hogy a valós világ egy részletét vagy egy matematikai feladatot leképezünk számítógépes kódra. A Python egyszerű szintaxisa és a speciális csomagok megkönnyítik az adatok elemzését, a gépi tanulást vagy a fizikai folyamatok szimulációját.Főbb területek és eszközök.
Adat- és gépi tanulási modellek: A Scikit-learn a legnépszerűbb könyvtár a klasszikus statisztikai és gépi tanulási modellek (például lineáris regresszió vagy döntési fák) létrehozására.
Adatkezelés: A Pandas segítségével táblázatos adatokat dolgozhatunk fel, amelyek a modellek alapját képezik. 
Matematikai és numerikus modellek: A NumPy és a SciPy segít a differenciálegyenletek, mátrixműveletek és optimalizálási feladatok megoldásában.
Objektumorientált tervezés (OOP): A saját egyedi objektumainkat a class kulcsszóval modellezhetjük, így megadhatjuk azok tulajdonságait és viselkedését.

Az alábbi Python program egy egyszerűsített, de tudományos alapokon nyugvó klímodellt (úgynevezett Energy Balance Model és jövőbeli forgatókönyv-szimulációt) valósít meg. A program kiszámítja a globális átlaghőmérséklet emelkedését, a tengerszint-növekedést és a gazdasági károk mértékét a következő 100 évre (2026–2126).

Futtatás online;https://colab.research.google.com/drive/1NIQHOoF0hukWUSM_o-yzQRAyqfOB_PC_
--------------------
import math

def szimulacio_100_ev():
    # --- Kiindulási adatok (2026-os becsült értékek) ---
    ev_start = 2026
    evek_szama = 100
    
    jelenlegi_temp_anomalia = 1.3  # °C-os emelkedés az ipari forradalom előtti szinthez képest
    jelenlegi_co2 = 425.0          # ppm (részecske per millió)
    co2_eves_növekedes = 2.5       # ppm/év (jelenlegi trend alapján)
    
    tengerszint_2026 = 0.0         # mm (kiindulópont)
    
    # --- Érzékenységi paraméterek (Klímatudományi közelítések) ---
    klima_erzekenyseg = 3.0        # °C-os melegedés a CO2 szint megduplázódásakor (IPCC becslés)
    co2_alap = 280.0               # ipari forradalom előtti CO2 szint (ppm)
    
    tengerszint_faktor = 4.0       # mm/év emelkedés fokonként (hőtágulás + jégolvadás)
    gdp_veszteseg_faktor = 0.012   # Fokonként ~1.2% globális GDP kiesés (egyszerűsített Nordhaus-féle DICE modell alapján)

    print("=" * 70)
    print(f"KLÍMASZIMULÁCIÓS PROJEKCIÓ ({ev_start} - {ev_start + evek_szama})")
    print("=" * 70)
    print(f"{'Év':<6} | {'CO2 (ppm)':<10} | {'Hőm. emelkedés (°C)':<20} | {'Tengerszint (cm)':<18} | {'GDP veszteség (%)':<16}")
    print("-" * 70)

    # --- Éves szimulációs hurok ---
    for ev in range(1, evek_szama + 1):
        aktualis_ev = ev_start + ev
        
        # 1. CO2 koncentráció növekedése
        jelenlegi_co2 += co2_eves_növekedes
        
        # 2. Új hőmérsékleti anomália kiszámítása (Logaritmikus CO2 kényszerhatás)
        # Delta T = Klíma_érzékenység * ln(C / C0) / ln(2)
        homerszeklet = klima_erzekenyseg * (math.log(jelenlegi_co2 / co2_alap) / math.log(2))
        
        # 3. Tengerszint-emelkedés kumulálódása (az aktuális hőmérséklet függvényében)
        tengerszint_2026 += homerszeklet * tengerszint_faktor
        tengerszint_cm = tengerszint_2026 / 10  # mm-ből cm-be
        
        # 4. Gazdasági kár (GDP veszteség)
        gdp_veszteseg = (gdp_veszteseg_faktor * (homerszeklet ** 2)) * 100
        
        # Eredmények kiíratása 10 évente, illetve az utolsó évben
        if ev % 10 == 0 or ev == evek_szama:
            print(f"{aktualis_ev:<6} | {jelenlegi_co2:<10.1f} | {homerszeklet:<20.2f} | {tengerszint_cm:<18.1f} | {gdp_veszteseg:<16.1f}%")

    print("=" * 70)
    print("KÖVETKEZMÉNYEK ÖSSZEGZÉSE 2126-RA:")
    print(f"- A globális átlaghőmérséklet eléri a(z) {homerszeklet:.2f}°C-ot.")
    print(f"- A tengerszint kb. {tengerszint_cm:.1f} cm-rel lesz magasabb a mainál, veszélyeztetve a part menti városokat.")
    print(f"- A klímaváltozás okozta éves gazdasági kár eléri a globális GDP {gdp_veszteseg:.1f}%-át.")
    print("-" * 70)
    print("Megjegyzés: Ez egy lineáris CO2-kibocsátáson alapuló elméleti modell.")
    print("A tényleges jövő az emberiség klímavédelmi intézkedéseitől függ.")

# Program futtatása
if __name__ == "__main__":
    szimulacio_100_ev()
------------
======================================================================
KLÍMASZIMULÁCIÓS PROJEKCIÓ (2026 - 2126)
======================================================================
Év     | CO2 (ppm)  | Hőm. emelkedés (°C)  | Tengerszint (cm)   | GDP veszteség (%)
----------------------------------------------------------------------
2036   | 450.0      | 2.05                 | 7.8                | 5.1             %
2046   | 475.0      | 2.29                 | 16.5               | 6.3             %
2056   | 500.0      | 2.51                 | 26.1               | 7.6             %
2066   | 525.0      | 2.72                 | 36.7               | 8.9             %
2076   | 550.0      | 2.92                 | 48.0               | 10.2            %
2086   | 575.0      | 3.11                 | 60.1               | 11.6            %
2096   | 600.0      | 3.30                 | 73.0               | 13.1            %
2106   | 625.0      | 3.48                 | 86.5               | 14.5            %
2116   | 650.0      | 3.65                 | 100.8              | 15.9            %
2126   | 675.0      | 3.81                 | 115.8              | 17.4            %
======================================================================
KÖVETKEZMÉNYEK ÖSSZEGZÉSE 2126-RA:
- A globális átlaghőmérséklet eléri a(z) 3.81°C-ot.
- A tengerszint kb. 115.8 cm-rel lesz magasabb a mainál, veszélyeztetve a part menti városokat.
- A klímaváltozás okozta éves gazdasági kár eléri a globális GDP 17.4%-át.
----------------------------------------------------------------------
Megjegyzés: Ez egy lineáris CO2-kibocsátáson alapuló elméleti modell.
A tényleges jövő az emberiség klímavédelmi intézkedéseitől függ.


2026. szeptember 5., szombat

A globális felmelegedés következménye a következő 32 évben!

Mi történik 32 év alatt, ha  10%-al emelkedik csupán évente a föld hőmérséklete?
A következő python szimuláció erre ad választ.

--------------
def szimulacio_klimahatas(kezdő_népesség, évek, felmelegedés_növekedés, hatás_tényező):
    népesség = kezdő_népesség
    klíma_index = 1.0  # Kiindulási felmelegedési faktor
    alap_növekedési_ráta = 0.009  # Alapértelmezett évi növekedés (0.9%) klímaváltozás nélkül

    print(f"0. év: {int(népesség):,} fő")
    print("-" * 40)

    for év in range(1, évek + 1):
        # A felmelegedés exponenciális növekedése
        klíma_index *= (1 + felmelegedés_növekedés)
        
        # A klímaváltozás miatti veszteség rátája
        veszteség_ráta = klíma_index * hatás_tényező
        
        # Az új népesség kiszámítása (növekedés mínusz a klíma miatti visszaesés)
        népesség = népesség * (1 + alap_növekedési_ráta - veszteség_ráta)
        
        # Ha a népesség eléri a nullát
        if népesség < 0:
            népesség = 0
            
        print(f"{év}. év: {int(népesség):,} fő (Klímahatás index: {klíma_index:.2f})")
        
        if népesség == 0:
            print("Az emberiség kihalt.")
            break

# --- Paraméterek beállítása és futtatás ---

# Aktuális becsült világpopuláció (kb. 8 milliárd)
kezdo_populacio = 8_000_000_000 

# Hány évre vetítsük előre a szimulációt
időtartam = 62 

# Éves exponenciális növekedés a felmelegedés mértékében (pl. 10%-os növekedés évente)
felmelegedes_rata = 0.1 

# Milyen súlyosan hat a klímaindex a népességcsökkenésre (példa érték)
hatas_szorzó = 0.003 

szimulacio_klimahatas(kezdo_populacio, időtartam, felmelegedes_rata, hatas_szorzó)
-----------------
Futtatás; https://colab.research.google.com/
----------------------
Eredmény; 
Ha 31 C fokról indulunk akkor lesz ez az eredmény hamar 50 C fok fölé emelkedhet! Egyetlen ember sem képes tartósan túlélni a 46 °C-os testhőmérsékletet, mivel ezen a ponton a szervezet fehérjéi szerkezetileg összeomlanak (denaturálódnak), ami azonnali sejthalálhoz és a belső szervek leállásához vezet. 28 év alatt elérjük a kritikus határt. 60 év múlva még a föld alatt kb 4000 ember marad életben, de a források elapadnak és a következmények hatására ők is meghalnak. Tehát ott ahol 30 fok volt egy év alatt 33 fokra emelkedik a hőmérséklet évi +10% Nálunk sajnos mértek már 42 C fokot is! Tehát mi most vagyunk az 51. évben, a következő évben drasztikus változások jöhetnek, akár 46 C fok is várható! Veszélyeztetett csoportokA hőség okozta halálozás szinte soha nem egyenletesen oszlik meg a lakosság között. A 46 °C-os extrém terhelés során az alábbi csoportok vannak kitéve közvetlen életveszélynek:  Idősek (65 év felettiek): A szív- és érrendszerük már kevésbé bírja a hűtési folyamatok miatti extra terhelést, és a hőszabályozásuk is gyengébb.Krónikus betegek, különösen a szívbetegek, vesebetegek és légzőszervi betegséggel küzdők. Szabad ég alatt dolgozók: Akik fizikai munkát végeznek a tűző napon. Nem létezik egyetlen fix százalék, mert a modern társadalmakban a hűtési lehetőségek (klímaberendezések, árnyékolás, folyadékpótlás) megvédik a lakosság túlnyomó részét. Megfelelő védelem és infrastruktúra hiányában azonban egy ilyen extrém hőhullám napok alatt a sérülékeny csoportok (idősek és betegek) körében tömeges megbetegedésekhez és a normál halálozási statisztikák hirtelen, jelentős megugrásához vezethet. Legutóbb 35000 ember halált okozta a 46 C fokos meleg Európában. a 10. évben ez több mint 84000 főre emelkedhet.

A föld leghamarabb bekövetkező túlmelegedése kiszámolva pytohnan

Modelleztem pythonban, hogy az emberi tevékenység és a permafrost olvadása miatti  exponenciálisan növekedő üvegházhatású gázok (ÜHG) kibocsátása és növekedése a légkörben, milyen mértékben gyorsítja fel a globális felmelegedést, ha az emberiség tovább pusztítja a környezetet, az üvegházhatás és a permafrost olvadások az extrém emelkedés esetén és az ózonrétek elvékonyodása miatt.

--------------


def kiszamol_tulmelegedes(
    aktualis_melegedes, kritikus_pont, eves_alap_melegedes, permafrost_szorzo
):
    """Kiszámítja, hány év múlva éri el a globális felmelegedés a kritikus szintet.

    Paraméterek:
    - aktualis_melegedes: Jelenlegi átlaghőmérséklet-emelkedés (°C)
    - kritikus_pont: Az a hőmérséklet-emelkedés, ami a "túlmelegedést" jelenti
    (°C)
    - eves_alap_melegedes: Az emberi tevékenység miatti jelenlegi éves
    melegedés (°C/év)
    - permafrost_szorzo: A kibocsátás növekedési üteme a permafrost olvadása
    miatt
    """
    ev = 0
    homerszeklet = aktualis_melegedes

    print("Év\tGlobális melegedés mértéke")
    print("-" * 35)

    # Évenkénti szimuláció, amíg el nem érjük a kritikus pontot
    while homerszeklet < kritikus_pont:
        print(f"{ev}\t{homerszeklet:.4f} °C")

        # Az éves melegedés mértéke növekszik a permafrost hatás (100%-os emelkedés) miatt
        # Feltételezzük, hogy a hatások évről évre kumulálódnak (exponenciális gyorsulás)
        aktualis_eves_melegedes = eves_alap_melegedes * (permafrost_szorzo**ev)
        homerszeklet += aktualis_eves_melegedes
        ev += 1

    print("-" * 35)
    print(f"{ev}\t{homerszeklet:.4f} °C -> KRITIKUS PONT ELÉRVE!")
    return ev


# --- Alapértelmezett tudományos becsléseken alapuló változók ---
# Jelenlegi globális átlaghőmérséklet-emelkedés az ipari forradalom óta (kb. 1.2 - 1.3 °C)
jelenlegi_szint = 1.25

# Kritikus bukópont (pl. a Párizsi Egyezmény szerinti veszélyes 2.0 °C-os határ)
bukopont = 2.0

# Jelenlegi átlagos melegedési ütem évtizedenként kb. 0.2°C, azaz évente 0.02°C
alap_melegedes_evente = 0.02

# 100%-os emelkedés (duplázódás) a permafrost és emberi tényezők miatt.
# Egy egyszerűsített modellben ez azt jelenti, hogy a melegedés üteme évente kis mértékben (pl. 3%-kal) gyorsul
gyorsulasi_faktor = 1.03

# Program futtatása
hatrafelevo_ido = kiszamol_tulmelegedes(
    jelenlegi_szint, bukopont, alap_melegedes_evente, gyorsulasi_faktor
)

print(
    f"\nA leghamarabb bekövetkező túlmelegedésig hátralévő idő: {hatrafelevo_ido} év."
)
----------------------
Futtatás; https://colab.research.google.com/
--------------
Eredmény; A hátralévő idő 26 év, tehát 2052-re olyan szárazság pusztitja majd a földet, ami elsivatagosodáshoz, a meg meglévő területek elégéséhez vezetnek és az élővilág 90%-os kipusztulásához vezet.

Ha exponenciálisan tovább nő a hőmérséklet, sokkal drasztikusabb eredméyn várható.

------------------ 

import math

def klima_szimulacio():
    # Alapadatok (IPCC és klímakutatási becslések alapján)
    aktualis_ev = 2026
    globalis_melegedes_most = 1.25  # °C-os melegedés az iparosodás előtti szinthez képest
    kritikus_tulmelegedes = 2.0     # °C (A kritikus, visszafordíthatatlan határ)
    
    # Alapértelmezett melegedési ütem (évente kb. 0.02 °C)
    alap_melegedes_evente = 0.02 
    
    # A felhasználó által megadott súlyosbító tényezők (szorzók)
    szorzo_uveghaz = 1.5           # Fokozott üvegházhatás miatti gyorsulás
    szorzo_permafrost = 2.0        # A permafrost olvadás 100%-os emelkedése (duplázódás)
    
    # Eredő éves melegedési ütem a visszacsatolási hurkokkal
    eredo_melegedes_evente = alap_melegedes_evente * szorzo_uveghaz * szorzo_permafrost
    
    # 1. Idő kiszámítása a túlmelegedésig
    szukseges_melegedes = kritikus_tulmelegedes - globalis_melegedes_most
    evek_a_tulmelegedesig = szukseges_melegedes / eredo_melegedes_evente
    tulmelegedes_eve = aktualis_ev + evek_a_tulmelegedesig
    
    # 2. Élettér zsugorodásának kiszámítása az erdőtüzek és lakhatatlanság miatt
    # Tételezzük fel, hogy minden 0.1 °C emelkedés a tüzek intenzitása miatt 3.5%-kal szűkíti a biztonságos életteret
    eletter_csokkenes_szazalek = szukseges_melegedes * 35
    maximalis_eletter_maradek = max(0, 100 - eletter_csokkenes_szazalek)
    
    # Eredmények kiíratása
    print("=" * 60)
    print("KLÍMAVESZÉLY SZIMULÁCIÓS JELENTÉS")
    print("=" * 60)
    print(f"-> Hátralévő idő a kritikus túlmelegedésig: {evek_a_tulmelegedesig:.1f} év")
    print(f"-> A leghamarabbi túlmelegedés becsült éve: {math.ceil(tulmelegedes_eve)}")
    print(f"-> Az emberi élettér a tüzek miatt maximum ennyire zsugorodik: {maximalis_eletter_maradek:.1f}%-ára")
    print("=" * 60)

# A program futtatása
if __name__ == "__main__":
    klima_szimulacio()
------------
Várható eredmény;


Konklúzió;
3 milliárd ember élettere vész el, és csak háborúk révém tudják kordában tartani a népességet. 
400 millió ember él a Száhel övezben, amihez még hozzájön 800 millió nyomorban élő, ami 1,2 milliárd jelenleg, az üvegházhatás miatt ez a szám 40%-al fog nőni, ami 1,5 milliárd főt érint. 

Az élettérből kiesnek az extrém területek;
A Föld legforróbb pontjai a térképen

Death Valley (Halál-völgy)📍 Kalifornia, USAHivatalos levegő-rekord56,7 °C 
(Furnace Creek)Tengerszint alatti mély medence (-82 méter), ahol a meredek hegyek közé beszorul és folyamatosan forróbbra sűrűsödik a levegő.
Dast-e Lut sivatag📍 IránMűholdas felszíni rekord80,8 °C (talajszint)Sötét színű, vulkanikus kőzetekkel és sós sivataggal borított kietlen terület, amely elnyeli a napfényt.
Sonora sivatag📍 USA / Mexikó határaMűholdas felszíni rekord80,8 °C (talajszint)Hatalmas kiterjedésű, rendkívül száraz, alacsony fekvésű sivatagi medence.
Kebili📍 TunéziaAfrika rekordja55,0 °CA Szahara északi peremén fekvő oázisváros.
Mitribah📍 KuvaitÁzsia rekordja53,9 °CA Közel-Kelet száraz, szinte teljesen felhőtlen és állandóan tűző napnak kitett sivatagi területe..
 Antarktisz (A déli félteke és a világ abszolút rekorderei)Kelet-antarktiszi fennsík (Dome Fuji és Dome Argus között): −93,2 °C és −98 °C közötti értékeket rögzítettek itt műholdas mérésekkel. Ez a Föld hivatalosan elismert leghidegebb pontja, ahol a rendkívül száraz levegő és a tiszta égbolt miatt a felszín extrém módon lehűl.
Vosztok kutatóállomás: −89,2 °C. Ezt a rekordot közvetlenül a talajszinten, meteorológiai műszerekkel mérték 1983. július 21-én.Amundsen–Scott déli-sarki állomás: Az amerikai kutatóbázison a valaha mért legalacsonyabb hőmérséklet −82,8 °C volt
 Szibéria, Oroszország (A legfagyosabb lakott helyek az északi féltekén)Ojmjakon: −71,2 °C (egyes források szerint −67,7 °C). Ez a Föld leghidegebb állandóan lakott települése, ahol a téli átlaghőmérséklet is −50 °C körül alakul.Verhojanszk: −67,8 °C. A város hatalmas éves hőingásáról ismert, hiszen nyáron a hőmérséklet akár a +30 °C-ot is elérheti.
Jakutszk: −64,4 °C. A világ legpárásabb és leghidegebb nagyvárosa, amely szintén a szibériai permafroszt zónában fekszik.
Grönland (Klinck kutatóállomás): −69,4 °C, ami az északi félteke abszolút jégtakaró-rekordja.
Alaszka (Denali / Mount McKinley): −73,8 °C, 
Észak-Amerika legmagasabb csúcsának közelében mérve.Snag (Yukon, Kanada): −63 °C, 
Észak-Amerika legalacsonyabb regisztrált hőmérséklete egy állandó településen. 
A 30%-os lakhatatlan területek megemelkedenek 40%-ra. 2-3 milliárd ember halált fogja eredményezni az éghajlatváltozás hozadéka.

Apophis Föld találkozási pont kiszámítása pythonban

A 99942 Apophis egy körülbelül 370 méter átmérőjű földközeli kisbolygó, amely 2029. április 13-án rendkívül közel, kevesebb mint 32 000 kilométerre halad el a Föld mellett. Számoljuk ki hol ütközhetünk vele a térben.
---------------------------
import numpy as np import matplotlib.pyplot as plt # --- Konstansok --- # Csillagászati Egység (AU) méterben AU = 1.496e11 # Gravitációs konstans * Nap tömege (m^3 / s^2) GM_sun = 1.32712440018e20 def calculate_orbit(a, e, num_points=1000): """ Kiszámítja az objektum x, y koordinátáit a pályája mentén. a: félgocatengely (AU) e: excentricitás (pályaelnyújtottság) """ a_m = a * AU # Átváltás méterbe # Excentrikus anomália (E) szögek 0 és 2*pi között E = np.linspace(0, 2 * np.pi, num_points) # Koordináták kiszámítása a pálya saját síkjában x = a_m * (np.cos(E) - e) y = a_m * (np.sin(E) * np.sqrt(1 - e**2)) return x / AU, y / AU # Visszatérés AU-ban a könnyebb ábrázolásért def find_closest_approach(ast_x, ast_y, earth_x, earth_y): """Megkeresi a legkisebb távolságot az aszteroida és a Föld pályája között.""" min_dist = float('inf') closest_ast_pos = (0, 0) closest_earth_pos = (0, 0) # Egyszerűsített távolságmátrix az összes pontra for i in range(len(ast_x)): for j in range(len(earth_x)): dist = np.sqrt((ast_x[i] - earth_x[j])**2 + (ast_y[i] - earth_y[j])**2) if dist < min_dist: min_dist = dist closest_ast_pos = (ast_x[i], ast_y[i]) closest_earth_pos = (earth_x[j], earth_y[j]) return min_dist, closest_ast_pos, closest_earth_pos # --- Föld pályaadatai --- a_earth = 1.000 # 1 AU e_earth = 0.0167 # Szinte tökéletes kör # --- Példa Aszteroida pályaadatai (pl. Apophis-szerű égitest) --- a_asteroid = 0.922 # Félnagytengely (AU) e_asteroid = 0.191 # Excentricitás # Pályák kiszámítása earth_x, earth_y = calculate_orbit(a_earth, e_earth) ast_x, ast_y = calculate_orbit(a_asteroid, e_asteroid) # Legközelebbi pont meghatározása min_distance, ast_close, earth_close = find_closest_approach(ast_x, ast_y, earth_x, earth_y) print(f"--- Pályaszámítási Eredmények ---") print(f"A Föld és az aszteroida pályájának legkisebb távolsága: {min_distance:.4f} AU") print(f"Ez kb. {min_distance * 149.6e6:.0f} kilométernek felel meg.") # --- Vizualizáció (Grafikon) --- plt.figure(figsize=(8, 8)) # Nap ábrázolása a fókuszpontban (0,0) plt.plot(0, 0, 'yo', markersize=12, label='Nap') # Pályák kirajzolása plt.plot(earth_x, earth_y, 'b-', label='Föld pályája') plt.plot(ast_x, ast_y, 'r--', label='Aszteroida pályája') # Legközelebbi megközelítés vonala plt.plot([ast_close[0], earth_close[0]], [ast_close[1], earth_close[1]], 'g-', linewidth=2, label='Legkisebb távolság') plt.plot(ast_close[0], ast_close[1], 'ro', markersize=6) plt.plot(earth_close[0], earth_close[1], 'bo', markersize=6) # Grafikon beállítások plt.title('Aszteroida és a Föld pályájának modellezése') plt.xlabel('X pozíció (AU)') plt.ylabel('Y pozíció (AU)') plt.axhline(0, color='grey', linestyle=':', alpha=0.5) plt.axvline(0, color='grey', linestyle=':', alpha=0.5) plt.legend() plt.grid(True, linestyle='--', alpha=0.6) plt.axis('equal') # Megjelenítés plt.show()

--------------
----------------
--- Pályaszámítási Eredmények --- A Föld és az aszteroida pályájának legkisebb távolsága: 0.0009 AU Ez kb. 130526 kilométernek felel meg.



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/



Ez a program megmutatja, milyen ütemben telik az idő a Föld felszínén egy távoli szemlélőhöz képest.

Ettől garantáltan lehidalsz. Einstein-féle mezőegyenlete a téridő geometriáját és a benne lévő anyag és energia eloszlását kapcsolják össze. Ez a tíz nemlineáris parciális differenciálegyenletből álló rendszer alkotja Albert Einstein 1915-ben publikált általános relativitáselméletének az alapját.A kompakt, feszültségtenzoros alakban felírt egyenlet így néz ki:
Az egyenlet összetevői és jelentésükAz egyenlet bal oldala a téridő geometriáját (görbületét), míg a jobb oldala az anyag és energia jelenlétét írja le.

\(G_{\mu \nu }\) (Einstein-tenzor): A téridő görbületét határozza meg egy adott pontban. Két részből tevődik össze: a Ricci-görbületi tenzorból (\(R_{\mu \nu }\)) és a skalárgörbületből (R).
\(g_{\mu \nu }\) (Metrikus tenzor): A téridő geometriáját leíró alapvető matematikai objektum, amely megadja a pontok közötti távolságokat és az idő telését.
Λ (Kozmológiai állandó): Einstein eredetileg azért vezette be, hogy egy statikus (nem táguló és nem összehúzódó) univerzumot kapjon. Később elhagyta, de a modern kozmológiában újra kulcsfontosságúvá vált: ez képviseli a sötét energiát, amely a világegyetem gyorsuló tágulásáért felelős.
\(T_{\mu \nu }\) (Energia-lendület tenzor): Az anyag, az energia, a nyomás és a nyírófeszültség eloszlását és áramlását írja le a téridőben.
G: A Newton-féle univerzális gravitációs állandó.
c: A vákuumbeli fénysebesség.
---------------------------
import numpy as np

# Fizikai állandók
G = 6.67430e-11  # Gravitációs állandó (m^3 kg^-1 s^-2)
c = 299792458    # Fénysebesség (m/s)

# A Föld adatai
M_earth = 5.972e24  # Föld tömege (kg)
R_earth = 6371000   # Föld átlagos sugara (m)

def schwarzschild_radius(mass):
    """Kiszámítja a Schwarzschild-sugarat (eseményhorizontot) az adott tömegre."""
    return (2 * G * mass) / (c**2)

def time_dilation_factor(r, r_s):
    """
    Kiszámítja az időkésési faktort (g_00 komponens gyöke).
    Megmutatja, milyen ütemben telik az idő a Föld felszínén (r)
    egy távoli szemlélőhöz képest.
    """
    if r <= r_s:
        raise ValueError("A sugár a Schwarzschild-sugáron belül van!")
    return np.sqrt(1 - (r_s / r))

# Kiszámítás
r_s_earth = schwarzschild_radius(M_earth)
time_factor = time_dilation_factor(R_earth, r_s_earth)

# Időkülönbség egy év alatt (másodpercben)
seconds_in_a_year = 365.25 * 24 * 60 * 60
time_lost_seconds = seconds_in_a_year * (1 - time_factor)

# Eredmények kiíratása
print(f"--- Földi téridő-görbület (Schwarzschild-metrika) ---")
print(f"A Föld Schwarzschild-sugara: {r_s_earth * 1000:.4f} mm")
print(f"Időkésési faktor a felszínen: {time_factor:.15f}")
print(f"Egy Földön töltött év alatt egy távoli órához képest")
print(f"ennyivel öregszünk lassabban: {time_lost_seconds:.6f} másodperc")
---------
Eredmény
--- Földi téridő-görbület (Schwarzschild-metrika) ---
A Föld Schwarzschild-sugara: 8.8698 mm
Időkésési faktor a felszínen: 0.999999999303892
Egy Földön töltött év alatt egy távoli órához képest
ennyivel öregszünk lassabban: 0.021967 másodperc

Magyarázat;

 A Schwarzschild-sugár (\(r_{s}\)):  Meghatározza azt a kritikus sugarat, amivé ha a Földet összenyomnánk, fekete lyukká válna. Ez a Föld esetében mindössze kb. 8,87 milliméter.
Metrikus tenzor (\(g_{00}\)): Az Einstein-féle mezőegyenletek földi megoldásából kiszámítja az időkomponenst.
Gravitációs időkésés: Megmutatja, hogy a Föld tömege által okozott téridőgörbület miatt a felszínen egy kicsit lassabban telik az idő. Ez a hatás kicsi (kb. 0,022 másodperc évente), de a GPS-műholdak működésénél már kötelezően korrigálni kell!


A fenti tenzoregyenlet négy dimenzióban (3 tér- és 1 időváltozó esetén) 16 skaláregyenletet jelent. Az Einstein-egyenletek szimmetriája miatt ezek közül csak 10 független. Ez a 10 független egyenlet egy nemlineáris parciális differenciálegyenlet-rendszert alkot, melynek megoldása szolgáltatja a gravitáció modern fizikáját.