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 phida arcsin, arccosund arctanalle 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 atan2Funktion, 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 phiin 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 phigegebenen zwei Koordinaten, einschließlich atan2, rect2polar, argOfComplexNumberund ä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 rdarf nicht negativ sein und phimuss 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°