| Autor |
Nachricht |
| sembel |
Verfasst am: 16. Sep 2025 17:01 Titel: |
|
Irgendwie eingeschlafen hier ...
Zurück zu diesem kleinen und übersichtlichen Skript: https://www2.arnes.si/~gljsentvid10/jmoonpos.html
Das liefert sowohl ecliptic als auch equatorial. Nur, mit der Longitude scheint irgendetwas nicht zu stimmen. Der Mond bewegt sich viel zu langsam.
| Code: | Input: 20250916.1230
Ecliptic 110.565 Deg
Input: 20250916.2130
Ecliptic 115.62 Deg |
Das sind nur rund 5 Deg in 9 Stunden.
Wo ist mein Fehler oder wo ist der Fehler im Skript? |
|
 |
| sembel |
Verfasst am: 14. Sep 2025 16:11 Titel: |
|
| Stand: Das Skript ist fertig. Es wurden alle Skriptteile gefunden. Jetzt werden Leute gesucht, die es prüfen und gegebenenfalls verbessern. Zusendung per PN. Bitte per PN bei mir melden. |
|
 |
| sembel |
|
 |
| Scotty1701d |
Verfasst am: 07. Sep 2025 18:35 Titel: |
|
Es ist jetzt nicht hilfreich hier tonnenweise Material zu posten. Ich versuche mal, hier alles Wichtige zusammenzufassen:
1. Da sich die Erde dreht, brauchst du für die Zenit-Position des Mondes auch die aktuelle Stellung der Erde. Dies kann man zum Beispiel über die mittlere Greenwich-Sternzeit bestimmen. Ich habe mal versucht, passend zu deinem obigen Code eine Funktion zu erstellen.
| Code: | function getGMST(timestamp) {
var JH = toDays(timestamp)
var JH0 = floor( JH + 0.5 ) - 0.5 // midnight
var ut = 86400 * (JH - JH0) // seconds since midnight
vat t = JH / 36525.0 // centuries since J2000
vat t0 = JH0 / 36525.0
var gmst = 24110.54841 + 8640184.812866*t_0 + 1.0027379093*ut
+ (0.093104-6.2e-6*t)*t*t;
return rad * (gmst % 86400) // sidereal time in rad
}
|
Für dein obiges Beispiel erhalte ich 4.595567927775525
2. Der Stundenwinkel des Mondes ist Sternzeit-R.A. (asc in deinem code). Die atan-Funktion liefert ein Ergebnis zwischen -pi und +pi. Deshalb bekommst du oben einen negativen Wert heraus. Man muss eigentlich noch 2*pi dazu addieren und erhält dann
| Code: | asc = 3.7612744178014699
|
Der Stundenwinkel ist dann die Differenz
3. Rechnet man den Stundenwinkel und die Deklination in Grad um, dann erhält man die Koordinaten des Punktes, über dem der Mond im Zenit steht.
| Code: | Länge: 0.8342935099740551 = 47,8014969966690° (Ost)
Breite: -0,31851458187163156 = 18,2495412546186° (Süd)
|
Die tatsächliche Position liegt ein paar Grad daneben, da z.B. die Formel zur Berechnung nicht sehr genau ist. Außerdem berücksichtigt dieser Ansatz nicht, dass die Erde ein Ellipsoid ist. |
|
 |
| sembel |
|
 |
| sembel |
Verfasst am: 06. Sep 2025 20:53 Titel: |
|
Wenn du es nicht weißt ... ich hab da wenig Ahnung von. Vermutlich meinte ich die Zahlen in der Tabelle zur Nutation "Datos periódicos de la nutación".
Hier weitere Zahlentabellen zur Berechnung der Mondposition (ab Seite 30):
https://openaccess.uoc.edu/bitstreams/910899fc-0098-4f7d-a8a6-6c7ab901c93f/download
Ich kann damit wenig anfangen, aber einige hier im Forum sicherlich mehr. |
|
 |
| Scotty1701d |
Verfasst am: 05. Sep 2025 23:34 Titel: |
|
Ich weiß jetzt nicht, auf welche Tabellen du dich da beziehst.
Die mittlere Greenwich-Sternzeit müsstest du aus der Funktion „Aries()“ auf Seite 73 erhalten. Das Ergebnis ist da allerdings in Grad, nicht Bogenmaß. |
|
 |
| sembel |
|
 |
| sembel |
Verfasst am: 04. Sep 2025 23:30 Titel: |
|
Weiß nicht worauf du hinaus willst. Schau dir meine erste Anfrage zu einem Skript hier an. Da steht schon vieles. Wobei es jetzt einfacher ist, da nicht nur eine Idee vorhanden, sondern konkrete Vorstellungen. Missverständnisse gab es aber auch da.
https://www.physikerboard.de/ptopic,393659.html |
|
 |
| Scotty1701d |
Verfasst am: 04. Sep 2025 00:29 Titel: |
|
Das ist schade. Die wesentliche Mathematik findet ja bereits in deinem Skript statt. Lediglich die Sternzeit fehlt noch.
Wenn dir die Umrechnung zwischen Grad, Bogenmaß und Stundenwinkel bereits Probleme bereitet, dann frage ich mich allerdings, was du mit dem Ergebnis überhaupt anfangen willst. Die Position über der Erdoberfläche ist schon ein sehr exotisches Problem.
Die Berechnung der Bahnen von Himmelskörpern ist eine komplexe trigonometrische Aufgabe, und man muss zwischen mehreren Koordinatensystemen wechseln. Mal eben ein Skript anpassen ist da ohne ein gewisses Verständnis der Problematik wenig erfolgversprechend. |
|
 |
| sembel |
Verfasst am: 03. Sep 2025 22:57 Titel: |
|
| Vielen Dank für deine Beschreibung, aber das ist mir zu hoch. Mathematik in begrenztem Maße ja, aber das ist zuviel für mich. Anhand von Erklärungen krieg ich das nicht hin. Ein Skript anwenden, und gegebenenfalls anpassen, das ist weniger ein Problem. |
|
 |
| Scotty1701d |
Verfasst am: 02. Sep 2025 21:54 Titel: |
|
Bahnbewegungen von Planeten, Mond, Kometen, usw. werden immer mit der Bewegung der Erde um die Sonne verglichen. Bei Berechnungen nimmt man ein Koordinatensystem mit der Sonne im Mittelpunkt und einer Achse senkrecht zur Erdbahn. Der Nullpunkt ist die Richtung der Erde am Frühlingsanfang. Winkel und Abstand zur Sonne ergeben ekliptikale Koordinaten.
In diesem Koordinatensystem ist die Erdachse um 23,4 Grad gekippt.
Für Mondberechnungen muss man den Koordinatenursprung in den Erdmittelpunkt verschieben und man erhält dann die scheinbare ekliptische Länge und Breite.
Die Ekliptik ist der Kreis, den die Sonne scheinbar am Himmel im Laufe eines Jahres beschreibt.
Du solltest dir unbedingt mal eine Sternkarte genauer angucken. |
|
 |
| sembel |
Verfasst am: 02. Sep 2025 20:56 Titel: |
|
24 Stunden = 360°. 1 Stunde = 15°. 360° zu 180° bis -180°. Der Winkel des Mondorbits. Das ist soweit klar. Aber was hat die Sonne damit zu tun? Und wieso der Frühlingspunkt der Sonne? Es geht hier doch um den Mond und der hat so gesehen bekanntlich ein Eigenleben.
Wie schon bei meiner Anfrage zu einer Formel für die Position der Erde um die Sonne mitgeteilt, habe ich nur eine begrenzte Ahnung von der Materie und suche Skripts mit denen ich verschiedene Projekte gestalten kann. Beim jetzigen Projekt geht es (wieder) um den Mond, bzw. exakter um dessen Position um die Erde.
Übrigens ist die Programmiersprache egal. Kann auch Java sein. Umcoden ist kein Problem.
| Scotty1701d hat Folgendes geschrieben: | | Wie ich schon oben sagte, musst du die Sternzeit zu einem bestimmten Zeitpunkt für den Nullmeridian berechnen. Diese gibt dir die aktuelle Position des Frühlingspunktes an. Wenn du davon die R.A. subtrahierst und in Grad umrechnest, hast du den Stundenwinkel des Mondes bezogen auf den Nullmeridian. Da der Mond mit zunehmendem Stundenwinkel nach Westen wandert, ist das also die negative geographische Länge des Zenitpunktes. |
Und wie macht man das? |
|
 |
| Scotty1701d |
Verfasst am: 02. Sep 2025 00:30 Titel: |
|
| sembel hat Folgendes geschrieben: |
Die Angaben Rektaszension und Deklination sowie Latitude und Longitude sind bei solchen Skripten auf die "ekliptische" Laufbahn des Mondes bezogen, also auf den Mondorbit. Der ist bekanntlich anders als der Äquator, der Teil des Koordinatensystems der Erde ist. Gesucht wird aber eine Berechnung mit einem Ergebnis in Erdkoordinaten. Dazu habe ich nun folgendes gefunden, komme damit aber nicht klar.
Das Skript (JavaScript) auf dieser Webpage berechnet ...
https://www2.arnes.si/~gljsentvid10/jmoonpos.html
Coordinates
Longitude (Deg) / RA (Hrs): Ecliptic / Equatorial
Latitude / Dec (Deg): Ecliptic / Equatorial
Meine Frage dabei ist, was die Ergebnisse sind? Longitude und Latitude scheinen wieder ekliptisch zu sein. Rektaszension wird in Stunden (Hours) angegeben. Also nicht das von mir gesuchte.
|
Ekliptische Koordinaten sind bezogen auf die scheinbare Bahn der Sonne, äquatoriale auf den Himmeläquator. Der gemeinsame Nullpunkt ist der Frühlingspunkt, also der (scheinbare) Ort der Sonne am Frühlingsanfang.
Ekliptische Länge wird als Winkel in angegeben, die R.A. als „Zeitangabe“ in . Letztere kannst du durch Multiplikation mit 15 in einen Winkel umrechnen.
Die beiden Koordinatensysteme sind mit der Erdachse um 23,4 Grad gegeneinander geneigt. In deinem Script ist das die Variable e, und die beiden Funktionen rightAscension und declination erledigen schon die Umrechnung. Allerdings gibt dein Skript alle Winkel im Bogenmaß aus. Multiplikation mit degr liefert das Ergebnis in Grad und nachfolgende Division durch 15 dann in Stunden.
Wie ich schon oben sagte, musst du die Sternzeit zu einem bestimmten Zeitpunkt für den Nullmeridian berechnen. Diese gibt dir die aktuelle Position des Frühlingspunktes an. Wenn du davon die R.A. subtrahierst und in Grad umrechnest, hast du den Stundenwinkel des Mondes bezogen auf den Nullmeridian. Da der Mond mit zunehmendem Stundenwinkel nach Westen wandert, ist das also die negative geographische Länge des Zenitpunktes.
Für Winkel über 180 Grad müsstest du 360 Grad subtrahieren, damit du westliche Länge erhälst.
(Korrektur: Vorzeichen korrigiert) |
|
 |
| sembel |
Verfasst am: 31. Aug 2025 12:49 Titel: |
|
Hallo Scotty1701d,
vielen Dank für deine Antwort.
Java weil für Apps?
Von dem von dir erwähnten Buch habe ich auch schon irgendwo gelesen.
Habe selbst die Tage noch weiter gesucht und weiteres gefunden. Die Angaben Rektaszension und Deklination sowie Latitude und Longitude sind bei solchen Skripten auf die "ekliptische" Laufbahn des Mondes bezogen, also auf den Mondorbit. Der ist bekanntlich anders als der Äquator, der Teil des Koordinatensystems der Erde ist. Gesucht wird aber eine Berechnung mit einem Ergebnis in Erdkoordinaten. Dazu habe ich nun folgendes gefunden, komme damit aber nicht klar.
Das Skript (JavaScript) auf dieser Webpage berechnet ...
https://www2.arnes.si/~gljsentvid10/jmoonpos.html
Coordinates
Longitude (Deg) / RA (Hrs): Ecliptic / Equatorial
Latitude / Dec (Deg): Ecliptic / Equatorial
Meine Frage dabei ist, was die Ergebnisse sind? Longitude und Latitude scheinen wieder ekliptisch zu sein. Rektaszension wird in Stunden (Hours) angegeben. Also nicht das von mir gesuchte.
Das Skript (JavaScript) auf dieser Webpage berechnet die Mondposition am Himmel von einem angegebenen Standort. Wenn Standort und Mondposition übereinander liegen ... aber das wäre wohl der falsche Weg der Berechnung.
https://www.mondverlauf.de/#/-24.6678,-38.0989,3/2025.08.30/16:54/1/3
Das Skript (JavaScript) auf dieser Webpage berechnet exakt das von mir gesuchte:
https://en.tutiempo.net/moon/visible.html
Allerdings wurde das Skript verkompliziert. (Einzeiler, Sourcecode Zeile 90).
PS: die Variable mit den UTF-8-Zeichen gibt es simple encoded in der Browser-Konsole. |
|
 |
| Scotty1701d |
Verfasst am: 30. Aug 2025 23:45 Titel: Re: Formel gesucht: Position des Mond-Zenits auf der Erde |
|
Hallo sembel,
die Bewegung des Mondes ist recht kompliziert. Dein Programm liefert daher wahrscheinlich nur einen Näherungswert der Position. Die Variablen l und b geben dabei die ekliptische Länge und Breite an. Ich kann nicht direkt erkennen, ob die Drehung von Perigäum und Knoten berücksichtigt werden.
Die Rektaszension und Deklination sind nicht ortsabhängig sondern geben die Position relativ zum Sternenhimmel an. Für einen bestimmten Zeitpunkt muss man jetzt noch die Sternzeit und daraus den Stundenwinkel des Modes bestimmen. Daraus ergibt sich dann die geographische Länge des Zenitpunktes. Die Breite müsste mit der Deklination übereinstimmen.
Ich bastle gerade auch an einem Astronomieprogramm und benutze dazu das inzwischen schon ältere Buch „Astronomie mit dem Personal-Computer“ von Pfleger und Montenbruck. Dazu schreibe ich die C++ Programme in Java um. |
|
 |
| sembel |
Verfasst am: 28. Aug 2025 21:29 Titel: Formel gesucht: Position des Mond-Zenits auf der Erde |
|
Hallo,
bin auf der Suche nach einer Formel für den Mond. Die Formel soll die Position des Mondes in seinem Zenit auf der Erde berechnen. Als Input wird der aktuelle Unix Timestamp verwendet. Das Ergebnis sollen Koordinaten (Latitude, Longitude) sein, an denen der Mond zur angegebenen Zeit im Zenit steht.
Die von mir gefundenen Skripts berechnen dies scheinbar nicht, sondern nur Angaben zum Mond von einem angegebenen Standort (Latitude, Longitude) aus. Aus solch einem Skript habe ich mir die von mir gesuchte Berechnung extrahiert, aber das Ergebnis zeigt auf, dass damit wohl etwas anderes berechnet wird. Hier mal ein Beispiel (JavaScript):
| Code: | <script>
// https://github.com/mourner/suncalc/blob/master/suncalc.js
// https://github.com/Hypnos3/suncalc3/blob/master/suncalc.js
var PI = Math.PI;
var sin = Math.sin;
var cos = Math.cos;
var tan = Math.tan;
var asin = Math.asin;
var atan = Math.atan2;
var acos = Math.acos;
var rad = PI / 180;
var degr = 180 / Math.PI;
var dayMs = 86400000; // 1000 * 60 * 60 * 24;
var J1970 = 2440587.5;
var J2000 = 2451545;
function toDays(timestamp) {
return ((timestamp / dayMs) + J1970) - J2000;
}
var e = rad * 23.4397; // obliquity of the Earth
function rightAscension(l, b) {
return atan(sin(l) * cos(e) - tan(b) * sin(e), cos(l));
}
function declination(l, b) {
return asin(sin(b) * cos(e) + cos(b) * sin(e) * sin(l));
}
function getMoonPosition(timestamp) {
var d = toDays(timestamp);
var L = rad * (218.316 + 13.176396 * d); // ecliptic longitude
var M = rad * (134.963 + 13.064993 * d); // mean anomaly
var F = rad * (93.272 + 13.229350 * d); // mean distance
var l = L + rad * 6.289 * sin(M); // longitude
var b = rad * 5.128 * sin(F); // latitude
return {
lon: l,
lat: b,
asc: rightAscension(l, b),
dec: declination(l, b)
};
};
console.log(Date.now());
console.log(getMoonPosition(Date.now()));
</script> |
Ergebnis (Beispiel):
timestamp: 1756407853004
asc: -2.5219108893781166
dec: -0.31851458187163156
lat: -0.06796343355133441
lon: 2158.9583826066987
Quelle: https://github.com/Hypnos3/suncalc3/blob/master/suncalc.js#L814
Die erste Frage ist, ob eventuell schon Skripts für solch eine Berechnung existieren und wo sie zu finden sind. Ansonsten die Bitte um Hilfe solch ein Skript zu konstruieren.
Hilft die Berechnung von Rektaszension und Deklination bereits? Die Ergebnisse von Latitude und Longitude sind etwas unverständlich. |
|
 |