atan和atan2
两者都在cmath函数中。
atan
std::atan(1. / 1.) * 180 / M_PI // 45 deg
std::atan(-1. / -1.) * 180 / M_PI // 45 deg
atan2
std::atan2(1., 1.) * 180 / M_PI // 45
std::atan2(-1., -1.) * 180 / M_PI // -135
区别
atan值域[-M_PI / 2., M_PI / 2.]
atan2的值域则和象限有关
第一象限的点是在[0., M_PI / 2.];
第二象限的点是在[M_PI / 2., M_PI];
第三象限的点是在[-M_PI, -M_PI / 2.];
第四象限的点是在[-M_PI / 2., 0.];



本文探讨了C++标准库cmath中的atan和atan2函数。atan返回角度值的范围限定在[-π/2, π/2],而atan2根据坐标象限返回[-π, π]范围的角度。在不同象限中,atan2能提供更精确的角度信息,尤其当x值为0时。"
8119803,974874,MATLAB Simulink产品详解,"['MATLAB工具', '仿真技术', '模型工程', '软件工程']
订阅专栏 解锁全文
531

被折叠的 条评论
为什么被折叠?



