stringtranslate.com

atan2

atan2(y, x) returns the angle θ between the positive x-axis and the ray from the origin to the point (x, y), confined to (−π, π].
Graph of over

In computing and mathematics, the function atan2 is the 2-argument arctangent. By definition, is the angle measure (in radians, with ) between the positive -axis and the ray from the origin to the point in the Cartesian plane. Equivalently, is the argument (also called phase or angle) of the complex number (The argument of a function and the argument of a complex number, each mentioned above, should not be confused.)

The function first appeared in the programming language Fortran in 1961. It was originally intended to return a correct and unambiguous value for the angle in converting from Cartesian coordinates to polar coordinates . If and , then and

If , the desired angle measure is However, when x < 0, the angle is diametrically opposite the desired angle, and (a half turn) must be added to place the point in the correct quadrant.[1] Using the function does away with this correction, simplifying code and mathematical formulas.

Motivation

Graph of the tangent function from −π to with the corresponding signs of y/x. The green arrows point to the results of atan2(−1, −1) and atan2(1, 1).

The ordinary single-argument arctangent function only returns angle measures in the interval , and when invoking it to find the direction angle from the origin to an arbitrary point in the Cartesian plane, it will yield incorrect results when the point is in the left half-plane . Diametrically opposite angle measures have the same tangent because

To fully determine the direction angle from the origin given a point using the arctangent function, mathematical formulas or computer code must handle multiple cases; at least one for positive values of and one for negative values of , and sometimes additional cases when is negative or one coordinate is zero. Finding angle measures and converting Cartesian to polar coordinates are common in scientific computing, and this code is redundant and error-prone.

To save programmers the trouble, computer programming languages introduced the atan2 function, at least as early as the Fortran IV language of the 1960s.[2] The quantity is the angle measure between the -axis and a ray from the origin to a point anywhere in the Cartesian plane. The signs of x and are used to determine the quadrant of the result and select the correct branch of the multivalued function .

The atan2 function is useful in many applications involving Euclidean vectors such as finding the direction from one point to another or converting a rotation matrix to Euler angles.

The atan2 function is now included in many other programming languages, and is also commonly found in mathematical formulas throughout science and engineering.

Argument order

In 1961, Fortran introduced the atan2 function with argument order