ユーザーがオブジェクトを作成するときに、x、yから度単位のアルファ角を取得しようとしています。
次のコンストラクタを作成しました。
public class Point
{
private double _radius , _alpha;
public Point ( int x , int y )
{
_radius = Math.sqrt ( Math.pow(x,2) + Math.pow (y,2) ) ;
_alpha = ( ( Math.atan (y/x) ) * 180 ) / Math.PI;
}
}
_alphaがatan()メソッドから得たラジアンではなく度単位の角度になったと思いますか?
そうする簡単な方法はありますか?
ありがとう!
組み込みメソッドMath.toDegrees()
を使用しない理由は、Java SEが付属しています。
アイデアは問題ないように見えますが、Math.atan
の代わりに Math.atan2 を使用することをお勧めします。
これは、最短で最も簡単な方法である必要があります。
_radius = Math.hypot(x, y);
_alpha = Math.toDegrees(Math.atan2(y, x));
この方法で計算すると、_alpha
の値は-180〜180度です。