【C/C++】C语言math.h库函数中atan与atan2的区别

  • Ref

math.h 标准库中,定义了两个反正切函数:

//返回以弧度表示的 x 的反正切
double atan(double x)

//返回以弧度表示的 y/x 的反正切。y 和 x 的值的符号决定了正确的象限。
double atan2(double y, double x)

由函数图像,可以知道

【C/C++】C语言math.h库函数中atan与atan2的区别_第1张图片

  • 当仅仅给定一个正切值 k 的时候,atan(k)只能选择 (-PI/2, PI/2) 这个单调区间内给值。
  • 当给定了点的坐标(x,y)之后,我们在正切值的基础上,还能给出点的象限信息。所以atan2(y,x)可以给出 [-PI, PI] 的值。

在y轴的右侧,即 atan2 中的x>0 时,两个函数计算的值是相同的。

Ref

  • C语言math.h库函数中atan与atan2的区别
  • cmath中的atan函数和atan2函数
  • C 库函数: 非常好的C 库网站

你可能感兴趣的:(C/C++)