在Java中从Radians转换为Degrees

时间:2011-04-23 11:16:05

标签: java math geometry

当用户创建对象时,我试图从x,y获得以度为单位的alpha角度。

我编写了以下构造函数:

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;
    }

}
  1. 我是否正确_alpha现在是一个角度,而不是我从atan()方法获得的弧度?

  2. 有一种简单的方法吗?

  3. 谢谢!

3 个答案:

答案 0 :(得分:96)

为什么不使用内置方法Math.toDegrees(),它随Java SE一起提供。

答案 1 :(得分:5)

这个想法看起来不错,但我建议使用Math.atan2代替Math.atan

答案 2 :(得分:1)

这应该是迄今为止最短最简单的方式:

        _radius = Math.hypot(x, y);
        _alpha = Math.toDegrees(Math.atan2(y, x));

请记住,以这种方式计算时,_alpha的值介于-180和180度之间。