0

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

リファレンスは、[-pi/2,+pi/2] ラジアンを認めます。何が起こっている?

4

1 に答える 1

4

正しい出力が得られます。

-57.5184-1 radと仮定すると、度は と同等ですπ = 3.14angle実は-1 radここにあります。を掛けて で180割ることにより、度に変換していますπ

于 2013-03-18T10:51:55.677 に答える