C 语言 atan2() 函数用于根据 y 和 x 计算四象限反正切,即点 (x, y) 相对原点的极角。
原型
double atan2(double y, double x);与 atan(y/x) 不同,atan2 能根据 x、y 的符号确定正确象限,返回 [-pi, pi] 区间。
参数
y- 点的纵坐标;x- 点的横坐标。
示例
#include <stdio.h>
#include <math.h>
int main() {
double y = 1, x = -1;
printf("atan2(1, -1) = %.4f 弧度\n", atan2(y, x));
return 0;
}输出:
atan2(1, -1) = 2.3562 弧度结果是 135° 对应的弧度,若用 atan(1/-1) 会错误地得到 -45°。
注意事项
使用 math.h 的函数时,多数编译器需要链接数学库(编译选项 -lm)。三角函数使用弧度制,不是角度;想用角度先乘以 pi/180 转换。