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:
x | y | Math.atan2(y, x) | Math.atan(y / x) |
---|---|---|---|
Infinity | Infinity | π / 4 | NaN |
Infinity | -Infinity | -π / 4 | NaN |
-Infinity | Infinity | 3π / 4 | NaN |
-Infinity | -Infinity | -3π / 4 | NaN |
0 | 0 | 0 | NaN |
0 | -0 | -0 | NaN |
< 0 (including -0 ) | 0 | π | 0 |
< 0 (including -0 ) | -0 | -π | 0 |
-Infinity | > 0 | π | -0 |
-0 | > 0 | π / 2 | -π / 2 |
-Infinity | < 0 | -π | 0 |
-0 | < 0 | -π / 2 | π / 2 |
In addition, for points in the second and third quadrants (x < 0
), Math.atan2()
would output an angle less than or greater than .
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).