Подтвердить что ты не робот

Преобразование из Radians в градусы в Java

Я пытаюсь получить альфа-угол в градусах от 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()?

  • Есть ли простой способ сделать это?

Спасибо!

4b9b3361

Ответ 1

Почему бы не использовать встроенный метод Math.toDegrees(), он поставляется с Java SE.

Ответ 2

Идея выглядит нормально, но я бы предложил использовать Math.atan2 вместо Math.atan.

Ответ 3

Это должно быть самым коротким и самым простым способом:

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

Имейте в виду, что при вычислении этого пути _alpha будет иметь значения от -180 до 180 градусов.