Manchmal ist es wirklich schwierig, kartesische Koordinaten (x,y)
in Polarkoordinaten umzuwandeln (r,phi)
. Während Sie berechnen können , r = sqrt(x^2+y^2)
ganz einfach, Sie müssen oft einige Unterscheidung von Fällen , in denen die Winkelberechnungs phi
da arcsin
, arccos
und arctan
alle anderen trigonometrischen Funktionen haben eine Co-Domäne , die jeweils nur Spannweiten Hälfte der Kreis.
In vielen Sprachen gibt es eingebaute Funktionen zur Umrechnung von Rechteckkoordinaten in Polarkoordinaten oder zumindest eine atan2
Funktion, die - vorausgesetzt (x,y)
- den Winkel berechnetphi
.
Aufgabe
Ihre Aufgabe ist es, ein Programm / Funktion zu schreiben , die zwei (Gleitkomma-, nicht beid Nullen) hat kartesisch (x,y)
und gibt den entsprechenden Polarwinkel phi
, wobei phi
in Grad Bogenmaß oder Noten werden (mit Qualitäten I mittlere Gon , die 1 sind / Je nachdem, was für Sie am bequemsten ist.
Der Winkel wird in positiver Orientierung gemessen und wir haben den Nullwinkel für (1,0)
.
Einzelheiten
Sie können nicht Einbauten verwenden, um den Winkel zu berechnen phi
gegebenen zwei Koordinaten, einschließlich atan2
, rect2polar
, argOfComplexNumber
und ähnliche Funktionen. Sie können jedoch die üblichen trigonometrischen Funktionen und ihre Umkehrungen verwenden, die nur ein Argument enthalten. Beliebige Einheitensymbole sind optional.
Der Radius r
darf nicht negativ sein und phi
muss im Bereich liegen [-360°, 360°]
(es spielt keine Rolle, ob Sie ausgeben 270°
oder-90°
).
Beispiele
Input Output
(1,1) 45°
(0,3) 90°
(-1,1) 135°
(-5,0) 180°
(-2,-2) 225°
(0,-1.5) 270°
(4,-5) 308.66°