atan2() function in Python

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 :

atan2(y, x)

Parameter :



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

Returns :

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

TypeError :

Returns a TypeError if anything other than float is passed. 

 

Code #1 :

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Output :

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

 
Code #2 :

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Output :

0.16514867741462683
0.5880026035475675
0.40489178628508343
0.4636476090008061

 
Code #3 : Program demonstrating the error

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


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 :

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Output :

0.7853981633974483


My Personal Notes arrow_drop_up

Striver(underscore)79 at Codechef and codeforces D

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.