atan2() function in Python
Last Updated :
14 Mar, 2018
Improve
atan2(y, x) returns value of atan(y/x) in radians. The atan2() method returns a numeric value between -\pi and \pi representing the angle \theta of a (x, y) point and positive x-axis.
Syntax :
Python3 1==
Output :
Python3
Output :
Python3
Output :
Python3 1==
Output :
atan2(y, x)Parameter :
(y, x) - Both must be a numeric value.Returns :
Returns atan(y / x), in radians. The double value isTypeError :\theta from polar coordinate (r, theta).
Returns a TypeError if anything other than float is passed.Code #1 :
# Python3 program to demonstrate
# the atan2() method
# imports math
import math
# prints the theta value of
# two negative co-ordinates
theta1 = math.atan2(-0.9, -0.9)
print("atan2(-0.9, -0.9) : ", theta1)
# prints the theta value of
# two positive co-ordinates
theta2 = math.atan2(1.2, 1.5)
print("atan2(1.2, 1.5) : ", theta2)
# prints the theta value of one
# positive and one negative co-ordinates
theta3 = math.atan2(1.2, -1.5)
print("atan2(1.2, -1.5):", theta3)
atan2(-0.5, -0.5): -2.356194490192345 atan2(1.2, 1.5): 0.6747409422235526 atan2(1.2, -1.5): 2.4668517113662407Code #2 :
# Python3 program to demonstrate the atan() method
# imports math
import math
# list containing x and y coordinates
y = [1, 2, 3, 4]
x = [6, 3, 7, 8]
# traversing in range to get theta
# for all y and x co-ordinates
for i in range(len(x)):
theta = math.atan2(y[i], x[i])
print(theta)
0.16514867741462683 0.5880026035475675 0.40489178628508343 0.4636476090008061Code #3 : Program demonstrating the error
# Python3 program to demonstrate the
# TypeError in atan() method
# importing math
import math
y, x = 3, 6
# when integer values are passed
# it returns a TypeError
theta = math.atan2([y], [x])
print(theta)
Traceback (most recent call last): File "/home/622586ab389561bcdbfff258aca01e65.py", line 9, in theta = math.atan2([y],[x]) TypeError: a float is requiredPractical Application : This function is used to find the slope in radians when Y and X co-ordinates are given. Code #4 :
# Let's find the slope when X
# and Y co-ordinates are given
# imports math
import math
# X and Y are co-ordinates
X = 2; Y = 2
# slope in radians
theta1 = math.atan2(Y, X)
# print the Slope in radians
print(theta1)
0.7853981633974483