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 phidebido arcsin, arccosy arctany 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 atan2funció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 phidebe 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 phidado dos coordenadas, incluyendo atan2, rect2polar, argOfComplexNumbery 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 rdebe ser no negativo y phidebe 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°