Verwenden von Math.sin mit Abschlüssen

1. Einleitung

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

2. Bogenmaß vs. Grad

Standardmäßig erwartet die Java Math- Bibliothek Werte für ihre trigonometrischen Funktionen im Bogenmaß .

Zur Erinnerung: Bogenmaß ist nur eine weitere Möglichkeit, das Maß eines Winkels auszudrücken. Die Umrechnung lautet:

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

Java macht dies mit toRadians und toDegrees einfach :

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

Wann immer wir eine der trigonometrischen Funktionen von Java verwenden, sollten wir zuerst darüber nachdenken, was die Einheit unserer Eingabe ist .

3. Verwenden von Math.sin

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

public static double sin(double a)

Es entspricht der mathematischen Sinusfunktion und erwartet, dass die Eingabe im Bogenmaß erfolgt . 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);

Aber wenn wir wissen, dass es bereits im Bogenmaß ist, müssen wir die Konvertierung nicht durchführen :

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

Da dreißig Grad InRadians bereits im Bogenmaß angegeben wurden, 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 mit Math.sin gesehen.

Überprüfen Sie wie immer den Quellcode für dieses Beispiel auf GitHub.