hypot()
Neste artigo, apresentamos a função hypot() do PHP, usada para calcular a hipotenusa de um triângulo retângulo.
A função hypot() no PHP retorna o comprimento da hipotenusa de um triângulo retângulo — equivalentemente, a distância em linha reta (euclidiana) da origem (0, 0) ao ponto (x, y). Esta página aborda sua sintaxe, por que usá-la em vez de uma fórmula manual e os cuidados a ter.
Sintaxe
hypot(float $x, float $y): float$x— comprimento de um lado (ou a coordenada x de um ponto).$y— comprimento do outro lado (ou a coordenada y de um ponto).- Valor de retorno — um
float:sqrt($x * $x + $y * $y).
Ambos os argumentos são obrigatórios e a função sempre retorna um float, mesmo quando o resultado é um número inteiro (hypot(3, 4) retorna 5.0, que o echo imprime como 5).
O que hypot() Calcula
Pelo teorema de Pitágoras, a hipotenusa de um triângulo retângulo é a raiz quadrada da soma dos quadrados dos outros dois lados:
hipotenusa = √(lado1² + lado2²)
hypot() avalia exatamente essa expressão. O clássico triângulo 3-4-5 retorna 5:
Aqui armazenamos os comprimentos dos dois lados em variáveis, passamos para hypot() e imprimimos o resultado. A função retorna o valor de ponto flutuante 5.
Por que Não Usar sqrt()?
Você poderia escrever sqrt($x * $x + $y * $y) manualmente, então por que usar hypot()? Dois motivos:
- Legibilidade — a intenção ("calcular uma hipotenusa / distância") é óbvia à primeira vista.
- Segurança numérica —
hypot()é implementada para evitar overflow e underflow que umsqrt()ingênuo de valores ao quadrado pode causar quando$xou$yé muito grande ou muito pequeno. Elevar ao quadrado um número grande pode exceder o intervalo do float e produzirINF, enquantohypot()é projetada para permanecer dentro do intervalo.
Para matemática do dia a dia as duas abordagens concordam; para magnitudes extremas hypot() é a opção mais segura. Consulte sqrt() e pow() para os blocos de construção de nível mais baixo.
Distância Entre Dois Pontos
Como hypot() retorna a distância de (0, 0) a (x, y), você pode encontrar a distância entre quaisquer dois pontos subtraindo suas coordenadas primeiro:
As diferenças são 3 e 4, portanto a distância é 5. Este é o uso mais comum no mundo real: medir distâncias em espaço 2D (layouts de UI, física de jogos, cálculos geográficos em plano plano).
Notas e Cuidados
- Entradas negativas são permitidas. Apenas as magnitudes importam, então
hypot(-3, -4)também é5— os quadrados cancelam os sinais. - O resultado é um float.
hypot(1, 1)retorna1.4142135623731(o PHP imprime com a precisão padrão de 14 dígitos significativos). Não compare o resultado dehypot()com um inteiro usando===. - Ambos os argumentos são obrigatórios.
hypot()recebe exatamente dois números; para distâncias 3D, aninhe-a:hypot(hypot($x, $y), $z).
Conclusão
hypot() oferece uma forma concisa e segura contra overflow para calcular uma hipotenusa ou uma distância euclidiana 2D sem escrever a fórmula de Pitágoras manualmente. Use-a sempre que precisar da distância da origem a um ponto ou — subtraindo coordenadas — entre quaisquer dois pontos. Para outros auxiliares matemáticos relacionados, explore a referência completa de Funções Matemáticas PHP, abs() e atan2().