Skip to main content
Version: 3.13.0

Math.atan2()

The Math.atan2() function returns the angle in the plane (in radians) between the positive x-axis and the ray from (0, 0) to the point (x, y), for Math.atan2(y, x).

Syntax

Math.atan2(y, x)

Parameters

  • y
    • : The y coordinate of the point.
  • x
    • : The x coordinate of the point.

Return value

The angle in radians (between -π and π, inclusive) between the positive x-axis and the ray from (0, 0) to the point (x, y).

Description

The Math.atan2() method measures the counterclockwise angle θ, in radians, between the positive x-axis and the point (x, y). Note that the arguments to this function pass the y-coordinate first and the x-coordinate second.

Math.atan2() is passed separate x and y arguments, while Math.atan() is passed the ratio of those two arguments. Math.atan2(y, x) differs from Math.atan(y / x) in the following cases:

xyMath.atan2(y, x)Math.atan(y / x)
InfinityInfinityπ / 4NaN
Infinity-Infinity-π / 4NaN
-InfinityInfinity3π / 4NaN
-Infinity-Infinity-3π / 4NaN
000NaN
0-0-0NaN
< 0 (including -0)0π0
< 0 (including -0)-00
-Infinity> 0π-0
-0> 0π / 2-π / 2
-Infinity< 00
-0< 0-π / 2π / 2

In addition, for points in the second and third quadrants (x < 0), Math.atan2() would output an angle less than -π2-\frac{\pi}{2} or greater than π2\frac{\pi}{2}.

Because atan2() is a static method of Math, you always use it as Math.atan2(), rather than as a method of a Math object you created (Math is not a constructor).