参考链接: C atan()
Ref
在 math.h 标准库中,定义了两个反正切函数:
//返回以弧度表示的 x 的反正切
double atan(double x)
//返回以弧度表示的 y/x 的反正切。y 和 x 的值的符号决定了正确的象限。
double atan2(double y, double x)
由函数图像,可以知道
当仅仅给定一个正切值 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 库网站