我在计算 cpp 中的 atan 时遇到问题。 M_PI 已经声明为 3.14159....
我的代码是:
double distanceNormalized = 1;// set constant con check value
double angle = atan(distanceNormalized * (-M_PI_2)); // atan(-PI/2) must be -1 in rad
stringstream ss;
ss << " Angle: " << angle*180/M_PI;
cout << ss << endl;
但是在日志中我得到:
Angle: -57.5184
引用说admit [-pi/2,+pi/2] 弧度。 这是怎么回事?
最佳答案
您得到了正确的输出。
-57.5184
度等于 -1 rad
如果您假设 π = 3.14
。 angle
这里实际上是 -1 rad
。您通过将它乘以 180
再除以 π
将其转换为度数。
关于c++ - atan(-M_PI_2) 不返回 -90 º,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15474988/