Die mathematische Funktion arctan2, auch atan2, ist eine Erweiterung der inversen Winkelfunktion Arkustangens und wie diese eine Umkehrfunktion der Winkelfunktion Tangens.
Sie nimmt zwei reelle Zahlen als Argumente, im Gegensatz zum normalen Arkustangens, welcher nur eine reelle Zahl zum Argument hat. Damit hat sie genügend Information, um den Funktionswert in einem Wertebereich von (also allen vier Quadranten) ausgeben zu können, und muss sich nicht (wie der normale Arkustangens) auf zwei Quadranten beschränken.
Der volle Wertebereich wird häufig benötigt, beispielsweise bei der Umrechnung ebener kartesischer Koordinaten in Polarkoordinaten: wenn der Funktion [1] die beiden kartesischen Koordinaten als Argumente gegeben werden, erhält man den Polarwinkel, der sich im richtigen Quadranten befindet, d. h. der die Beziehungen
und
mit
erfüllt.
Ein mathematisch nützlicher Zusatzeffekt ist, dass Winkel, bei denen der Tangens eine Polstelle hat, nämlich die Winkel durch ganz normale reelle Koordinaten spezifiziert werden können, nämlich durch anstatt
Das kommt von der Definitionsmenge der Funktion der „gelochten“ Ebene, welche mit einer Gruppenstruktur versehen werden kann, die isomorph ist zur multiplikativen Gruppe der komplexen Zahlen ohne die Null. Diese Gruppen sind direktes Produkt der Kreisgruppe der Drehungen und der Gruppe der Streckungen um einen Faktor größer Null, der multiplikativen Gruppe Erstere Gruppe lässt sich durch den Polarwinkel parametrisieren, zweitere durch den (positiven) Betrag
Inhaltsverzeichnis
1Lösung: Zwei Argumente
2Implementierungen
3Formel
4Sprungstelle und kontinuierliche Drehung des Polarwinkels
5Isomorphie zur Kreisgruppe
6Genauigkeitskontrolle
7Verbindung zum komplexen Logarithmus
8Ableitungen
9Siehe auch
10Weblinks
11Einzelnachweise und Anmerkungen
Lösung: Zwei Argumente
Zwei vom Ursprung verschiedene Punkte und spezifizieren denselben Polarwinkel, wenn sie auf demselben Strahl durch liegen. Dann sind sie bezüglich der durch
definierten Relation äquivalent.[2] Dagegen ist der Tangenswert von Polarwinkeln auch dann derselbe, wenn der Strahl um oder , also genau in den Gegenstrahl, weitergedreht ist. Informationstheoretisch betrachtet lässt der Tangens die Vorzeicheninformation von (rot in den Formeln) unter den Tisch fallen:
man nehme nur .
Abb. 1: Graph der Arkustangensfunktion über . In blauen römischen Ziffern die jeweils 2 Quadranten in der Ziel-Ebene für positives oder negatives . Die 2 Asymptoten in −·−·−.
Da der Tangens mit periodisch ist und der Funktionsbegriff Rechtseindeutigkeit verlangt, muss für seine Umkehrung (Spiegelung an der 1. Winkelhalbierenden) sein Definitionsbereich mindestens auf die Periodenlänge eingeschränkt werden – in diesem Artikel auf das Intervall (s. Abb. 1). Das hat zur Folge, dass die Umkehrfunktion Arkustangens kein größeres Bild als haben kann. Dabei ist die ganze reelle Achse als Definitionsbereich des Arkustangens zulässig, weil das Bild des Tangens unter gerade ist.
Um zu einem vollwertigen Polarwinkel zu kommen, gibt es in vielen Programmiersprachen und Tabellenkalkulationen eine erweiterte Funktion, die mit den beiden kartesischen Koordinaten beschickt wird und damit genügend Information hat, um den Polarwinkel modulo (bspw. im Intervall wie der Abb. 3) und in allen vier Quadranten zurückgeben zu können.
Implementierungen
Die erste Implementierung war nicht später als im Jahr 1966 in der Programmiersprache Fortran.[3] Heute ist die Funktion auch in anderen Programmiersprachen vorhanden.
Die Funktion hat häufig den Namen , so bei den Programmiersprachen Fortran 77[4], C, C++, Java, Python, Matlab, R, iWork Numbers[5],LibreOffice Calc[6]. In vielen dieser Programmiersprachen (nicht bspw. bei LibreOffice Calc) ist die Reihenfolge der Argumente umgekehrt, also die -Koordinate das erste Argument – und das, obwohl es hier auf die Polarachse, die üblicherweise mit der -Achse identifiziert wird, in ganz besonderem Maße ankommt. Denn es hat gleich Null zu sein für genau die Punkte auf dieser Achse. Deshalb sollte es, wenn es um die übliche -Ebene geht, bei der Erstnennung der -Achse bleiben; die -Achse ergänzt dabei nur noch die Richtung, in welche der Polarwinkel zunimmt. In Common Lisp, wo optionale Argumente existieren, erlaubt die -Funktion, die -Koordinate als optionales zweites Argument zu übergeben,[7] wobei die Standardannahme ist.
Ein weiterer vorkommender Name ist , so bei den Tabellenkalkulationen Excel[8] und OpenOffice Calc.
In Mathematica ist eine Funktion definiert, bei der das erste Argument weggelassen werden kann.
Seit der Einführung des FPU-Befehlssatzes x87 von Intel im Jahr 1980 kennen die x87-Prozessoren einen Befehl mit im Prinzip derselben Reihenfolge der Operanden und demselben Ergebnis.[9]
Zur Beachtung
In diesem Artikel wird die Reihenfolge und der Name verwendet.
Sprungstelle und kontinuierliche Drehung des Polarwinkels
Abb. 3: Graph von über für . In blauer römischer Ziffer derjenige Ziel-Quadrant des Polarwinkels, der dem -Quell-Quadranten entspricht. Die 2 Asymptoten in −·−·−.
Bei zunehmendem Polarwinkel , das heißt bei einer Drehung im mathematischen Sinn (und entgegen dem Uhrzeigersinn), so bei der Wanderung vom Quadranten (entspricht ) über die Quadranten [11] (entspricht ) und (entspricht ) zum Quadranten (entspricht ), beginnt eine Periode in der Abb. 3 unten am (Strahl durch und den) Punkt[12]
,
von wo es auf dem roten Graphen von links unten nach rechts oben (immer in „ONO-Richtung“) weitergeht. Wie üblich soll in der Nähe der Null infinitesimal unterhalb und infinitesimal oberhalb bedeuten. Die Drehung führt weiter in den Quadranten über den (auf der 1. Winkelhalbierenden liegenden und in der Abb. 3 durch eine kleine rote Kreisfläche markierten) Punkt
,
zum Punkt
,
der einer der Polstellen des Tangens entspricht und deshalb für den Arkustangens ein unendlich ferner Punkt ist. Der -Wert wechselt (auf der waagrechten und strich-punktierten Asymptote) von nach , ein Sachverhalt, den auch der rote Kringel rechts im Quadranten als -Senke und der rote Knubbel links im Quadranten als -Quelle ausdrücken soll. Aus Sicht der Funktion geschieht aber nichts weiter, als dass der -Wert sich von zu ändert.
Die weitere Drehung führt durch den Quadranten über den markierten Punkt
zum Punkt
,
der im Koordinatenursprung liegt, und von dort durch den Quadranten über den markierten Punkt
,
zum Punkt
.
Dieser Punkt entspricht der anderen Polstelle des Tangens. Bei ihm findet dasselbe Zusammenfallen der Senke im Quadranten mit der Quelle im Quadranten statt wie oben beim Argument . Die weitere Drehung durch den Quadranten führt über den markierten Punkt
schließlich zur Sprungstelle
.
Dieser Fall kann durch leichte Abwandlung der Bedingungen in der Formel entweder dem Fall in der Zeile darüber oder dem darunter zugeschlagen werden, wonach das Intervall der Bildmenge an seinem oberen Ende abgeschlossen und am unteren Ende offen ist, also , oder eben umgekehrt .
Hat die Berechnung des Polarwinkels eine kontinuierliche Drehung zu begleiten, dann kann die Funktion so angepasst oder erweitert werden, dass
die Sprungstelle an einem beliebigen Punkt (einem beliebigen Strahl) des Definitionsbereichs liegt;
auch bei einer Drehung über die Periodenlänge hinaus der Polarwinkel kontinuierlich zu- bzw. abnimmt. Hier kommt die Umlaufzahl ins Spiel.
Beispielsweise können in Anwendungen, bei denen es auf die Stetigkeit innerhalb einer Halbebene ankommt, folgende Formeln nützlich sein:
für
(Quadranten und )
für
(Quadranten und )
für
(Quadranten und )
für
(Quadranten und )
für
(Quadranten und )
für
(Quadranten und )
für
(Quadranten und )
Die 7 Zeilen sind so angeordnet, dass die Werte zweier über einander stehender Funktionen im gemeinsamen Definitionsgebiet übereinstimmen. Wegen der Sprungstelle von beim Strahl ist Gleichheit mit einer der stetigen Funktionen nicht möglich.
Isomorphie zur Kreisgruppe
Die präzise mathematische Darstellung der folgenden wohlbekannten Abbildung bedarf sowohl auf der Urbild- wie auf der Bild-Seite zusätzlicher Hilfsabbildungen.
auf die Kreisgruppe, dessen Kern das neutrale Element mit ist. Sind und mit der natürlichen Topologie ausgestattet, dann ist in beiden Richtungen stetig, mithin ein Homöomorphismus.
Genauigkeitskontrolle
Mit einer kleinen Vorbereitung und mit nur einem Vergleich mehr als in den Fallunterscheidungen der Formel lässt sich das Konvergenzverhalten der Taylorreihe (des Arkustangens) kontrollieren und ggf. verbessern.
Der Winkel von zeichnet sich dadurch aus, dass er ein ganzzahliger Bruchteil, nämlich ein Achtel, des vollen Winkels von ist und gleichzeitig sein Strahl durch ganzzahlige Koordinaten geht. Quadranten lassen sich in der Koordinatenebene so ausrichten, dass ihre Begrenzungen (die definitionsgemäß stets Strahlen sind) parallel zu den Koordinatenachsen zu liegen kommen. Bei Oktanten[15] kommen noch die Winkelhalbierenden als Begrenzungen hinzu. Die Feststellung, zu welchem der acht Oktanten ein Punkt gehört, ist bei einer derartigen Ausrichtung besonders einfach.
Schreibweise
In diesem § werden in den Beziehungen zwischen Strahlen und Winkeln die gewohnten Operatoren mit der darübergeschriebenen Tilde verwendet, um auszudrücken, dass ein Strahl eine Äquivalenzklasse ist. Und bei den Vergleichsoperatoren wird der Strahl stets mit dem ihm am nächsten liegenden Winkel verglichen.
Um Verwechslungen mit Koordinaten zu vermeiden, wird in den Dezimaldarstellungen statt des Kommas der Dezimalpunkt verwendet.
Im Folgenden wird versucht, einen beliebigen Strahl resp. Winkel mit einfachen und umkehrbaren Drehungen in das an der Polarachse symmetrische Winkelintervall zu drehen. Dann ist nämlich der Absolutbetrag des Arguments in der Taylorreihe des Arkustangens .
In einer ersten Drehung wird der Strahl um gedreht, d. h. der Strahl
gebildet. Der Oktant, in den dieser Strahl fällt, sei der -te, und die Nummerierung der Oktanten sei so gewählt, dass der erste das Winkelintervall abdeckt:
Nummer des Oktanten seine untere und obere Begrenzung
die obere als Strahl
die obere als Polarwinkel
Vom derart bestimmten Oktanten wird der obere begrenzende Strahl genommen, der durch einen Punkt aus der in der Tabelle gezeigten Menge von Strahlen charakterisiert werden kann. (Alle diese Punkte haben ganzzahlige Koordinaten, und beim ersten Oktanten ist bspw. .) Dann ist oder
.
Es folgt eine Drehung von , die zweite, jetzt um , so dass
im gewünschten Winkelintervall ist. Um diese zweite Drehung von mit ganzzahligem muss das Ergebnis, wenn der Arkustangens berechnet ist, korrigiert werden.
Die erste Drehung muss nur ungefähr betragen. Wenn sie davon etwas abweicht, etwa oder auch beträgt, dann wird der Strahl möglicherweise nicht so gut in das an der Polarachse symmetrische Winkelintervall eingepasst. Das Konvergenzverhalten verschlechtert sich aber wegen nur geringfügig auf .
Nach der zweiten Drehung kann die Taylorreihe (an der Entwicklungsstelle )
entwickelt und die abschließende Korrektur
vorgenommen werden.
Beispiele
Der Ausgangsstrahl sei , was einem Winkel von ca. entspricht. Durch die -Addition von kommen wir auf , also in den -ten Oktanten. Dessen obere Begrenzung liegt bei . Wir bilden die Differenz und berechnen mit und korrigieren mit zum Endergebnis .
Der Ausgangsstrahl sei , was einem Winkel von ca. entspricht. Durch die -Addition von kommen wir auf , also in den -ten Oktanten. Das obere Ende des Oktanten liegt bei . Da dieser Oktant die Sprungstelle enthält, setzen wir bei diesem -ten Oktanten im Fall den Korrekturwinkel auf . Wir bilden die Differenz und berechnen mit und korrigieren mit .
Verbindung zum komplexen Logarithmus
Man kann die Funktion für auch über den Hauptwert des komplexen Logarithmus definieren als
mit der Argument-Funktion. Diese Funktion wird zum Beispiel in der inversen Kinematik benutzt, um Gelenkeinstellungen korrekt zu beschreiben. Dies ist allerdings nur eine andere formale Darstellung, denn zur Berechnung muss man mit bestimmen und dazu die gegebene kartesische Darstellung von in die Polarform überführen, wobei man im Endeffekt wieder auf die oben definierte-Funktion mit reellen Argumenten zurückgreift.
Ableitungen
Die Funktion hängt von zwei Variablen ab und ist (außer im Ursprung) stetig differenzierbar, hat also zwei partielle Ableitungen. Für die Bedingung des ersten Falls (Quadranten und ) und dessen Zuordnung ergibt sich
[1]
,
[1]
Die Einschränkung auf den ersten Fall kann nachträglich fallen gelassen werden, so dass die Gleichungen für alle gelten.[16]
Damit ist
der Gradient der Funktion , und seine Richtung ist an jedem Punkt senkrecht zum Radiusvektor in mathematisch positiver Drehrichtung. Das passt zu der Tatsache, dass der Funktionswert von , der Polarwinkel, in dieser Richtung zunimmt.
Eine Integration dieses Differentials entlang eines Weges ergibt die Änderung des (Polar)winkels über den Weg. Ist der Weg geschlossen, so erhält man die Umlaufzahl (in Bezug auf den Ursprung ).
Commons: Arkustangens und Arkuskotangens – Sammlung von Bildern, Videos und Audiodateien
Math. Java 1.6 SE JavaDoc
C++ Programmer’s Reference
MATLAB Function Reference
Mathematica Function Reference
atan2 auf Everything2
Einzelnachweise und Anmerkungen
↑ abcdIn diesem Artikel wurde die Argumentreihenfolge gewählt, weil allermeistens von der -Ebene und praktisch nie von der -Ebene gesprochen wird. Mehr zu Funktionsname und Argumentreihenfolge findet sich im § Implementierungen.
↑Die Begriffsbildung gestattet u. a. eine einfachere und präzisere Spezifikation der Werte und die der auf zwei Tangens-Perioden aufgeteilten Polstelle des Tangens entsprechen.
↑Elliott I. Organick: A FORTRAN IV Primer. Addison-Wesley, 1966, S.42 (englisch): “Some processors also offer the library function called ATAN2, a function of two arguments (opposite and adjacent).”
↑Fortran Wiki atan2. GNU Free Documentation License (GFDL), abgerufen am 4. April 2023 (englisch).
↑Numbers’ Trigonometric Function List. Apple; abgerufen im 1. Januar 1 (englisch).
↑LibreOffice Calc ATAN2. Libreoffice.org; abgerufen im 1. Januar 1 (englisch).
↑CLHS: Function ASIN, ACOS, ATAN. LispWorks; abgerufen im 1. Januar 1 (englisch).
↑Microsoft Excel Atan2 Method. Microsoft; abgerufen im 1. Januar 1 (englisch).
↑AMD64 Architecture Programmer’s Manual Volume 5: 64-Bit Media and x87 Floating-Point Instructions. (PDF) AMD, November 2021, S. 280, abgerufen am 12. November 2022 (englisch).
↑Von den komplexen Zahlen her weiß man, dass das -Inverse von auf ganz (und nicht nur auf )
ist und dass eine abelsche Gruppe ist, was aber im Text so nicht gebraucht wird.
↑Gemeint ist der Halbquadrant, der dem nautischen Gerät Oktant und der Windrose mit den vier Nebenhimmelsrichtungen entspricht, und nicht der dreidimensionale Oktant (Geometrie).
↑Die Ableitungen sind gebrochen rationale Funktionen und enthalten keine transzendente Funktion. Dieses Phänomen ist aber schon vom Arkustangens her bekannt.