deg2rad()
Aprenda sobre a função deg2rad() em PHP, usada para converter um ângulo de graus para radianos.
A função deg2rad() do PHP converte um ângulo medido em graus para o ângulo equivalente em radianos. Esta página explica o que ela retorna, por que a conversão é importante, como ela se integra às funções trigonométricas do PHP e os cuidados a ter.
Por que converter graus para radianos?
As pessoas geralmente pensam em ângulos em graus (um círculo completo tem 360°), mas as funções trigonométricas do PHP — sin(), cos(), tan() e similares — esperam o argumento em radianos, onde um círculo completo é 2π (aproximadamente 6,28). Se você passar graus diretamente para sin(), obterá um resultado errado. O deg2rad() é a ponte: converta primeiro, depois chame a função trigonométrica.
A matemática é uma proporção simples:
radians = degrees × (π / 180)Portanto, deg2rad(180) retorna π (≈ 3,14159265…) e deg2rad(90) retorna π/2 (≈ 1,5707963…).
Sintaxe
deg2rad(float $num): float$num— o ângulo em graus. Qualquer float ou inteiro é aceito, incluindo valores negativos e valores maiores que 360.- Valor de retorno — o mesmo ângulo expresso em radianos, como um
float.
deg2rad() é o inverso de rad2deg(), que faz o caminho inverso.
Exemplo básico
Isso imprime:
0.78539816339745Esse valor é π/4 — exatamente um quarto de π, o que faz sentido porque 45° é um quarto de 180°.
Usando deg2rad() com funções trigonométricas
O motivo mais comum para usar deg2rad() é fornecer um valor em graus para sin(), cos() ou tan():
<?php
// sin() expects radians, so convert the 30° angle first
echo sin(deg2rad(30)); // 0.5
echo "\n";
// Without the conversion the result is meaningless:
echo sin(30); // -0.98803162409286
?>A primeira linha retorna corretamente 0.5 (o seno de 30°). A segunda trata 30 como 30 radianos — aproximadamente 4,7 voltas completas ao redor do círculo — portanto, o resultado não tem nada a ver com 30 graus. Este é o erro mais frequente ao trabalhar com ângulos em PHP.
Trabalhando com outros ângulos
deg2rad() aceita qualquer valor numérico, não apenas os "redondos":
<?php
echo deg2rad(180); // 3.1415926535898 (π)
echo "\n";
echo deg2rad(360); // 6.2831853071796 (2π)
echo "\n";
echo deg2rad(-90); // -1.5707963267949 (negative angle)
?>Para valores exatos, o PHP também disponibiliza pi() e a constante M_PI, portanto deg2rad(180) e M_PI produzem o mesmo número.
Cuidados
- Radianos entram e saem das funções trigonométricas.
deg2rad()apenas converte o número; não altera o comportamento desin()/cos()/tan(). Sempre converta antes da chamada trigonométrica. - Precisão de ponto flutuante. Os resultados são floats, portanto comparações como
deg2rad(180) == M_PIpodem ser não confiáveis devido ao arredondamento. Compare com uma pequena tolerância em vez de==. echotrunca a exibição.echomostra aproximadamente 14 dígitos significativos por padrão; o float armazenado tem mais. Useprintf('%.20f', deg2rad(45))se precisar ver a precisão completa.
Conclusão
deg2rad() converte um ângulo em graus para radianos usando graus × π / 180, e é quase sempre usado imediatamente antes de uma função trigonométrica como sin(), cos() ou tan(). Lembre-se de que as funções trigonométricas do PHP trabalham em radianos, use deg2rad() para converter ao entrar, e rad2deg() para voltar ao sentido contrário.