acos()
Aprenda sobre a função acos() em PHP, usada para obter o arco cosseno de um número — o ângulo cujo cosseno é o valor fornecido.
A função acos() em PHP retorna o arco cosseno (cosseno inverso) de um número — ou seja, o ângulo cujo cosseno é igual ao valor fornecido. É o inverso matemático de cos(): enquanto cos() transforma um ângulo numa razão, acos() transforma essa razão de volta num â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 entradas fora do intervalo e como acos() se relaciona com as outras funções trigonométricas do PHP.
Sintaxe
acos(float $num): float$num— um float no intervalo de-1a1(inclusive). Isso é necessário porque o cosseno de qualquer ângulo real sempre cai nesse intervalo.- Valor de retorno — o arco cosseno de
$num, em radianos, no intervalo de0aπ(aproximadamente0a3.14159). Se$numestiver fora de-1..1, a função retornaNAN(Not a Number).
Um Exemplo Básico
Passamos 0.5 para acos() e ela retorna aproximadamente 1.0472 radianos — que é exatamente π / 3, o ângulo cujo cosseno é 0.5.
Convertendo o Resultado para Graus
Como acos() retorna radianos, quase sempre é necessário converter para graus a fim de obter uma saída legível. Use rad2deg() ou multiplique por 180 / pi():
<?php
$angle_in_radians = acos(0.5);
$angle_in_degrees = rad2deg($angle_in_radians);
echo $angle_in_degrees; // 60
?>Portanto, o ângulo cujo cosseno é 0.5 é 60 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 acos():
<?php
echo acos(1); // 0 (cos 0° = 1)
echo "\n";
echo acos(0); // 1.5707963… (π/2, i.e. 90°)
echo "\n";
echo acos(-1); // 3.1415926… (π, i.e. 180°)
?>Tratando Entradas Fora do Intervalo
Se você passar um valor menor que -1 ou maior que 1, nenhum ângulo real produz esse cosseno, então acos() 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(acos($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 Usar acos()?
acos() aparece sempre que você precisa recuperar um ângulo a partir de uma razão de cosseno:
- Geometria e gráficos — encontrar o ângulo entre dois vetores usando a fórmula do produto escalar.
- Navegação — calcular direções e distâncias de grande círculo numa esfera.
- Física — determinar ângulos em problemas de movimento de projéteis ou ondas.
Ela pertence à mesma família que asin() (arco seno) e atan() (arco tangente). Para a variante hiperbólica, veja acosh().
Conclusão
A função acos() retorna o arco cosseno de um número como um ângulo em radianos, aceitando entradas de -1 a 1 e retornando NAN para qualquer valor fora desse intervalo. Lembre-se de converter o resultado para graus com rad2deg() quando precisar de uma saída legível, e de validar entradas que possam estar fora do domínio válido.