Bruke Math.sin med grader

1. Introduksjon

I denne korte opplæringen vil vi se på hvordan du beregner sinusverdier ved hjelp av Java Math.sin () funksjon og hvordan konvertere vinkelverdier mellom grader og radianer.

2. Radianer vs. grader

Som standard er Java Matte biblioteket forventer at verdiene til dets trigonometriske funksjoner skal være i radianer.

Som en påminnelse, radianer er bare en annen måte å uttrykke målet på en vinkel på, og konverteringen er:

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

Java gjør dette enkelt med toRadians og toDegrees:

dobbelt inRadians = Math.toRadians (inDegrees); doble inDegrees = Math.toDegrees (inRadians);

Når vi bruker noen av Javas trigonometriske funksjoner, vi bør først tenke på hva som er enheten vår innspill.

3. Bruke Math.sin

Vi kan se dette prinsippet i aksjon ved å ta en titt på Mattei metode, en av mange som Java gir:

offentlig statisk dobbel synd (dobbel a)

Det tilsvarer den matematiske sinusfunksjonen og den forventer at inngangen skal være i radianer. La oss si at vi har en vinkel vi vet å være i grader:

dobbelt inDegrees = 30;

Vi må først konvertere den til radianer:

dobbelt inRadians = Math.toRadians (inDegrees);

Og så kan vi beregne sinusverdien:

dobbel sinus = Math.sin (inRadians);

Men, Hvis vi vet at det allerede er i radianer, trenger vi ikke å gjøre konverteringen:

@Test offentlig ugyldig givenAnAngleInDegrees_whenUsingToRadians_thenResultIsInRadians () {double angleInDegrees = 30; dobbel sinForDegrees = Math.sin (Math.toRadians (angleInDegrees)); // 0,5 dobbelt trettiDegreesInRadians = 1/6 * Math.PI; dobbel sinForRadians = Math.sin (trettiDegreesInRadians); // 0,5 assertTrue (sinForDegrees == sinForRadians); }

Siden trettiDegreesInRadians var allerede i radianer, behøvde vi ikke først konvertere den for å få det samme resultatet.

4. Konklusjon

I denne raske artikkelen har vi gjennomgått radianer og grader, og så et eksempel på hvordan vi kan jobbe med dem Math.sin.

Som alltid, sjekk kildekoden for dette eksemplet på GitHub.


$config[zx-auto] not found$config[zx-overlay] not found