«1. Введение

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

2. Радианы и градусы

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

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

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

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

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

3. Использование Math.sin

Мы можем увидеть этот принцип в действии, взглянув на метод Math.sin, один из многих, которые предоставляет 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.

«