Рубрики
Без рубрики

Использование Math.sin со степенями

Узнайте, как работать с тригонометрическими функциями Java в режиме градуса.

Автор оригинала: baeldung.

1. введение

В этом коротком уроке мы рассмотрим, как вычислить значения синуса с помощью функции Java Math.sin() и как преобразовать значения угла между градусами и радианами.

2. Радианы против Степени

По умолчанию библиотека Java Math ожидает, что значения ее тригонометрических функций будут в радианах .

Напомним, что радианы – это всего лишь еще один способ выразить меру угла , и преобразование:

double inRadians = inDegrees * PI / 180;
inDegrees = inRadians * 180 / PI;

Java упрощает это с помощью toRadians и toDegrees :

double inRadians = Math.toRadians(inDegrees);
double inDegrees = Math.toDegrees(inRadians);

Всякий раз, когда мы используем какую-либо из тригонометрических функций Java, мы должны сначала подумать о том, какова единица нашего ввода .

3. Использование математики.

Мы можем увидеть этот принцип в действии, взглянув на метод Math.s in , один из многих, которые предоставляет Java:

public static double sin(double a)

Это эквивалентно математической функции синуса, и он ожидает, что его входные данные будут в радианах . Итак, предположим, что у нас есть угол, который, как мы знаем, находится в градусах:

double inDegrees = 30;

Сначала нам нужно преобразовать его в радианы:

double inRadians = Math.toRadians(inDegrees);

И тогда мы сможем вычислить значение синуса:

double sine = Math.sin(inRadians);

Но, если мы знаем, что он уже находится в радианах, тогда нам не нужно выполнять преобразование :

@Test
public void givenAnAngleInDegrees_whenUsingToRadians_thenResultIsInRadians() {
    double angleInDegrees = 30;
    double sinForDegrees = Math.sin(Math.toRadians(angleInDegrees)); // 0.5

    double thirtyDegreesInRadians = 1/6 * Math.PI;
    double sinForRadians = Math.sin(thirtyDegreesInRadians); // 0.5

    assertTrue(sinForDegrees == sinForRadians);
}

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

4. Заключение

В этой краткой статье мы рассмотрели радианы и градусы, а затем увидели пример того, как работать с ними с помощью Math.sin.

Как всегда, проверьте исходный код для этого примера на GitHub .