Erstellt:29.08.2020 13:34:00 | Berechnung der Julianischen Zeiten (JD) |
Update:29.08.2020 14:47:00 | Berechnung der Modified Julianischen Zeiten (MJD) |
Update:20.08.2022 10:08:00 | Berechnung der Sonnenparameter |
Update:24.11.2022 10:25:00 | Bilder mit Beschreibungen Eingefügt |
Update:30.11.2022 19:00:00 | Beschreibung & Funktionen moonParameters.js |
Update:02.12.2022 19:00:00 | Beschreibung & Funktionen der Javascriptdateien |
Update:03.12.2022 17:10:00 | Weitere Beschreibung & Funktionen der Javascript- und HTML-Dateien |

Das obige Bild 1. Hauptprogramm … zeigt das Layout des Hauptprogramms. Es dienst der Dateneingabe. Einmal für die einmalige, Manuelle Berechnung und zum Anderen für die Automatische zeitliche Animation in Echtzeit oder auch Virtuell.
Die einzelnen Werte werden in einem Hintergrundprozess berechnet. Dazu werden die Startdaten vom Hauptprogramm an diesen Thread gesendet, dort berechnet und wieder an das Hauptprogramm zurückgegeben. Dort erfolgt dann die Ausgabe in den dafür vorgesehenen Datenfeldern.

Das Bild des Datenausgabefensters oben, „2. Datenausgabe der Sonnen- und Mondbahn“ gibt für jede Berechnung einer Animationssequenz den komplett berechneten Datensatz aus. Einige Daten werden nur einmal am Tag benötigt und bei erreichen eines neuen Tages berechnet und ausgegeben.
Man kann die Daten, mit der Buttonleiste unter dem Ausgabefenster, steuern. Man kann die Ausgabe anhalten und fortsetzen. Man kann den gesamten Text markieren und kopieren, um ihn in einem anderen Programm einzufügen. Hierbei gehen keine Daten verloren.

Das Bild mit der Darstellung der Animation „3. Zeitliche Sonne- und Mondbahn Animation“ ist noch in der Erstellungsphase und hat noch keine große Funktionalität, außer das es einen Wechsel vom Tag über die Nacht bis zum anderen Morgen gibt. (Noch nicht implementiert)

Das Overlay bietet verschiedene Einstellungsmöglichkeiten für die aktuelle- und virtuelle Simulation
der Sonne- und Monddaten. Man kann unter 4 Simulationsmodie wählen. Lesen Sie dazu unter „4. … Sonne-Mondbahn.html“ dem Hauptprogramm.
ACHTUNG: Das Programm wird in einem Popup-Fenster geöffnet. Der Popup-Blocker des Browsers muss deaktiviert sein. Es gibt ein zweites, hinzuschaltbares Fenster für die Datenausgabe in einem Textfeld.
Generell sollte man einen Browser der neuesten Generation benutzen, ebenso die neueste Betriebssystemversion, da Programmteile Multi-Tasking Funktionalität verwenden.
Auf dieser Seite findest man die aktuelle Entwicklungsversion der Mond- und Sonnenbahn Berechnung und Simulation. Das Programm spiegelt den aktuellen Stand der Programmentwicklung wieder.
- Man kann Daten grundsätzlich:
„Manuell“ über ein zu wählendes Datum/Uhrzeit berechnen lassen.
- „Automatisch“ mit Datum/Uhrzeit berechnen lassen.
-
- Mit dem(der) laufenden Datum/Uhrzeit unbegrenzt.
- Mit dem(der) laufenden Datum/Uhrzeit unbegrenzt bis zu einem(einer) Datum/Uhrzeit.
- Ab einem(einer) frei gewählten Datum/Uhrzeit unbegrenzt mit einem Zeitsprung und gewählter Geschwindigkeit.
- Ab einem(einer) frei gewählten Datum/Uhrzeit bis zu einem(einer) Datum/Uhrzeit mit einem Zeitsprung und gewählter Geschwindigkeit.
Bei Programmstart wird das(die) aktuelle Datum/Uhrzeit mit Zeitzone und Sommer/Winterzeit in die entsprechenden Datenfelder geladen. Wenn möglich wird der Längen- und Breitengrad Ihres PC-Standorts ebenfalls ermittelt. Der Programmmodus steht auf „Manuell“. Der Radioknopf „Manuell“ ist aktiviert.
Über die Schaltfläche „Berechnen“ kann man sich die Daten für das(die) aktuell eingestellte Datum/Uhrzeit und Position auf der Erde berechnen lassen. Datum und Uhrzeit sind über die Picker frei wählbar. Die Dämmerungsform kann gewählt werden, ebenso die Zeitzone und Sommer/Winterzeit, wie auch Längen- und Breitengrad. Die Zeitzone muss mit dem Längengrad korrespondieren. Pro Zeitzone hat man 15° = 1h in der Länge und somit östlich von Greenwich +180° und westlich von Greenwich -180°. Dies sind +/- 12 Zeitzonen.
Klickt man auf den Radioknopf „Automatisch“, öffnet sich ein Overlay Fenster. Man sieht die Uhrzeit laufen. Sie wird mit der Geschwindigkeit, im Datenfeld „Geschwindigkeit“ sichtbar, angezeigt. Die Geschwindigkeit ist frei wählbar. Zeitsprünge haben hier noch keine Bedeutung.
Über die Schaltfläche „Abbrechen“ kommt man zum Hauptfenster zurück und landet wieder beim Programmmodus „Manuell“.
Klickt man auf die Checkbox „Datenausgabe“, öffnet sich ein zweites Popup Fenster, wenn man auf die Schaltfläche „Berechnen“ geklickt hat. Man befindet sich in der Datenausgabe über ein Textfeld. Hier werden die einzelnen, berechneten Datensätze aufgezeichnet.
Man kann die Datenausgabe anhalten, die inzwischen berechneten Datensätze gehen nicht verloren. Man kann die Ausgabe wieder Starten und die inzwischen berechneten Datensätze werden angefügt.
Man kann das Fenster Schließen und die Datenausgabe verlassen. Die Datensätze sind verloren.
Dazu dienen die drei linken Schaltflächen unten im Fenster.
Bei angehaltener Datenausgabe kann man, über die drei rechten Schaltflächen, wahlweise den ganzen Text Markieren und dann woanders Einfügen oder einen selbst zu wählenden Text Markieren, Kopieren und woanders Einfügen. Das Ganze erfolgt über die Windows Zwischenablage. Wie vorher gehen dabei ebenfalls keine Datensätze verloren.
Beendet man das Popup Fenster, so gelangt man wieder zum Hauptfenster. Der Automatische Programmmodus bleibt jetzt aber aktiv und die Daten werden für das(die) aktuelle Datum/Uhrzeit berechnet und angezeigt.
Klickt man aber auf die Schaltfläche „Stop“ wird die automatische Berechnung beendet und alle Berechnungsmöglichkeiten sind wieder möglich. Man ist wieder im Programmmodus „Manuell“ und alle Ausgabefelder werden gelöscht sowie die Eingabefelder wieder zugreifbar gemacht.
In den nachfolgenden Textbereichen sehen Sie den Quellcode der Programmdateien, die unter dem Fenster stehen.
Dabei handelt es sich um das Hauptprogramm „Sonne-Mondbahn.html“, dem Ausgabeprogramm mit einem separaten Fenster zur Darstellung der einzelnen berechneten Datenpakete je Zeiteinheit des Berechnungstaktes „outputData.html“.
Die HTML-Datei „4. Sonne-Mondbahn.html“ stellt das Hauptprogramm mit dem HTML-Gerüst dar. Sie enthält alle Ausgabe Textfelder für die einzelnen berechneten Daten. Des Weiteren alle Eingabe Felder für die zeitlichen Berechnungswerte der Daten und der Animation.
Dieses sind:
- Datum und Uhrzeit
- Dämmerungsart
- Zeitzone und Sommer/Winterzeit (Ermittelt beim Neuladen)
- Längengrad des Beobachtungsorts (Muss mit der Zeitzone korrespondieren)
- Breitengrad des Beobachtungsorts
Zwei Radioknöpfe für die Wahl des Berechnungsmodus „Manuell“ oder „Automatisch“.
Zwei Check-Boxen für die zusätzlichen Datenausgaben. „Datenausgabe“ für das Ausgabefenster, in dem für jeden Berechnungszeitpunkt ein Datensatz mit allen Daten aufgezeichnet wird.
„Animation“ für das Animationsfenster, in dem der Stand von Sonne und Mond am Himmel animiert dargestellt wird.
Die Schaltfläche „Berechnen“, mit der der Programmlauf gestartet wird.
Darunter befinden sich vier Ausgabebereiche:
- Datums- und Uhrzeiten
- Sonnendaten
- Monddaten
- Programmparameter (Berechnungszeiten)
Klickt man auf den Radio Knopf „Automatisch“, so öffnet sich ein Overlay, innerhalb dem man zwischen vier Animation Berechnungsmodies wählen kann:
- Unbegrenzte Berechnung mit aktueller Uhrzeit
- Begrenzte Berechnung mit aktueller Uhrzeit bis zu einem Enddatum
- Unbegrenzte Virtuelle Berechnung ab einem beliebigen Datum
- Begrenzte Virtuelle Berechnung ab einem beliebigen Datum bis zu einem Enddatum
Bei den unbegrenzten Berechnungen kann man eine Wartezeit (Delay) wählen. Das ist die Zeit zwischen zwei Berechnungen. Die Zeit ist hier an die verlaufende Normalzeit angelehnt.
Bei den begrenzten Berechnungen kann man zusätzlich noch einen Zeitsprung wählen, da die Zeit hier nicht an die verlaufende Normalzeit angelehnt ist. Dies bedeutet, dass man zwischen zwei Berechnungszeitpunkten einen beliebigen Sprung in die Zukunft wählen kann.
Klickt man auf die Schaltfläche „Berechnen“ wird eine einmalige Berechnungen zur eingestellten Uhrzeit und den anderen Daten ausgelöst. Diese werden auch ausgegeben.
Das Programm „outputData.html“ gibt die berechneten und vom Hauptprogramm empfangenen Daten in einem Textausgabefenster aus. Dies geschieht für jeden berechneten Zeitpunkt. Beim ersten Datensatz eines neuen Tages werden etwas mehr Daten angezeigt. Sie müssen auch nur einmal täglich kalkuliert werden.
Die Datensätze werden hintereinander geschrieben und werden durch einen horizontalen Strich getrennt.
Unter dem Textausgabefenster befindet sich eine Reihe mit sechs Schaltflächen. Die linken drei dienen der Steuerung der Datenausgabe. Man kann die Datenausgabe hier Beenden, Pausieren lassen und wieder starten. Das Beenden schließt auch das Fenster und die Daten sind verloren. Beim Pausieren wird die Datenausgabe angehalten und man kann sich Datensätze anschauen. Es gehen keine in der Zwischenzeit berechneten Datensätze verloren. Setzt man die Datenausgabe fort, werden zuerst die gesicherten Datensätze eingefügt und dann geht es aktuell weiter.
Die drei rechten Schaltflächen dienen dem Kopieren von Datensätzen. Man kann den gesamten Text kopieren oder aber auch Teile daraus.
Eine Zeile darunter sieht man zwei Radio Knöpfe. Mit Ihnen kann man das Programm der aktuellen/virtuellen Simulation der Sonnen- und Mondposition starten und beenden.
Am Seitenende findet man noch eine Statuszeile und einen Link in Internet.
Das Modul „Init.js“ ist das Programm für die manuelle Berechnung. Ist der Radio Knopf „Manuell“ aktiviert, werden bei einem Klick auf die Schaltfläche „Berechnen“ zwei Funktionen in dem Modul abgearbeitet. Alle Daten werden einmal direkt berechnet und in den Ausgabe Textfeldern angezeigt,
Die Eingabedaten können jederzeit geändert werden. Die Animation eines Zeitraums ist hier nicht möglich.
Das Modul „controlAutomatic.js“ ist das Programm, das die Webworker für die automatischen Berechnungsmodie erstellt.
Es stellt auch die Message Queue für die von den Webworkern gesendeten Daten zur Darstellung im Hauptprogramm „Sonne-Mondbahn.html“ zur Verfügung. Des Weiteren einige Eventhandler zur Steuerung der Berechnungsmodie sowie einige Funktionen zum Stoppen der Webworker und Hilfsfunktionen.
Das Modul „worker-automatic.js“ ist der Webworker für das Overlay, in dem man die Automatik Einstellungen machen kann.
In dem Webworker befindet sich eine Message Queue die Daten aus dem Erstellungsprogramm „controlAutomatic.js“ empfängt. Dies ist hier lediglich die Geschwindigkeit der Neuberechnung (Wartezeit oder Delay). Dies wird dann auch an den Broadcast Channel „com“ weitergegeben und kann andernorts empfangen werden. Hier das Datenausgabe- und Animationsfenster.
Weiterhin wird die aktuelle Uhrzeit ermittelt und an das Ersteller Programm gesendet. Dort wird sie in den Textausgabefeldern angezeigt.
Die Quelldateien als Download: worker-automatic-actualdate-endless.js
Das Modul „worker-automatic-actualdate-endless.js“ ist der Webworker für die Berechnungen im aktuellen Animationsbereich, also mit aktuellem Datums und Uhrzeit.
Man kann die Einstellungen über das Overlay, zu erreichen über den Radio Knopf „Automatisch“, machen. Wählbar ist eine aktuelle Endlosberechnung und eine aktuell endliche Berechnung bis zu einem gewissen Datum und Uhrzeit.
In den Einstellungen ist eine Wartezeit (Delay) einstellbar. Dieser Wert besagt, dass nach der eingestellten Zeit die nächste Berechnung erfolgt. Standardeinstellung ist 500 ms / 1/2 Sekunde.
Die Quelldateien als Download: worker-automatic-choicedate-endless.js
Das Modul „worker-automatic-choicedate-endless.js“ ist der Webworker für die Berechnungen im virtuellen Animationsbereich, also außerhalb des aktuellen Datums und Uhrzeit. Die aktuelle Zeit wird hier lediglich als Taktgeber genutzt.
Man kann die Einstellungen über das Overlay, zu erreichen über den Radio Knopf „Automatisch“, machen. Wählbar ist eine virtuelle Endlosberechnung ab einem bestimmten Datum und Uhrzeit und eine virtuelle endliche Berechnung bis zu einem gewissen Datum und Uhrzeit.
In den Einstellungen ist eine Wartezeit (Delay) einstellbar. Dieser Wert besagt, dass nach der eingestellten Zeit die nächste Berechnung erfolgt. Standardeinstellung ist 500 ms / 1/2 Sekunde.
Dazu kann man dann noch einen Zeitsprung (Timelapse) wählen. Bei jeder neuen Berechnung wird nochmal der Wert des Zeitsprungs zur vergangenen Zeit hinzugerechnet. Somit ist ein Zeitraffer möglich.
Die Javascript Datei „sunparameters.js“ beinhaltet die Funktion „sunParameters(….,….)“. Diese Funktion berechnet alle Parameter der Sonne und sendet die Ergebnissean den Aufrufer zurück. Die Funktion wird nur für die „Automatische Berechnung“ gerufen.
Die Funktion ruft auch die Funktion „moonparameters()“ auf. Sie nimmt diese Ergebnisse in einem Array entgegen und gibt zwei Arrays an den Aufrufer zurück. Für weiter Infos lies unter „moonParameters.js“.
Die Javascript Datei „moonparameters.js“ beinhaltet die Funktion „moonParameters(….,….)“. Diese Funktion berechnet alle Parameter des Mondes und gibt die Ergebnisse in einem Array an den Aufrufer zurück. Die Funktion wird nur für die „Automatische Berechnung“ gerufen.
Der Datenfluss ist folgendermaßen:
In der Datei „controlAutomatic.js“ werden die zwei Webworker – „worker-automatic-actualdate-endless.js“ und „worker-automatic-choicedate-endless.js“ – für die vier automatischen Berechnungen erstellt. An die Webworker werden die Startdaten per Broadcast Channel übermittelt. Die Worker erledigen die Berechnungen und senden die Ergebnisse dann zurück an den Ersteller des Workers in der Datei „controlAutomatic.js“.
Die Daten werden ebenfalls über einen Broadcast Channel an weitere Zuhörer, wie dem Datenausgabefenster und dem Animationsfenster gesendet.
Zum Schluss kommen die berechneten Daten also wieder hier an und werden in den Ausgabe Textfeldern des Hauptprogramms „Sonne-Mondbahn.html“ angezeigt.
Die Bibliotheks Quelldateien als Download: Bibliotheken.zip
Hier gibt es noch weitere Informationen zu dem Programm, die man seriell Lesen kann oder über ein Inhaltsverzeichnis partiell erreicht werden können.