Le calcul de la distance entre deux couples de coordonnées, ou plus simplement entre deux points d'un plan, est une opération mathématique extrêmement utile dans de nombreux domaines. On la retrouve notamment dans les logiciels de cartographie, les systèmes de navigation GPS, les jeux vidéo, les applications de dessin technique, la robotique ainsi que dans de nombreux programmes scientifiques. Connaître la distance exacte séparant deux positions permet de déterminer le meilleur itinéraire, d'évaluer des déplacements ou encore de réaliser des calculs géométriques plus complexes.
La formule utilisée pour effectuer ce calcul repose directement sur l'un des théorèmes les plus célèbres de l'histoire des mathématiques : le théorème de Pythagore :
| c2=√a2+b2 |
Celui-ci établit une relation entre les côtés d'un triangle rectangle et permet de déterminer la longueur de l'hypoténuse à partir des deux autres côtés. En considérant les différences entre les coordonnées horizontales et verticales de deux points, il devient possible de construire un triangle rectangle imaginaire dont la distance recherchée correspond précisément à l'hypoténuse.
Mathématiquement, cette distance est obtenue en calculant la racine carrée de la somme des carrés des écarts sur les axes X et Y. Cette méthode, à la fois simple et élégante, offre une grande précision et constitue la base de nombreux algorithmes utilisés quotidiennement dans le monde informatique. Même les systèmes de navigation les plus sophistiqués s'appuient sur des principes géométriques similaires avant d'appliquer des raffinements supplémentaires adaptés à la courbure de la Terre ou aux contraintes du terrain.
Les langages Delphi, Kylix et Lazarus disposent de toutes les fonctions nécessaires pour effectuer ce calcul facilement, notamment grâce aux routines mathématiques permettant d'élever une valeur au carré et de calculer une racine carrée. Le programme présenté ci-dessous illustre une fonction de calcul de distance entre deux points ainsi que plusieurs exemples concrets permettant de vérifier les résultats obtenus. À l'aide de ce code source Delphi/Kylix/Lazarus, vous trouverez rapidement la réponse que vous souhaitez tout en découvrant l'une des applications les plus classiques et les plus utiles de la géométrie analytique, à l'aide du code source Delphi/Kylix/Lazarus suivant :
- Program Delta;
-
- {$APPTYPE CONSOLE}
- Uses Math,SysUtils;
-
- Function Distance(x1,y1,x2,y2:Real):Real;Begin
- Distance:=sqrt(sqr(y2 - y1) + sqr(x2 - x1));
- End;
-
- BEGIN
- WriteLn('Calcul la distance entre deux points (0,0)-(10,10): ',Distance(0, 0, 10, 10));
- WriteLn('Calcul la distance entre deux points (2,2)-(10,10): ',Distance(2, 2, 10, 10));
- WriteLn('Calcul la distance entre deux points (1,1)-(8,8): ',Distance(1, 1, 8, 8));
- END.
on obtiendra le résultat suivant :
Calcul la distance entre deux points (0,0)-(10,10): 14.142135623731Calcul la distance entre deux points (2,2)-(10,10): 11.3137084989848
Calcul la distance entre deux points (1,1)-(8,8): 9.89950