# atan2() function in Python

• Difficulty Level : Basic
• Last Updated : 14 Mar, 2018

atan2(y, x) returns value of atan(y/x) in radians. The atan2() method returns a numeric value between – and representing the angle of a (x, y) point and positive x-axis.

Syntax :

atan2(y, x)

Parameter :

(y, x) - Both must be a numeric value.

Returns :

Returns atan(y / x), in radians.
The double value is from polar coordinate (r, theta). 

TypeError :

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)

Output :

atan2(-0.5, -0.5): -2.356194490192345
atan2(1.2, 1.5): 0.6747409422235526
atan2(1.2, -1.5): 2.4668517113662407


Code #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)

Output :

0.16514867741462683
0.5880026035475675
0.40489178628508343
0.4636476090008061


Code #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 TypeErrortheta = math.atan2([y], [x]) print(theta)

Output :

Traceback (most recent call last):
File "/home/622586ab389561bcdbfff258aca01e65.py", line 9, in
theta = math.atan2([y],[x])
TypeError: a float is required


Practical 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-ordinatesX = 2; Y = 2   # slope in radians theta1 = math.atan2(Y, X)   # print the Slope in radiansprint(theta1)

Output :

0.7853981633974483


My Personal Notes arrow_drop_up