W3docs

asin()

La funzione asin() in PHP restituisce l'arcoseno di un numero, ovvero l'angolo il cui seno corrisponde al valore dato.

La funzione asin() in PHP restituisce l'arcoseno (seno inverso) di un numero, ovvero l'angolo il cui seno è uguale al valore dato. È l'inverso matematico di sin(): mentre sin() converte un angolo in un rapporto, asin() riconverte quel rapporto in un angolo. L'angolo restituito è espresso in radianti.

Questa pagina tratta la sintassi, l'intervallo di input valido, come convertire il risultato in gradi, i casi limite come l'input fuori intervallo e il rapporto tra asin() e le altre funzioni trigonometriche di PHP.

Sintassi

asin(float $num): float
  • $num — un float nell'intervallo da -1 a 1 (inclusi). Questo è obbligatorio perché il seno di qualsiasi angolo reale ricade sempre in quell'intervallo.
  • Valore di ritorno — l'arcoseno di $num, in radianti, nell'intervallo da -π/2 a π/2 (circa da -1.5708 a 1.5708). Se $num è al di fuori di -1..1, la funzione restituisce NAN (Not a Number).

Un Esempio di Base

php— editable, runs on the server

Passiamo 0.5 a asin() e restituisce circa 0.5236 radianti — che è esattamente π / 6, l'angolo il cui seno è 0.5.

Conversione del Risultato in Gradi

Poiché asin() restituisce radianti, nella maggior parte dei casi si converte in gradi per un output leggibile. Usare rad2deg() oppure moltiplicare per 180 / pi():

<?php
$angle_in_radians = asin(0.5);
$angle_in_degrees = rad2deg($angle_in_radians);

echo $angle_in_degrees; // 30
?>

Quindi l'angolo il cui seno è 0.5 è 30 gradi. La conversione inversa — trasformare i gradi in radianti prima di chiamare una funzione trigonometrica — si effettua con deg2rad().

Valori Comuni

Questi punti di riferimento sono utili da memorizzare quando si lavora con asin():

<?php
echo asin(-1);  // -1.5707963… (-π/2, i.e. -90°)
echo "\n";
echo asin(0);   // 0           (sin 0° = 0)
echo "\n";
echo asin(1);   // 1.5707963…  (π/2, i.e. 90°)
?>

Gestione dell'Input Fuori Intervallo

Se si passa un valore inferiore a -1 o superiore a 1, nessun angolo reale ha un seno pari a quel valore, quindi asin() restituisce NAN. Occorre proteggersi da questo caso quando l'input proviene da dati utente o da calcoli:

<?php
$value = 2; // outside the valid -1..1 range

if ($value >= -1 && $value <= 1) {
    echo rad2deg(asin($value));
} else {
    echo "Input must be between -1 and 1.";
}
// Output: Input must be between -1 and 1.
?>

È anche possibile rilevare il risultato con is_nan() dopo aver chiamato la funzione.

Quando Usare asin()?

asin() è utile ogni volta che occorre ricavare un angolo da un rapporto di seno:

  • Geometria e grafica — trovare l'angolo di elevazione dal rapporto tra il lato opposto e l'ipotenusa.
  • Navigazione — calcolare latitudini e direzioni nella trigonometria sferica.
  • Fisica — determinare angoli nelle oscillazioni, nell'ottica (legge di Snell) e nei problemi di traiettoria.

Appartiene alla stessa famiglia di acos() (arcocoseno) e atan() (arcotangente). Per la variante iperbolica, vedere asinh().

Conclusione

La funzione asin() restituisce l'arcoseno di un numero come angolo in radianti, accetta input da -1 a 1 e restituisce NAN per qualsiasi valore al di fuori di quell'intervallo. Ricordarsi di convertire il risultato in gradi con rad2deg() quando serve un output leggibile, e di validare l'input che potrebbe ricadere al di fuori del dominio valido.

Esercizio

Pratica
Qual è la funzione di 'asin' in PHP?
Qual è la funzione di 'asin' in PHP?
Was this page helpful?