tan()
Aprenda a usar a função tan() no PHP para calcular a tangente de um ângulo em radianos, com exemplos e dicas práticas.
A função tan() no PHP retorna a tangente de um ângulo. O ângulo deve ser fornecido em radianos, não em graus — esta é a principal fonte de resultados incorretos, e veremos como converter abaixo.
Este capítulo explica a sintaxe, os parâmetros e o valor de retorno de tan(), apresenta exemplos executáveis e aponta os problemas comuns (radianos vs. graus, os valores em que a tangente tende ao infinito).
O que a Função tan() Faz
Em um triângulo retângulo, a tangente de um ângulo é a razão entre o lado oposto ao ângulo e o lado adjacente a ele. De forma equivalente, tan(x) = sin(x) / cos(x).
tan() recebe um único ângulo em radianos e retorna essa razão como um float. Um círculo completo tem 2π radianos (360°), portanto π/4 radianos equivale a 45°, cuja tangente é 1.
Sintaxe
tan(float $num): float| Parâmetro | Tipo | Descrição |
|---|---|---|
$num | float | O ângulo, em radianos. |
Valor de retorno: um float — a tangente de $num.
Exemplo Básico
Aqui passamos pi() / 4 radianos (45°). A tangente de 45° é exatamente 1, embora o arredondamento de ponto flutuante imprima algo como 0.99999999999999.
Trabalhando com Graus
A maioria das pessoas pensa em graus, mas tan() só entende radianos. Converta primeiro com deg2rad(), ou multiplique por pi() / 180:
<?php
$degrees = 60;
// Convert degrees to radians before calling tan()
$radians = deg2rad($degrees);
echo tan($radians); // ~1.7320508075689 (√3)
?>Passar 60 diretamente para tan(60) calcularia a tangente de 60 radianos — um valor completamente diferente e sem sentido para este caso de uso.
Atenção: Onde a Tangente "Explode"
A tangente é sin(x) / cos(x), portanto é indefinida onde cos(x) é zero — em 90°, 270° e assim por diante (π/2 + nπ). Na matemática isso é infinito; em ponto flutuante, cos(pi()/2) é um número muito pequeno mas não zero, por isso tan() retorna um valor finito muito grande em vez de INF:
<?php
echo tan(pi() / 2); // ~1.6331239353195E+16 (very large, not exactly INF)
?>Se você precisa de uma verificação exata de "indefinido", teste se cos($x) está próximo de zero antes de dividir.
Funções Relacionadas
tanh()— tangente hiperbólica.atan()— tangente inversa (arco tangente), retorna um ângulo em radianos.sin()ecos()— os blocos de construção da tangente.deg2rad()erad2deg()— convertem entre graus e radianos.
Conclusão
tan() retorna a tangente de um ângulo expresso em radianos. Lembre-se dos dois pontos essenciais: converta graus para radianos primeiro, e esteja ciente de que a tangente é indefinida em 90° + múltiplos de 180°, onde o PHP retorna um valor muito grande em vez de infinito.