Mondphase und -beleuchtung ausrechnen

Mondphase berechnen

Eigentlich ganz einfach, wenn man ein genaues und nicht zu lange in der Vergangenheit liegendes  Vollmonddatum kennt. Man rechnet dann die Zeit seitdem bis heute aus und teilt das Ergebnis durch die Zeit, die zwischen zwei Neumondereignissen vergeht. Von diese Ergebnis verwenden wir nur den Teil hinter dem Komma und haben so die aktuelle Phase ermittelt.
Der Phasenwert liegt zwischen null und eins, und sagt folgendes aus:

  • 0.0 bedeutet Vollmond
  • 0.25 abnehmender Halbmond (das letzte Viertel)
  • 0.5 Neumond
  • 0.75 zunehmender Halbmond (erstes Viertel)

Zu kompliziert? Dann ein Beispiel:

  • Heute ist der 16.12.2018, 12:00 Uhr
  • Ein "historischer" Vollmond war z.B. am 25.09.2018 um 4 Uhr, 52 Minuten. Ich empfehle hier den möglichst letzten Vollmond heranzuziehen, da die Umlaufzeit des Mondes variiert. Nachschauen könnt ihr z.B. bei http://vollmond.info
  • Dazwischen liegen ziemlich genau 82,24 Tage
  • Diese Zahl teilen wir durch 29,53 (das ist die synodische Umlaufzeit des Mondes, also die Zeit von Neumond zu Neumond bzw. von Vollmond zu Vollmond.)
    Als Ergebnis erhalten wir 2,785.
  • Die Zwei vor dem Komma bedeutet, dass inzwischen zwei Mondperioden durchlaufen wurden,
  • die 0,785 nach dem Komma zeigt, dass wir einen zunehmenden Mond haben und es nicht mehr lang bis Vollmond ist – siehe Tabelle oben.

Disclaimer: Leider sind die Umlaufzeiten des Mondes alles andere als konstant. Insofern sollte der vergangene Vollmond nicht zu lange her sein, um ein möglichst genaues Ergebnis zu erzielen. Siehe auch Wikipedia.

In Python sieht das dann so aus – basierend auf der zur Ausführung geltenden Zeit:

 Aus Gründen der Nachvollziehbarkeit und zum Debuggen habe ich die einzelnen Rechenschritte nicht zusammengefasst. Epoch ist quasi der Nullpunkt der Unix/Linux Zeitrechnung und repräsentiert den 1.1.1970. Die Betriebssystem internen Zeitstempel basieren auf "Sekunden seit Epoch". Es gilt hier immer die eingestellte Systemzeit, also nicht UTC.

Einen vergangenen Vollmond könnt ihr für beliebige Orte der Welt auf der Seite mondverlauf.de nachschauen.

Das Abrunden auf 2 Nachkommastellen am Ende ist wichtig, da sonst nur für eine sehr kurze Zeit überhaupt die konkreten Phasen Voll, Halb und Neumond ausgegeben werden.

Beleuchtete Mondoberfläche

Will man nun ausrechnen, zu wieviel Prozent der Mond gerade beleuchtet wird, dann muss man etwas tiefer in die trigonometrische Trickkiste hinein greifen.

Etwas Mathematik

Da wir nur wissen wollen, wieviel Prozent der Mondscheibe sichtbar sind,  müssen wir nicht wissen, wie groß der Mond an sich ist, es reicht die Annahme, dass die Mondscheibe von der Erde aus gesehen in etwa kreisförmig erscheint und dass die Trennlinie zwischen Hell und Dunkel (Terminator genannt) in etwa einer halben Ellipse gleicht.  Für die Berechnung reicht uns daher als "Mondmodell" der sogenannte Einheitskreis mit Radius R = 1 und eine Ellipsenformel.

Ein Vollmond (entspricht 100% beleuchteter Mondoberfläche) hat in diesem Modell eine Fläche von 1² * π, also 3,1416.  Ihr erinnert euch sicher noch: Die Fläche eines Kreises ist R²*π

Die Beleuchtung für alle Mondphasen dazwischen (also 0% für Neumond und 50% für Halbmond) berechnen wir, indem wir vom Halbmond ausgehen und die der Mondphase entsprechende halbe Ellipsenfläche abziehen oder addieren.

Die sichtbare Scheibe zwischen Halb und Vollmond errechnet sich aus der Fläche des Halbkreises plus der halben Ellipsenfläche.

Für eine Scheibe zwischen Neumond und Halbmond errechnen wir die Beleuchtung aus der Fläche des Halbkreises minus der halben Ellipsenfläche.

Die Fläche des Halbkreises beträgt π/2 also 1,5716.

Die Formel für die Fläche der Halbellipse lautet (s * R * π)/2

Die kurze Halbachse s errechnet sich unter Zuhilfenahme des  weiter oben ausgerechneten Wertes phase.
Für Werte von phase zwischen 0 bis 0.5 lautet die Formel

s = cos(phase * 2 * π)

für Werte von phase zwischen 0.5 und 0.9999

s = – cos(phase * 2 * π)

(Minuszeichen vor dem cosinus beachten). Haben wir die Fläche der halben Ellipse berechnet, setzen wir das Ganze dann ins Verhältnis zum Vollkreis (Vollmond).

Ein Beispiel:

  • Phase ist hier 0,375 (entspricht einem abnehmenden Viertelmond)
  • s = cos(0,375 * 2 * π) = -0,7071
  • Fläche der Ellipse = -0,7071 * 1 * π  = -2,2214
  • davon die Hälfte = -1,1107
  • Addiert zur Fläche des Halbkreises = 1,5708 + (-1,1107) = 0,4601
  • in Prozent des Vollkreises = 0,4601/3,1416 * 100 = 14,6% der Mondoberfläche sind beleuchtet.

Python Code

Auch hier habe ich die einzelnen Rechenschritte zum besseren Verständnis – und um das Debuggen zu erleichtern – nicht zusammengefasst.

Achtung: je länger der von euch im Code weiter oben gewählte Vollmondtermin  her ist, desto ungenauer wird das Ergebnis.

oder beides zusammen als Subroutine

Wird das Programm direkt aufgerufen, gibt es die aktuelle Mondphase numerisch und in Textform sowie die beleuchtete Mondoberfläche aus.

Das Programm (ich habe es mond.py genannt) kann in andere Programme mit

import mond

(ohne .py am Ende) eingebunden werden. Aufgerufen wird es folgendermaßen:

Quellen:

Als sehr hilfreich zum Verständnis haben folgende Webseiten erwiesen:

http://www.Mondverlauf.de
http://avila.star-shine.ch/astro/berechnungen.html

 

 

8 Gedanken zu „Mondphase und -beleuchtung ausrechnen

  1. Hi Christoph

    Danke für das nette Programm :-).

    Ich habe das nun hin und her getestet und komme immer zum selben Ergebnis, dass die Prozentausgabe meiner Meinung nach nicht korrekt ist.

    Bspw. Heute 21.01.2024 11:00 Uhr müsste eigentlich die Pronzentangabe laut http://www.mondverlauf.de bei 81.6% liegen. Obiger Code gibt bei mir jedoch dann 76.8% aus.

    Mach ich da etwas falsch? Bitte überprüfe mal deinen Code.

    LG und Danke René

    1. Hallo René,
      danke für deinen Hinweis. Du hast recht… aber auch nicht. Die Formel stimmt, wenn du als Datum des "historischen" Vollmondes nicht den 25.09.2018 verwendest sondern möglichst den jeweils letzten Vollmond (per heute wäre das der 07.12.2023 um 01:33:12 Uhr).
      Was ich beim Verfassen des Artikels in grauer Vorzeit nicht gewusst, bzw. erwähnt habe: Leider ist der Mondzyklus aufgrund der elliptischen Form seiner Umlaufbahn um die Erde nicht 100% regelmäßig. Außerdem spielt noch der Einfluss der Gravitation vor allem der Sonne aber auch von Jupiter und Saturn auf das Erde-/Mondsystem eine Rolle.
      Zitat Wikipedia: "Die genannten Monatslängen sind Mittelwerte. Da die Bewegungen sowohl des Mondes als auch der Erde auf ihren elliptischen Bahnen ungleichförmig sind, können einzelne Monate mehr oder weniger stark davon abweichen. Die Dauer eines gegebenen synodischen Monats kann beispielsweise bis zu etwa 7 Stunden länger oder 6 Stunden kürzer sein als der mittlere synodische Monat.[14] Darüber hinaus unterliegen die mittleren Monatslängen aufgrund langfristiger Veränderungen der Erd- und Mondbahn einer langsamen Drift."
      Ich werde einen Hinweis in den Beitrag aufnehmen.
      Viele Grüße in die Schweiz
      Chris

Schreibe einen Kommentar

Ich freue mich über Lob und Kritik.
Falls du Probleme mit der hier vorgestellten Anleitung hast und nicht weiter kommst:
Bitte das Problem oder die Fehlermeldung(en) möglichst genau beschreiben, auch an welcher Stelle (z.B. in welchem Node oder Befehl) und unter welchen Umständen der Fehler auftritt.
Gerne kannst du mir auch ein Mail schreiben. Die Adresse findest du im Impressum.
Ich gebe mir viel Mühe, meinen Lesern weiterzuhelfen. Je konkreter du bist, desto einfacher und schneller kann ich versuchen zu helfen.
Deine E-Mail-Adresse wird nicht veröffentlicht.
Erforderliche Felder sind mit * markiert