Ce face Math.asin
Math.asin(x) (arcsinus) returnează unghiul al cărui sinus este x, între -π/2 și π/2. Math.acos(x) (arccosinus) returnează un unghi între 0 și π. Math.atan(x) (arctangentă) returnează un unghi între -π/2 și π/2.
Rezultatul este în radiani; folosește Math.toDegrees pentru grade. Pentru asin și acos, argumentul trebuie să fie între -1 și 1; altfel rezultatul este NaN. Când ai ambele coordonate ale unui punct, preferă Math.atan2 în locul lui atan(y / x).
Parametri
| Parametru | Descriere |
|---|---|
a |
Valoarea sinusului, cosinusului sau tangentei. |
Ce returnează
Unghiul, în radiani, ca double.
Exemple
Exemplul 1: Unghiuri din valori cunoscute
public class Main {
public static void main(String[] args) {
System.out.println(Math.toDegrees(Math.asin(0.5)));
System.out.println(Math.toDegrees(Math.acos(0.5)));
System.out.println(Math.toDegrees(Math.atan(1)));
System.out.println(Math.asin(2));
}
}
Rezultat
30.000000000000004
60.00000000000001
45.0
NaN
Exemplul 2: Panta unui drum
Un drum urcă 12 m pe o distanță orizontală de 100 m (panta de 12%). Unghiul este arctangenta raportului.
public class Main {
public static void main(String[] args) {
double urcare = 12;
double orizontal = 100;
double unghi = Math.toDegrees(Math.atan(urcare / orizontal));
System.out.printf("Unghiul drumului: %.2f°%n", unghi);
}
}
Rezultat
Unghiul drumului: 6.84°
Greșeli frecvente
- Dai un argument puțin peste 1 din cauza rotunjirilor (de exemplu 1.0000000002) și primești
NaN. Încadrează valoarea cuMath.clamp(x, -1.0, 1.0)înainte. - Afișezi direct rezultatul crezând că e în grade:
Math.asin(0.5)este 0.5235… radiani, adică 30°.
Comenzi înrudite
Math.sin: Funcțiile trigonometrice sinus, cosinus și tangentă; unghiul se dă în radiani, nu în grade.Math.atan2: Returnează unghiul punctului (x, y) față de axa orizontală, între -π și π, ținând cont de cadranul în care se află.Math.toRadians: Transformă un unghi din grade în radiani (toRadians) și invers (toDegrees).Math.asinh: Inversele funcțiilor hiperbolice (Java 27): din valoarea lui sinh, cosh sau tanh obții argumentul.