Как перевести радианы в градусы - PullRequest
0 голосов
/ 06 июня 2019

Я делаю калькулятор триггеров, чтобы попрактиковаться в авиационных задачах и не могу правильно преобразовать радианы в градусы в java.

Я пробовал брать высоту, деленную на Math.tan (угол) и времяэто (180 / Math.PI), но это не дает мне ответ, который я ищу.Числа, которые я пробовал, включают alt = 500, угол приближения = 3. Мой код будет хранить эти значения и принимать 500 / tan (3) * (180 / Pi), и я не уверен, почему это не правильная тригонометрияза ним.

     public static void approachPath() {
       System.out.println("FINDING THE IDEAL APPROACH PATH . . . ");
       System.out.println("What is the altitude of the aircraft:");
       double alt = scan.nextDouble();
       System.out.println("What is the angle of approach:");
       double angleofapproach = scan.nextDouble();

       //line my problem occurs on
       double approachPath = (alt / Math.tan(angleofapproach)) * (180 / Math.PI);

       System.out.println("The ideal approach path is: " + approachPath);
    }

Я ожидаю ответа 9,541 футов, чтобы перейти к написанию оставшейся части метода, чтобы найти конечный путь захода в морских милях.

1 Ответ

1 голос
/ 06 июня 2019

Вы были почти правы. Вместо радиуса в градусах он должен быть градусом в рад.

double angleofapproach = toRad(scan.nextDouble());
double approachPath = (alt / Math.tan(angleofapproach));

// deg to rad
public static double toRad(double deg) {
    return deg * (Math.PI / 180);
}
...