c++ 中求反正切的函数atan和atan2的差别?
运行下面的代码,结果不一样:doubleangle=atan(5.0/-5.0);doubleangle_=atan2(5.0,-5.0);cout<<angle<<""...
运行下面的代码,结果不一样:
double angle=atan(5.0/-5.0);
double angle_=atan2(5.0,-5.0);
cout<<angle<<" "<<angle_<<endl
为什么?
第一个结果是对的,第二个结果明显是错的。 展开
double angle=atan(5.0/-5.0);
double angle_=atan2(5.0,-5.0);
cout<<angle<<" "<<angle_<<endl
为什么?
第一个结果是对的,第二个结果明显是错的。 展开
1个回答
展开全部
貌似一个是弧度,一个是角度的区别
追问
明显不是啊~
追答
atan2
返回给定的 X 及 Y 坐标值的反正切值。反正切的角度值等于 X 轴与通过原点和给定坐标点 (Y坐标, X坐标) 的直线之间的夹角。结果以弧度表示并介于 -pi 到 pi 之间(不包括 -pi)。
atan2(a, b) 与 atan(a/b)稍有不同,atan2(a,b)的取值范围介于 -pi 到 pi 之间(不包括 -pi),
而atan(a/b)的取值范围介于-pi/2到pi/2之间(不包括±pi/2)。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询