Statistik
Besucher jetzt online : 150
Benutzer registriert : 20452
Gesamtanzahl Postings : 1010291
Der Astronomie-Chat ... Live Diskutieren, Fragen stellen, Kontakte knüpfen ... Jederzeit mit anderen Sternfreunden in Echtzeit plaudern ...
Benutzername:
Passwort:
Passwort speichern
Passwort vergessen?

 Alle Foren
 Astrotreff Intern
 Wissensspeicher
 Lösung des Quadrantenproblems mit tan(x/2)
 Neues Thema  Zum Thema antworten
 Druckversion
Autor  Thema Nächstes Thema  

Specht
Altmeister im Astrotreff

Deutschland
1028 Beiträge

Erstellt am: 01.02.2017 :  18:58:53 Uhr  Profil anzeigen  Antwort mit Zitat
Hallo!

Bei der Umrechnung von astronomischen Koordinaten stößt man immer wieder auf das sogenannte Quadrantenproblem. Ein Beispiel zur Verdeutlichung: Möchte man äquatoriale Koordinaten aus (geozentrischen) ekliptikalen Koordinaten berechnen, gelten die bekannten Formeln:

sin(r)*cos(d) = cos(e)*cos(b)*sin(l) - sin(e)*sin(b) (I)
cos(r)*cos(d) = cos(b)*cos(l) (II)
sin(d) = cos(e)*sin(b) + sin(e)*cos(b)*sin(l) (III)

r: Rektaszension, d: Deklination, l: ekliptikale Länge, b: ekliptikale Breite, e: Schiefe der Ekliptik

Alle Größen sind -je nach Programmiersprache- im Gradmaß oder im Bogenmaß anzugeben. Die Umrechnung eines Winkels vom Gradmaß ins Bogenmaß erfolgt durch Multiplikation mit pi/180. Im Folgenden gelte das Gradmaß.

Die Problematik des Quadrantenproblems liegt darin, dass durch die Symmetrie der Graphen die Winkelangaben mehrdeutig sind. Ein Sinuswert von 0.5 ergibt sich z.B. für einen Winkel von 30°, aber auch von 150°. Ferner liegt der Wertebereich der arcsin-Funktion bei Rechnern im Intervall [-90°, 90°], der Wertebereich des Arcuscosinus im Intervall [0°, 180°]. Somit kann man nur die Deklination d in Formel (III) eindeutig über den Arcussinus berechnen, da die Deklination ja stets im Intervall [-90°, 90°] liegt.

Um die Rektaszension r aus (I) und (II) zu errechnen, findet man in der Literatur zwei Wege. Erstens durch umständliche Fallunterscheidungen der rechten Seiten der Gleichungen (I) und (II). Zweitens durch Division der Gleichung (I) durch Gleichung (II). So gelangt man durch die Arcustangens-Funktion zu r, was aber nicht wirklich gut ist, da diese Funktion auch nur Werte im Intervall ]-90°, 90°[ liefert. Manche Sprachen bieten eine zusätzliche spezielle arctan-Funktion mit zwei Argumenten für dieses Problem an.

Einen anderen Weg fand ich in der Halbwinkelfunktion

tan(x/2) = sin(x)/(1+cos(x)) (IV)

Diese Möglichkeit zur Lösung des Quadrantenproblems habe ich noch nirgendwo sonst gelesen. Man teilt dazu die Gleichungen (I) und (II) jeweils durch cos(d) und setzt dann die erhaltenen Ausdrücke für sin(r) und cos(r) in Gleichung (IV) ein. Man erhält:

tan(r/2) = (cos(e)*cos(b)*sin(l) - sin(e)*sin(b))/(cos(d) + cos(b)*cos(l))

und somit

r = 2*arctan[(cos(e)*cos(b)*sin(l) - sin(e)*sin(b))/(cos(d) + cos(b)*cos(l))] (V)

Diese Funktion hat nun den Wertebereich im Intervall ]-180°, 180°[ und liefert stets ein eindeutiges Ergebnis für r. Bei einem negativen Wert addiert man einfach 360°. Zuvor muss man jedoch die Deklination d aus (III) berechnen. Eine Abfrage kann noch verhindern, dass der Nenner in (V) Null wird, es ist in den letzten 30 Jahren noch nie vorgekommen. Da beinahe alle Gleichungen bei Koordinatentransformationen die Form von (I), (II) und (III) haben, kann man generell so verfahren. Eine der drei Gleichungen liefert sofort ein eindeutiges Ergebnis, den anderen Wert bestimmt man dann über das Einsetzen der jeweiligen Ausdrücke von Sinus und Cosinus des Wertes in die tan(x/2)-Funktion.

Salü, Volker.

Bearbeitet von: am:

Kalle66
Forenmeister im Astrotreff

Deutschland
9614 Beiträge

Erstellt  am: 01.02.2017 :  19:38:04 Uhr  Profil anzeigen  Antwort mit Zitat
Volker,
interessanter Aspekt. Ich bin da nicht ganz so im Thema, hörte bislang nur vom Problem des "Gimbal-Locks" in Verbindung mit Euler-Winkel.

Kannst du auch die Literatur benennen, in welcher du die "beiden Wege" gefunden hast?

Gruß

PS:
Auch wenn die Schreibweise kurz und elegant ist, möchte ich ergänzend für Dritte hinweisen:

Intervalle mit eckigen Klammern zum Intervall [a; b] heißt, die Werte selbst gehören zum Intervall.
Intervalle mit eckigen Klammern weg vom Intervall heißt, dass der Wert selbst nicht mehr zum Intervall gehört.
Beispiele:
]0; 1[ bezeichnet das Intervall >0 bis <1
[0; 1] bezeichnet das Intervall >=0 bis <=1
]0; 1] somit das Intervall >0 bis <=1

Kalle - Alles wird gut !
Meine Okulardatenbank im Astrotreff: hier
Termine Teleskoptreffen gibt es hier

Bearbeitet von: Kalle66 am: 01.02.2017 19:38:50 Uhr
Zum Anfang der Seite

Specht
Altmeister im Astrotreff

Deutschland
1028 Beiträge

Erstellt  am: 01.02.2017 :  20:33:28 Uhr  Profil anzeigen  Antwort mit Zitat
Hi Kalle!
Zitat:
Kannst du auch die Literatur benennen, in welcher du die "beiden Wege" gefunden hast?
Dr.Oliver Montenbruck stellt in seinem Buch "Grundlagen der Ephemeridenrechnung" die Lösung mit den Fallunterscheidungen vor (vier Fallunterscheidungen anstelle meines Einzeilers), die Lösungsmöglichkeit mit der Gleichungsdivision und damit den Weg über den einfachen Arcustangens bringt Jean Meeus u.a. in seinem Buch "Astronomical Algorithms".

Salü, Volker.

Bearbeitet von: am:
Zum Anfang der Seite

Specht
Altmeister im Astrotreff

Deutschland
1028 Beiträge

Erstellt  am: 20.08.2017 :  16:36:09 Uhr  Profil anzeigen  Antwort mit Zitat
Hallo!

Wegen einer Nachfrage und zur Komplettierung des Themas hier noch die Berechnung von Horizontalkoordinaten aus äquatorialen Koordinaten:

Die Transformationsformeln lauten hier

sin(a)*cos(h) = cos(d)*sin(t) (I)
cos(a)*cos(h) = sin(g)*cos(d)*cos(t) - cos(g)*sin(d) (II)
sin(h) = sin(g)*sin(d) + cos(g)*cos(d)*cos(t) (III)

a: Azimut, h: Höhe, d: Deklination, g: geographische Breite, t: Stundenwinkel (Sternzeit - Rektaszension)

Alle Größen sind wieder im Gradmaß oder im Bogenmaß anzugeben. Beim Stundenwinkel t gilt: 24h entsprechen 360° bzw. 2*pi. Im Folgenden gelte das Gradmaß.

Wegen h∈[-90°, 90°] kann h direkt über den Arcussinus aus (III) berechnet werden.

Hier konnte man bei den ersten Planetariumprogrammen für Computer viel Zeit für den Seitenaufbau sparen, wenn man zuvor das Vorzeichen der rechten Seite von (III) testete. War es negativ, galt das dann auch für h und man brauchte die Höhe und den Azimut des Sterns gar nicht erst zu berechnen, da er unter dem Horizont stand. Die programmtechnisch komplexen und damals rechenzeitkritischen Funktionen arcsin, arccos und arctan musste man dann nicht anwenden. Das merkte man bei zigtausend Sternen deutlich an der Rechenzeit. Heute eher ein Witz...

Um den Azimut a zu erhalten, dividiert man die Gleichungen (I) und (II) durch cos(h) und erhält dann durch Einsetzen der Terme für sin(a) und cos(a) in Gleichung (IV) aus dem Topic:

a = 2*arctan[cos(d)*sin(t)/(sin(g)*cos(d)*cos(t) - cos(g)*sin(d) + cos(h))]

Diese Funktion hat wiederum den Wertebereich im Intervall ]-180°, 180°[ und liefert somit stets ein eindeutiges Ergebnis für a. Bei einem negativen Wert addiert man einfach 360°.

EDIT: Korrekturen.

Salü, Volker.

Bearbeitet von: Specht am: 20.08.2017 20:12:17 Uhr
Zum Anfang der Seite
   Thema Nächstes Thema  
 Neues Thema  Zum Thema antworten
 Druckversion
Springe nach:
Astrotreff - Astronomie Treffpunkt © Astrotreff 2001 - 2015 Zum Anfang der Seite
Diese Seite wurde in 0.37 sec erzeugt. Snitz Forums 2000

Der Astrotreff bedankt sich für die Unterstützung von:



?