atan2(y, x),C++中一种double类型的反正切函数,返回值为弧度制下的角度,是点(0,0)和(x,y)的连线与X轴正半轴的夹角,其值域为[-π,π](当y=0时,可以取到±π),且在第一二象限为正,在第三四象限为负
与之类似的函数还有atan2f(y, x)、atan2d(y, x),分别对应float类型和int类型
代码示例
#include <iostream>#define M_PI 3.14159265358979323846 // piusing namespace std;int main(){double x = 100;double y = 1;double abs1, abs2, abs3, abs4;abs1 = atan2(y, x) * 180 / M_PI;cout << "第一象限角abs1= " << abs1 << endl;abs2 = atan2(y, -x) * 180 / M_PI;cout << "第二象限角abs2= " << abs2 << endl;abs3 = atan2(-y, -x) * 180 / M_PI;cout << "第三象限角abs3= " << abs3 << endl;abs4 = atan2(-y, x) * 180 / M_PI;cout << "第四象限角abs4= " << abs4 << endl;return 0;}
输出结果:
第一象限角abs1= 0.572939第二象限角abs2= 179.427第三象限角abs3= -179.427第四象限角abs4= -0.572939