A volte è davvero difficile convertire le coordinate cartesiane in coordinate (x,y)
polari (r,phi)
. Mentre puoi calcolare r = sqrt(x^2+y^2)
abbastanza facilmente, spesso hai bisogno di una certa distinzione dei casi quando calcoli l'angolo phi
perché arcsin
, arccos
e arctan
e tutte le altre funzioni trigonometriche hanno un co-dominio che si estende solo su metà del cerchio.
In molte lingue ci sono incorporati per convertire le coordinate rettangolari in polari, o almeno hanno una atan2
funzione, che - data (x,y)
- calcola l'angolo phi
.
Compito
Il tuo compito è scrivere un programma / funzione che prende due coordinate cartesiane (in virgola mobile, non entrambe zero) (x,y)
e genera l'angolo polare corrispondente phi
, dove phi
deve essere espresso in gradi, radianti o gradi (con gradi intendo gradienti che sono 1 / 400 del cerchio completo), a seconda di quale sia la più conveniente per te.
L'angolo è misurato in orientamento positivo e abbiamo l'angolo zero per (1,0)
.
Dettagli
E 'vietato utilizzare built-in che calcolano l'angolo phi
dato due coordinate, tra cui atan2
, rect2polar
, argOfComplexNumber
e funzioni simili. Tuttavia puoi usare le solite funzioni trigonometriche e i loro rovesci, che accettano solo un argomento. Tutti i simboli delle unità sono opzionali.
Il raggio r
deve essere non negativo e phi
deve essere compreso nell'intervallo [-360°, 360°]
(non importa se si produce 270°
o -90°
).
Esempi
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°