当用户创建对象时,我试图从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;
}
}
我是否正确_alpha现在是一个角度,而不是我从atan()方法获得的弧度?
有一种简单的方法吗?
谢谢!
答案 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度之间。