Utilizzo di Math.sin con Degrees

1. Introduzione

In questo breve tutorial, vedremo come calcolare i valori del seno utilizzando la funzione Math.sin () di Java e come convertire i valori degli angoli tra gradi e radianti.

2. Radianti contro gradi

Per impostazione predefinita, la libreria Java Math prevede che i valori delle sue funzioni trigonometriche siano in radianti .

Come promemoria, i radianti sono solo un altro modo per esprimere la misura di un angolo e la conversione è:

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

Java lo rende facile con toRadians e toDegrees :

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

Ogni volta che usiamo una qualsiasi delle funzioni trigonometriche di Java, dovremmo prima pensare a quale sia l'unità del nostro input .

3. Utilizzo di Math.sin

Possiamo vedere questo principio in azione dando un'occhiata al metodo Math.s in , uno dei tanti che Java fornisce:

public static double sin(double a)

È equivalente alla funzione seno matematica e si aspetta che il suo input sia in radianti . Quindi, diciamo che abbiamo un angolo che sappiamo essere in gradi:

double inDegrees = 30;

Dobbiamo prima convertirlo in radianti:

double inRadians = Math.toRadians(inDegrees);

E poi possiamo calcolare il valore del seno:

double sine = Math.sin(inRadians);

Ma, se sappiamo che è già in radianti, non è necessario eseguire la conversione :

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

Dato che trentaDegreesInRadians era già espresso in radianti, non era necessario convertirlo prima per ottenere lo stesso risultato.

4. Conclusione

In questo rapido articolo, abbiamo esaminato radianti e gradi e poi abbiamo visto un esempio di come lavorare con loro usando Math.sin.

Come sempre, controlla il codice sorgente per questo esempio su GitHub.