Python math.atan2() Method



The Python math.atan2() method returns the value of atan(y / x), in radians. In other words, this method converts a Cartesian coordinate pair (x, y) into a Polar coordinate pair (r, theta) and returns the theta value.

This method accepts only floating-point values as arguments; a TypeError is raised if anything other than a floating-point value is passed to this method.

Note − This function is not accessible directly, so we need to import math module and then we need to call this function using math static object.

Syntax

Following is the syntax for the Python math.atan2() method −

math.atan2(y, x)

Parameters

  • x, y − This must be a numeric value of floating-point type.

Return Value

This method returns atan(y / x), in radians.

Example

The following example shows the usage of the Python math.atan2() method. Here, we are creating two objects containing two floating-point values and passing them as arguments to this method. The return value obtained must be in radians.

import math

# Create two objects of floating-point numbers
x = 0.6
y = 1.2

# Calculate the atan(y/x) value
theta = math.atan2(y, x)

# Print the theta value
print("The theta value is calculated as:", theta)

When we run above program, it produces following result −

The theta value is calculated as: 1.1071487177940904

Example

If we pass negative values as arguments to this method, an angle enclosed by these rectangular coordinates will be returned.

import math

# Create two objects of floating-point numbers
x = -1.6
y = -3.5

# Calculate the atan(y/x) value
theta = math.atan2(y, x)

# Print the theta value
print("The theta value is calculated as:", theta)

If we compile and run the

The theta value is calculated as: -1.999574354240913

Example

In the following example, we are creating two list objects x, y. Using loop statements, we are trying to find the theta values of corresponding x and y values from the lists.

import math

# Create two lists of floating-point numbers
x = [1, 2, 3, 4]
y = [5, 6, 7, 8]

# Calculate the atan(y/x) value of all objects in the list
for n in range(0, len(x)):
   theta = math.atan2(y[n], x[n])
   print("The theta value of", y[n], "and", x[n], "is calculated as:", theta)

On compiling and running the program above, the output is displayed as −

The theta value of 5 and 1 is calculated as: 1.373400766945016
The theta value of 6 and 2 is calculated as: 1.2490457723982544
The theta value of 7 and 3 is calculated as: 1.1659045405098132
The theta value of 8 and 4 is calculated as: 1.1071487177940904

Example

A TypeError is raised if the list above is directly passed as an argument to the method. Hence, we use loop statements to access floating-point objects within it.

import math

# Create two lists of floating-point numbers
x = [1, 2, 3, 4]
y = [5, 6, 7, 8]

# Calculate the atan(y/x) value of all objects in the list
theta = math.atan2(y, x)
print("The theta value is calculated as:", theta)

If we compile and run the given program, a TypeError is raised as follows −

Traceback (most recent call last):
  File "main.py", line 8, in <module>
theta = math.atan2(y, x)
TypeError: must be real number, not list
python_maths.htm
Advertisements