Utilisation de Math.sin avec des degrés

Utilisation de Math.sin avec des degrés

1. introduction

Dans ce court didacticiel, nous verrons comment calculer les valeurs sinusoïdales à l'aide de la fonctionMath.sin() de Java et comment convertir les valeurs d'angle entre degrés et radians.

2. Radians vs. Degrés

Par défaut, lesJava Math library expects values to its trigonometric functions to be in radians.

Pour rappel,radians are just another way to express the measure of an angle, et la conversion est:

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

Java rend cela facile avectoRadians andtoDegrees:

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

Chaque fois que nous utilisons l'une des fonctions trigonométriques de Java,we should first think about what is the unit of our input.

3. Utilisation deMath.sin

Nous pouvons voir ce principe en action en jetant un œil à la méthodeMath.sin, l'une des nombreuses que Java fournit:

public static double sin(double a)

C’est équivalent à la fonction sinusoïdale mathématique et àit expects its input to be in radians. Alors, disons que nous avons un angle que nous savons être en degrés:

double inDegrees = 30;

Nous devons d’abord le convertir en radians:

double inRadians = Math.toRadians(inDegrees);

Et puis on peut calculer la valeur sinusoïdale:

double sine = Math.sin(inRadians);

Mais,if 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);
}

PuisquethirtyDegreesInRadians was déjà en radians, nous n'avons pas besoin de le convertir au préalable pour obtenir le même résultat.

4. Conclusion

Dans cet article rapide, nous avons passé en revue les radians et les degrés, puis nous avons vu un exemple de la façon de travailler avec eux en utilisantMath.sin.

Comme toujours, consultez le code source de cet exempleover on GitHub.