EphemPedia

Anhänger der rechnenden Astronomie

Benutzer-Werkzeuge

Webseiten-Werkzeuge


der_richtige_quadrant

Umkehrfunktionen - Der richtige Quadrant

Wenn der Sinus, der Cosinus oder der Tangens eines Winkels bekannt ist, kann der Winkel selbst mithilfe der Umkehrfunktionen Arcussinus, Arcuscosinus oder Arcustangens ermittelt werden. Diese „inversen“ trigonometrischen Funktionen sind jedoch nicht einwertig.
Wenn zum Beispiel $\sin \alpha = 0.5$ ist, dann ist $\alpha$ = $30^\circ$, $150^\circ$, $390^\circ$ usw.

Aus diesem Grund geben z.B. Taschenrechner oder Programmiersprachen inverse trigonometrische Funktionen nur über den halben Bereich von $0^\circ$ bis $360^\circ$ korrekt zurück:

  • Arcussinus und Arcustangens ergeben einen Winkel zwischen $-90^\circ$ und $+90^\circ$ (also zwischen $-\tfrac{\pi}{2}$ und $+\tfrac{\pi}{2}$ im Bogenmaß), während
  • Arcuscosinus einen Wert zwischen $0^\circ$ und $+180^\circ$ (zwischen 0 und $\pi$ im Bogenmaß) angibt.
  • Der dritte Quadrant fehlt und muß über rechentechnische Verfahren ermittelt werden.

Versucht man es z.B. mit $\cos (143^\circ)$, ist das Ergebnis $-0.79863551$, was bei Verwendung der Umkehrfunktion wieder $143^\circ$ zurückgibt.

Versucht man nun aber $\cos (217^\circ)$, erhält man ebenfalls $-0.79863551$, was, wenn man seinen Arcuscosinus nimmt, $143^\circ$ ergibt.

Daher entsteht immer dann, wenn die Umkehrfunktion von $\sin$, $\cos$ oder $\tan$ verwendet wird, eine Mehrdeutigkeit, die bei Bedarf auf die eine oder andere Weise geklärt werden muss. Jedes Problem sollte dabei separat untersucht werden.

Beispiel

Die Gleichung

$\sin(\delta) = \sin(\beta)\cdot\cos(\varepsilon) + \cos(\beta)\cdot\sin(\varepsilon)\cdot\sin(\lambda)$

gibt den Sinus der Deklination $\delta$ eines Himmelskörpers an. Die Funktion arcsin gibt diese Deklination dann immer im richtigen Quadranten an, da alle Deklinationen zwischen $-90^\circ$ und $+90^\circ$ Grad liegen. Hier ist alles in Ordnung.

Beispiel

Die Gleichung

$\cos(d) = \sin(\delta_1)\cdot\sin(\delta_2) + \cos(\delta_1)\cos(\delta_2)\cdot\cos(\alpha_1 - \alpha_2)$

gibt den Cosinus des Winkelabstands $d$ zweier Objekte auf der imaginären Himmelkugel an. Tatsächlich liegt jeder Winkelabstand im Bereich von $0^\circ$ bis $+180^\circ$, was auch dem Bereich der arccos-Funktion entspricht. Auch hier passt alles.

Betrachtet wir aber z.B. die Umrechnung von Rektaszension $\alpha$ und Deklination $\delta$ in die ekliptikalen Größen $\lambda$ und $\beta$ mithilfe der folgenden Formeln:

\[\begin{align} I)\quad \cos(\beta)\cdot \sin(\lambda) &= \sin(\delta)\cdot \sin(\varepsilon) + \cos(\delta)\cdot \cos(\varepsilon)\cdot \sin(\alpha) \\ II)\quad \cos(\beta)\cdot \cos(\lambda) &= \cos(\delta)\cdot \cos(\alpha) \end{align}\]

Wir bezeichnen der Einfachheit halber die rechten Seiten mit $A$ und $B$. Wenn wir nun die erste Gleichung durch die zweite dividieren, erhalten wir

\[\require{\cancel}\frac{I}{II} = \frac{\bcancel{\cos(β)}\cdot \sin(λ)}{\bcancel{\cos(β)}\cdot \cos(λ)} = \frac{\sin(λ)}{\cos(λ)} = \tan \lambda = \frac{A}{B}\]

Die Anwendung der Umkehrfunktion Arcustangens auf den Quotienten $\tfrac{A}{B}$ ergibt nur den Winkel $\lambda$ zwischen $-90^\circ$ und $+90^\circ$ mit einer Mehrdeutigkeit von $\pm 180^\circ$. Diese Mehrdeutigkeit kann man nun mit der folgenden Fallunterscheidung beseitigen:

Wenn der Nenner $B \lt 0$ ist, addiere 180° zum Ergebnis.

Damit erhält man $\lambda$ im korrekten Quadranten. Gegebenenfalls sollte der Winkel noch mit der Reduktions-Funktion auf das Intervall [0-360°] gebracht werden.

Viele Programmiersprachen enthalten heute eine nützliche „zweite“ Arcustangensfunktion wie z.B. ATN2 oder ATAN2, die die beiden Argumente $A$ und $B$ getrennt verwendet und den Winkel direkt im richtigen Quadranten zurückgeben kann.

Beispiel

Angenommen, Zähler $A = -0.5712$ und Nenner $B = -0.9139$; dann ergibt $\mathrm{ATN}\left(\tfrac{A}{B}\right)$ den Winkel $32^\circ$, während $\mathrm{ATN2}(A, B)$ den korrekten Wert $-148^\circ$ oder, in das Intervall [0-360°] gebracht, $+212^\circ$ ergibt. Da $B$ negativ ist, muss man $32^\circ + 180^\circ = 212^\circ$ rechnen.

Beispielcode in JavaScript

Da hier in vielen Berechnungen mit Winkeln im Gradmaß gerechnet wird, zeigt die folgende Funktion, wie man den arctan im korrekten Quadranten in Grad ermitteln könnte. JavaScript benutzt dafür die eingebaute Funktion Math.atan2. Für die Rückgabe in Grad muss man nur mehr mit $\tfrac{180}{\pi}$ multiplizieren.

function arctan2(y, x) {
  return Math.atan2(y, x) * (180/Math.PI); 
}
console.log(arctan2(4, 3))   // =>  53.13010235415598 (1. Quardant)
console.log(arctan2(4, -3))  // =>  126.86989764584402 (2. Quardant)
console.log(arctan2(-4, -3)) // => -126.86989764584402 (3. Quardant)
console.log(arctan2(-4, 3))  // => -53.13010235415598 (4. Quardant)

In der Berechnung wird der Zähler des Bruchs als $y$ und der Nenner als $x$ bezeichnet, wobei $y$ der erste Parameter der Funktion arctan2 ist, also $\alpha = \textrm{arctan2}\left({\frac{y}{x}}\right)$.
Eventuelle negative Winkelwerte können mit der Reduktions-Funktion red(…) in das Intervall [0°-360°] gebracht werden.

der_richtige_quadrant.txt · Zuletzt geändert: 2024/03/05 14:14 von hcgreier