2026. szeptember 6., vasárnap

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)

Nincsenek megjegyzések:

Megjegyzés küldése