C++ 标准库 - <cmath>

C++ std::atan 计算反正切,结果落在 (-π/2, π/2)。它只接收一个比值,无法区分第二、三象限;由平面坐标求方向角应使用 atan2。

原型

double atan(double x);

参数

  • x:正切值,任意实数。

返回值

弧度,范围 (-π/2, π/2)。

示例

#include <cmath>
#include <iostream>

int main() {
    std::cout << std::atan(0.0) << std::endl;
    std::cout << std::atan(1.0) << std::endl;
    return 0;
}

输出:

0
0.785398

注意事项

1 的反正切为 π/4,默认精度下通常显示为 0.785398。斜率 dy/dx 在 dx 接近 0 时不要先做除法再 atan,改用 atan2(dy, dx)。

下一页介绍atan2:由坐标求辐角。