atan2() function in Python (original) (raw)

Last Updated : 14 Mar, 2018

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 :

Python3 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 `

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 `

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)

`

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 :

Python3 1== `

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)

`

Output :

0.7853981633974483