atan2
arc tangent function of two variables
You're viewing an older version of this page (#3228). View the current version.
NAME
atan2
INTERFACE
#include <math.h>
double atan2 ( double y, double x ) long atan2l ( long double y, long double x ) float atan2f ( float y, float x )
DESCRIPTION
The atan2 function computes the principal value of the arc tangent of y/x, using the signs of both arguments to determine the quadrant of the return value. It produces correct results even when the resulting angle is near or
(x near 0).
Example 1
#include <stdio.h>
#include <math.h>
int main(void)
{
double result, x=90.0, y=15.0;
result = atan2(y, x);
printf("The arc tangent ratio of %lf is %lf\n", (y/x), result);
return 0;
}SPECIAL VALUES
atan2 ( ±0, -0 ) returns ±pi.
atan2 ( ±0, +0 ) returns ±0.
atan2 ( ±0, x ) returns ±pi for x < 0.
atan2 ( ±0, x ) returns ±0 for x > 0.
atan2 ( ±0 ) returns -pi/2 for y > 0.
atan2 ( ±y, -∞ ) returns ±pi for finite y > 0.
atan2 ( ±y, +∞ ) returns ±0 for finite y > 0.
atan2 ( ±∞, +x ) returns ±pi/2 for finite x.
atan2 ( ±∞, -∞ ) returns ±3*pi/4.
atan2 ( ±∞, +∞ ) returns ±pi/4.
NOTES
The atan2 function is used mostly to convert from rectangular (x,y) to polar (r, ) coordinates that must satisfy x=r*cos(
) and y=r*sin(
). In general, conversions to polar coordinates should be computed thus:
SEE ALSO
acos, asin, atan, cos, cosh, sin, sinh, tan, tanh
STANDARDS
The atan2 function conforms to ISO/IEC 9899:1999(E).