Python - atan2(y,x)=atan2(r*sin(θ),r*cos(θ)) de (-pi,pi]
#######################################################
# 21 Ejemplos utilizando la función atan2 en Python.
#1. Calcular el ángulo en radianes entre dos puntos (x1, y1) y (x2, y2):
import math
x1, y1 = 1, 2
x2, y2 = 3, 4
angle = math.atan2(y2-y1, x2-x1)
print(angle) #Resultado: 0.7853981633974483=pi/4
#2. Calcular el ángulo en grados entre dos puntos (x1, y1) y (x2, y2):
import math
x1, y1 = 1, 2
x2, y2 = 3, 4
angle = math.atan2(y2-y1, x2-x1) * 180 / math.pi
angle = math.degrees(math.atan2(y2-y1, x2-x1))
print(angle) #Resultado: 45.0
#3. Calcular el ángulo en radianes entre dos vectores (u1, u2) y (v1, v2):
import math
u1, u2 = 1, 2
v1, v2 = 3, 4
angle = math.fabs(math.atan2(v2,v1) -math.atan2(u2,u1))
print(angle) #Resultado: 0.1798534997924782
print(math.degrees(angle))
#4. Calcular el ángulo en grados entre dos vectores (u1, u2) y (v1, v2):
import math
u1, u2 = 1, 2
v1, v2 = 3, 4
angle = math.fabs(math.atan2(v2, v1) - math.atan2(u2, u1)) * 180 / math.pi
print(angle) #Resultado:10.30484646876603
#5. Calcular el ángulo en radianes entre el vector (x, y) y el eje y:
import math
x, y = 3, 4
angle = math.atan2(y, x)
print(angle) #Resultado: 0.9272952180016122
#6. Calcular el ángulo en grados entre el vector (x, y) y el eje y:
import math
x, y = 3, 4
angle = math.atan2(y, x) * 180 / math.pi
print(angle) #Resultado: 53.13010235415598
#7. Calcular el ángulo en radianes entre el vector (x, y) y el vector (u, v):
import math
x, y = 3, 4
u, v = 1, 2
angle = math.atan2(x*v-y*u, x*u+y*v)
print(angle) #Resultado: 0.1798534997924783
#8. Calcular el ángulo en grados entre el vector (x, y) y el vector (u, v):
import math
x, y = 3, 4
u, v = 1, 2
angle = math.atan2(x*v-y*u, x*u+y*v) * 180 / math.pi
print(angle) #Resultado: 10.30484646876603
#9. Calcular el ángulo en radianes entre el vector (x, y, z) y el eje z:
import math
x, y, z = 1, 2, 3
angle = math.atan2(math.sqrt(x**2+y**2), z)
print(angle) #Resultado: 0.6405223126794246
#10. Calcular el ángulo en grados entre el vector (x, y, z) y el eje z:
import math
x, y, z = 1, 2, 3
angle = math.atan2(math.sqrt(x**2+y**2), z) * 180 / math.pi
print(angle) #Resultado: 36.69922520048988
#11. Calcular la dirección de un vector en grados:
import math
x, y = 3, -4
direction = math.degrees(math.atan2(y, x))
print(direction) #Resultado: -53.13010235415598
#12. Calcular el ángulo en radianes entre el vector (x, y) y el eje X:
import math
x, y = 3, -4
angle = math.atan2(y, x)
print(angle) #Resultado: -0.9272952180016122
#13. Calcular el ángulo en grados entre dos vectores (x1, y1) y (x2, y2):
import math
x1, y1 = 3, 4
x2, y2 = -4, 3
angle = math.degrees(math.atan2(y2, x2) - math.atan2(y1, x1))
print(angle) #Resultado: 90.0
#14. Calcular el ángulo coterminal elemental en radianes entre [0,2*pi) dado el ángulo coterminal compuesto en radianes:
import math
angleCC = -3/2*pi
angleCE = angleCC- 2*math.pi*math.floor(angleCC/(2*math.pi))
print(angleCE) #Resultado: 1.570796326794897=90 degrees
#15. Calcular el ángulo coterminal elemental en grados entre [0,360) dado el ángulo coterminal compuesto en grados:
import math
angleCC = -270
angleCE = angleCC- 360*math.floor(angleCC/360)
print(angleCE) #Resultado: 90.0
#16. Convertir ángulos de grados a radianes
import math
print(math.radians(180))
print(math.radians(100.03))
print(math.radians(-20))
#17. Convertir ángulos de radianes a grados
import math
print (math.degrees(8.90))
print (math.degrees(-20))
print (math.degrees(1))
print (math.degrees(90))
#18. Convertir ángulos de navegación en radianes en atan2(x,y) a grados a ángulos matemáticos en grados
import math
for x in range(0,361):
y=round(math.degrees(
math.atan2(
math.cos(math.radians(x)),
math.sin(math.radians(x)))))
z=round(90-y-360*math.floor((90-y)/360))
print("%3d, %3d, %3d" % (x,y,z))
#19. Convertir ángulos de navegación en radianes en atan2(x,y) a ángulos matemáticos en radianes
import math
for x in range(0,361):
y=math.atan2(
math.cos(math.radians(x)),
math.sin(math.radians(x)))
z=math.pi/2-y-2*math.pi*math.floor((math.pi/2-y)/(2*math.pi))
print("%3d, %2.5f, %2.5f" % (x,y,z))
#20. Convertir ángulos matemáticos en radianes (-pi,pi] en atan2(y,x) a ángulos matemáticos en radianes [0,2*pi)
import math
for x in range(0,361):
y=math.atan2(math.sin(math.radians(x)),math.cos(math.radians(x)))
z=y-2*math.pi*math.floor(y/(2*math.pi))
print("%3d, %2.5f, %2.5f" % (x,y,z))
#21. Convertir ángulos matemáticos en grados (-180,180] en atan2(y,x) a ángulos matemáticos en grados [0,360)
import math
for x in range(0,361):
y=round(math.degrees(math.atan2(math.sin(math.radians(x)),math.cos(math.radians(x)))))
z=y-360*math.floor(y/(360))
print("%3d, %3d, %3d" % (x,y,z))