2026. szeptember 6., vasárnap

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.

A garavitációs elmélet ellenőrzése pythonban


Albert Einstein gravitációs elméletének (az általános relativitáselméletnek) az alapegyenlete az Einstein-egyenlet:
A program kiszámítja az Einstein-féle gravitációs állandót, ellenőrizzük hogy helyes  volt-e a számítása;
                                                            Kappa = (8 * pi * G) / (c**4)
Adott energia impulzus értékek mellett, a gravitációs téregyenlettel írja le a téridő görbültségét.
-----------------------

import scipy.constants as const
import numpy as np

def einstein_gravitacios_allando():
    """
    Kiszámítja az Einstein-féle gravitációs állandót (kappa = 8 * pi * G / c^4)
    """
    G = const.G          # Newton-féle gravitációs állandó (m^3 kg^-1 s^-2)
    c = const.c          # Fénysebesség (m/s)
    pi = const.pi
    
    # Einstein konstans kiszámítása
    kappa = (8 * pi * G) / (c**4)
    return kappa

def kiszamit_gorbulet(T_mu_nu):
    """
    Kiszámítja az Einstein-tenzort (téridő görbületét) egy adott energia-impulzus tenzorból.
    """
    kappa = einstein_gravitacios_allando()
    
    # G_mu_nu = kappa * T_mu_nu
    G_mu_nu = kappa * np.array(T_mu_nu)
    return G_mu_nu, kappa

# --- Futtatható példa ---
if __name__ == "__main__":
    # Példa: Egy egyszerűsített (4x4-es) energia-impulzus tenzor 
    # SI egységekben (J/m^3 vagy Pa)
    pelda_energia_tenzor = [
        [1.0e17, 0, 0, 0],
        [0, 1.0e5, 0, 0],
        [0, 0, 1.0e5, 0],
        [0, 0, 0, 1.0e5]
    ]
    
    gorbulet_tenzor, konstans = kiszamit_gorbulet(pelda_energia_tenzor)
    
    # Javított mértékegység: N^-1 (vagy s^2 / (kg * m))
    print(f"Einstein-féle gravitációs együttható (kappa): {konstans:.4e} N^-1\n")
    print("Az Einstein-tenzor (görbület, m^-2) értékei az adott tömeg/energia mellett:")
    print(gorbulet_tenzor)
--------------
Eredmény;

Az eredmény Einstein-féle gravitációs együttható (kappa): 2.0766e-43 N^-1

Az Einstein-tenzor (görbület, m^-2) értékei az adott tömeg/energia mellett:

[[2.07664744e-26 0.00000000e+00 0.00000000e+00 0.00000000e+00]
 [0.00000000e+00 2.07664744e-38 0.00000000e+00 0.00000000e+00]
 [0.00000000e+00 0.00000000e+00 2.07664744e-38 0.00000000e+00]
 [0.00000000e+00 0.00000000e+00 0.00000000e+00 2.07664744e-38]]

Tehát számítása helyes!