hypot()
Hoy hablaremos de la función hypot() en PHP, usada para calcular la hipotenusa de un triángulo rectángulo.
La función hypot() en PHP devuelve la longitud de la hipotenusa de un triángulo rectángulo — equivalentemente, la distancia en línea recta (euclidiana) desde el origen (0, 0) hasta el punto (x, y). Esta página cubre su sintaxis, por qué conviene usarla en lugar de una fórmula manual y los aspectos a tener en cuenta.
Sintaxis
hypot(float $x, float $y): float$x— longitud de uno de los lados (o la coordenada x de un punto).$y— longitud del otro lado (o la coordenada y de un punto).- Valor de retorno — un
float:sqrt($x * $x + $y * $y).
Ambos argumentos son obligatorios, y la función siempre devuelve un float, incluso cuando el resultado es un número entero (hypot(3, 4) devuelve 5.0, que echo imprime como 5).
Qué calcula hypot()
Según el teorema de Pitágoras, la hipotenusa de un triángulo rectángulo es la raíz cuadrada de la suma de los cuadrados de los otros dos lados:
hipotenusa = √(lado1² + lado2²)
hypot() evalúa exactamente esta expresión. El clásico triángulo 3-4-5 devuelve 5:
Aquí almacenamos las longitudes de los dos lados en variables, las pasamos a hypot() e imprimimos el resultado. La función devuelve el valor en punto flotante 5.
¿Por qué no usar simplemente sqrt()?
Podríamos escribir sqrt($x * $x + $y * $y) manualmente, ¿entonces por qué usar hypot()? Por dos razones:
- Legibilidad — la intención ("calcular una hipotenusa / distancia") resulta obvia de un vistazo.
- Seguridad numérica —
hypot()está implementada para evitar el desbordamiento por exceso y por defecto que unsqrt()ingenuo de valores al cuadrado puede producir cuando$xo$yes muy grande o muy pequeño. Elevar al cuadrado un número grande puede superar el rango del float y producirINF, mientras quehypot()está diseñada para mantenerse dentro del rango.
Para matemáticas cotidianas ambos enfoques coinciden; con magnitudes extremas hypot() es la opción más segura. Consulta sqrt() y pow() para los bloques de construcción de nivel inferior.
Distancia entre dos puntos
Dado que hypot() devuelve la distancia desde (0, 0) hasta (x, y), puedes calcular la distancia entre cualquier par de puntos restando primero sus coordenadas:
Las diferencias son 3 y 4, por lo que la distancia es 5. Este es el uso más habitual en el mundo real: medir distancias en el espacio 2D (maquetación de interfaces, física de videojuegos, cálculos geométricos en un plano).
Notas y aspectos a tener en cuenta
- Las entradas negativas son válidas. Solo importan las magnitudes, así que
hypot(-3, -4)también devuelve5— los cuadrados eliminan los signos. - El resultado es un float.
hypot(1, 1)devuelve1.4142135623731(PHP imprime con su precisión predeterminada de 14 dígitos significativos). No compares un resultado dehypot()con un entero usando===. - Ambos argumentos son obligatorios.
hypot()acepta exactamente dos números; para distancias en 3D, anídala:hypot(hypot($x, $y), $z).
Conclusión
hypot() ofrece una forma concisa y segura frente a desbordamientos para calcular una hipotenusa o una distancia euclidiana 2D sin necesidad de escribir la fórmula de Pitágoras a mano. Úsala siempre que necesites la distancia desde el origen hasta un punto, o — restando coordenadas — entre cualquier par de puntos. Para más funciones matemáticas relacionadas, explora la referencia completa de funciones matemáticas de PHP, abs() y atan2().