C 标准库 - <math.h>

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 转换。