Math.sin mit Grad verwenden

Verwendung von Math.sin mit Graden

1. Einführung

In diesem kurzen Tutorial erfahren Sie, wie Sie Sinuswerte mit der Java-FunktionMath.sin()berechnen und Winkelwerte zwischen Grad und Bogenmaß konvertieren.

2. Radians vs. Grad

Standardmäßig istJava Math library expects values to its trigonometric functions to be in radians.

Zur Erinnerung:radians are just another way to express the measure of an angle und die Konvertierung lautet:

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

Java macht dies mittoRadians andtoDegrees einfach:

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

Immer wenn wir eine der trigonometrischen Funktionen von Java verwenden,we should first think about what is the unit of our input.

3. Verwenden vonMath.sin

Wir können dieses Prinzip in Aktion sehen, indem wir uns dieMath.sin-Methode ansehen, eine der vielen, die Java bietet:

public static double sin(double a)

Es entspricht der mathematischen Sinusfunktion undit expects its input to be in radians. Nehmen wir also an, wir haben einen Winkel, von dem wir wissen, dass er in Grad angegeben ist:

double inDegrees = 30;

Wir müssen es zuerst in Bogenmaß umrechnen:

double inRadians = Math.toRadians(inDegrees);

Und dann können wir den Sinuswert berechnen:

double sine = Math.sin(inRadians);

Aberif we know it to already be in radians, then we don’t need to do the conversion:

@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);
}

DathirtyDegreesInRadians bereits im Bogenmaß liegt, mussten wir es nicht zuerst konvertieren, um das gleiche Ergebnis zu erzielen.

4. Fazit

In diesem kurzen Artikel haben wir Bogenmaß und Grad überprüft und dann ein Beispiel für die Arbeit mitMath.sin. gesehen

Überprüfen Sie wie immer den Quellcode für dieses Beispielover on GitHub.