web-dev-qa-db-ja.com

ラジアンから度への変換

小さな物理エンジンを構築していますが、atanを使用してラジアン値を度数に変換するのに問題があります。度数でのみ出力する角度が必要なためです。

まず、xyの値があり、atanを使用して角度を見つける必要があるため、yをxで除算します。

angleDivide = yN / xN;

次に、この値をtanに入れる前に、次のようにDegreesに変換しようとします。

angleToDegrees = angleDivide * (3.14 / 180);

次に、angleToDegreesをatanに配置します。

angle = atan(angleToDegrees);

しかし、angleを表示しているときも、ラジアン値を取得しています。

私のコードの何が問題で、これを修正する方法を教えてください。

4
Lucy Loo

最初にradians=tan(y/x)を計算します。

次に、それを度数に変換できます。

radians = atan(y/x)
degrees = radians * (180.0/3.141592653589793238463)

Atanについては ここを参照 を参照してください。

余談ですが、正解を得るには、現在の象限も考慮する必要があります(-y/xy/-xと同じ数であるため)

4
anthonybell