W3docs

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:

php— editable, runs on the server

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:

  1. Legibilidade — a intenção ("calcular uma hipotenusa / distância") é óbvia à primeira vista.
  2. Segurança numéricahypot() é implementada para evitar overflow e underflow que um sqrt() ingênuo de valores ao quadrado pode causar quando $x ou $y é muito grande ou muito pequeno. Elevar ao quadrado um número grande pode exceder o intervalo do float e produzir INF, enquanto hypot() é 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:

php— editable, runs on the server

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) retorna 1.4142135623731 (o PHP imprime com a precisão padrão de 14 dígitos significativos). Não compare o resultado de hypot() 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().

Prática

Prática
Qual é a funcionalidade da função hypot() no PHP?
Qual é a funcionalidade da função hypot() no PHP?
Was this page helpful?