asin()
A função asin() em PHP retorna o arco seno de um número — o ângulo cujo seno é o valor fornecido, expresso em radianos.
A função asin() em PHP retorna o arco seno (seno inverso) de um número — ou seja, o ângulo cujo seno é igual ao valor fornecido. É o inverso matemático de sin(): enquanto sin() converte um ângulo em uma razão, asin() converte essa razão de volta em um ângulo. O ângulo retornado é expresso em radianos.
Esta página aborda a sintaxe, o intervalo de entrada válido, como converter o resultado em graus, casos extremos como entrada fora do intervalo e como asin() se relaciona com as outras funções trigonométricas do PHP.
Sintaxe
asin(float $num): float$num— um float no intervalo de-1a1(inclusive). Isso é obrigatório porque o seno de qualquer ângulo real sempre está nesse intervalo.- Valor de retorno — o arco seno de
$num, em radianos, no intervalo de-π/2aπ/2(aproximadamente-1.5708a1.5708). Se$numestiver fora de-1..1, a função retornaNAN(Não é um Número).
Um Exemplo Básico
Passamos 0.5 para asin() e ele retorna aproximadamente 0.5236 radianos — que é exatamente π / 6, o ângulo cujo seno é 0.5.
Convertendo o Resultado em Graus
Como asin() retorna radianos, você quase sempre converte para graus para uma saída legível por humanos. Use rad2deg() ou multiplique por 180 / pi():
<?php
$angle_in_radians = asin(0.5);
$angle_in_degrees = rad2deg($angle_in_radians);
echo $angle_in_degrees; // 30
?>Portanto, o ângulo cujo seno é 0.5 é 30 graus. A conversão inversa — transformar graus em radianos antes de chamar uma função trigonométrica — é feita com deg2rad().
Valores Comuns
Estes pontos de referência são úteis para memorizar ao trabalhar com 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°)
?>Tratando Entradas Fora do Intervalo
Se você passar um valor menor que -1 ou maior que 1, o seno de nenhum ângulo real poderia produzi-lo, portanto asin() retorna NAN. Proteja-se contra isso quando a entrada vem de dados do usuário ou de cálculos:
<?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.
?>Você também pode detectar o resultado com is_nan() após chamar a função.
Quando Devo Usar asin()?
asin() aparece sempre que você precisa recuperar um ângulo a partir de uma razão de seno:
- Geometria e gráficos — encontrar um ângulo de elevação a partir da razão do lado oposto com a hipotenusa.
- Navegação — calcular latitudes e rumos em trigonometria esférica.
- Física — resolver ângulos em oscilação, óptica (lei de Snell) e problemas de projéteis.
Ela pertence à mesma família que acos() (arco cosseno) e atan() (arco tangente). Para a variante hiperbólica, veja asinh().
Conclusão
A função asin() retorna o arco seno de um número como um ângulo em radianos, aceitando entrada de -1 a 1 e retornando NAN para qualquer valor fora desse intervalo. Lembre-se de converter o resultado em graus com rad2deg() quando precisar de uma saída legível, e de validar a entrada que pode estar fora do domínio válido.