A veces es realmente difícil convertir las coordenadas cartesianas en coordenadas (x,y)
polares (r,phi)
. Si bien se puede calcular r = sqrt(x^2+y^2)
con bastante facilidad, a menudo es necesario algún tipo de distinción de los casos cuando se calcula el ángulo phi
debido arcsin
, arccos
y arctan
y todas las demás funciones trigonométricas tener un co-dominio que cada uno sólo vanos medio del círculo.
En muchos idiomas hay incorporados para convertir coordenadas rectangulares a polares, o al menos tienen una atan2
función que, dada (x,y)
, calcula el ángulo phi
.
Tarea
Su tarea es escribir un programa / función que tome dos coordenadas cartesianas (de coma flotante, no ambas cero) (x,y)
y genere el ángulo polar correspondiente phi
, donde phi
debe estar en grados, radianes o grados (con grados me refiero a gradientes que son 1 / 400 del círculo completo), lo que sea más conveniente para usted.
El ángulo se mide en orientación positiva, y tenemos el ángulo cero para (1,0)
.
Detalles
Está prohibido utilizar muebles empotrados que permiten calcular el ángulo phi
dado dos coordenadas, incluyendo atan2
, rect2polar
, argOfComplexNumber
y funciones similares. Sin embargo, puede usar las funciones trigonométricas habituales y sus reversos, que solo requieren un argumento. Cualquier símbolo de unidad es opcional.
El radio r
debe ser no negativo y phi
debe estar en el rango [-360°, 360°]
(no importa si se emite 270°
o no -90°
).
Ejemplos
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°