W3docs

hypot()

Nous allons explorer la fonction hypot() en PHP, utilisée pour calculer l'hypoténuse d'un triangle rectangle.

La fonction hypot() en PHP retourne la longueur de l'hypoténuse d'un triangle rectangle — soit la distance en ligne droite (euclidienne) entre l'origine (0, 0) et le point (x, y). Cette page couvre sa syntaxe, les raisons de l'utiliser plutôt qu'une formule manuelle, et les pièges à éviter.

Syntaxe

hypot(float $x, float $y): float
  • $x — longueur d'un côté (ou la coordonnée x d'un point).
  • $y — longueur de l'autre côté (ou la coordonnée y d'un point).
  • Valeur de retour — un float : sqrt($x * $x + $y * $y).

Les deux arguments sont obligatoires, et la fonction retourne toujours un float, même lorsque le résultat est un nombre entier (hypot(3, 4) retourne 5.0, qu'echo affiche sous la forme 5).

Ce que hypot() calcule

D'après le théorème de Pythagore, l'hypoténuse d'un triangle rectangle est la racine carrée de la somme des carrés des deux autres côtés :

hypoténuse = √(côté1² + côté2²)

hypot() évalue exactement cette expression. Le classique triangle 3-4-5 retourne 5 :

php— editable, runs on the server

Ici, nous stockons les longueurs des deux côtés dans des variables, les passons à hypot(), et affichons le résultat. La fonction retourne la valeur en virgule flottante 5.

Pourquoi ne pas simplement utiliser sqrt() ?

On pourrait écrire sqrt($x * $x + $y * $y) manuellement, alors pourquoi utiliser hypot() ? Deux raisons :

  1. Lisibilité — l'intention (« calculer une hypoténuse / une distance ») est évidente au premier coup d'œil.
  2. Sécurité numériquehypot() est implémentée pour éviter les dépassements par le haut et par le bas qu'un sqrt() naïf de valeurs au carré peut provoquer lorsque $x ou $y est très grand ou très petit. Mettre au carré un grand nombre peut dépasser la plage des flottants et produire INF, tandis que hypot() est conçue pour rester dans la plage.

Pour les calculs mathématiques courants, les deux approches donnent les mêmes résultats ; pour des valeurs extrêmes, hypot() est le choix le plus sûr. Consultez sqrt() et pow() pour les briques de base de niveau inférieur.

Distance entre deux points

Puisque hypot() retourne la distance de (0, 0) à (x, y), vous pouvez trouver la distance entre deux points quelconques en soustrayant d'abord leurs coordonnées :

php— editable, runs on the server

Les différences sont 3 et 4, donc la distance est 5. C'est l'utilisation la plus courante dans le monde réel : mesurer des écarts dans un espace 2D (mises en page UI, physique de jeu, calculs géographiques sur un plan).

Remarques et pièges

  • Les entrées négatives sont acceptées. Seules les magnitudes comptent, donc hypot(-3, -4) vaut également 5 — les carrés annulent les signes.
  • Le résultat est un float. hypot(1, 1) retourne 1.4142135623731 (PHP affiche selon sa précision par défaut de 14 chiffres significatifs). Ne comparez pas un résultat de hypot() à un entier avec ===.
  • Les deux arguments sont obligatoires. hypot() prend exactement deux nombres ; pour les distances en 3D, imbriquez-la : hypot(hypot($x, $y), $z).

Conclusion

hypot() vous offre un moyen concis et sûr vis-à-vis des dépassements pour calculer une hypoténuse ou une distance euclidienne en 2D sans écrire la formule de Pythagore manuellement. Utilisez-la chaque fois que vous avez besoin de la distance entre l'origine et un point, ou — en soustrayant les coordonnées — entre deux points quelconques. Pour les fonctions mathématiques associées, explorez la référence complète des fonctions mathématiques PHP, abs() et atan2().

Pratique

Pratique
Quelle est la fonctionnalité de la fonction hypot() en PHP ?
Quelle est la fonctionnalité de la fonction hypot() en PHP ?
Was this page helpful?