W3docs

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 é (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

php— editable, runs on the server

Isso imprime:

0.78539816339745

Esse 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 de sin()/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_PI podem ser não confiáveis devido ao arredondamento. Compare com uma pequena tolerância em vez de ==.
  • echo trunca a exibição. echo mostra aproximadamente 14 dígitos significativos por padrão; o float armazenado tem mais. Use printf('%.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.

Prática

Prática
Qual é o propósito da função deg2rad() em PHP?
Qual é o propósito da função deg2rad() em PHP?
Was this page helpful?