小さな物理エンジンを構築していますが、atan
を使用してラジアン値を度数に変換するのに問題があります。度数でのみ出力する角度が必要なためです。
まず、x
とy
の値があり、atan
を使用して角度を見つける必要があるため、yをxで除算します。
angleDivide = yN / xN;
次に、この値をtan
に入れる前に、次のようにDegreesに変換しようとします。
angleToDegrees = angleDivide * (3.14 / 180);
次に、angleToDegreesをatan
に配置します。
angle = atan(angleToDegrees);
しかし、angle
を表示しているときも、ラジアン値を取得しています。
私のコードの何が問題で、これを修正する方法を教えてください。
最初にradians=tan(y/x)
を計算します。
次に、それを度数に変換できます。
radians = atan(y/x)
degrees = radians * (180.0/3.141592653589793238463)
Atanについては ここを参照 を参照してください。
余談ですが、正解を得るには、現在の象限も考慮する必要があります(-y/x
はy/-x
と同じ数であるため)