Python ∼ Distance

1 - Calcul direct

from math import * x1 = 10 y1 = -3 x2 = 2 y2 = 5 d = sqrt( (x2-x1)**2 + (y2-y1)**2 ) print(d)

Explication du code :

1. Objectif du code

Ce programme calcule la distance entre deux points dans un plan cartésien en appliquant la formule de la distance euclidienne. Les coordonnées des deux points sont données par :

2. Importation des fonctions mathématiques

La ligne from math import * permet d'importer toutes les fonctions du module mathématique de Python. Cela rend disponible des fonctions comme sqrt(), utilisée ici pour calculer une racine carrée.

3. Formule utilisée

La distance entre deux points (x1; y1) et (x2; y2) est calculée avec la formule suivante :

$$ d = \sqrt{(x_2 - x_1)^2 + (y_2 - y_1)^2} $$

4. Étapes du calcul

Le programme effectue les étapes suivantes :

  1. Calcul de la différence en x : x2 - x1 = 2 - 10 = -8.
  2. Calcul de la différence en y : y2 - y1 = 5 - (-3) = 8.
  3. Élévation des différences au carré :
    • (x2 - x1)**2 = (-8)**2 = 64.
    • (y2 - y1)**2 = 8**2 = 64.
  4. Somme des carrés : 64 + 64 = 128.
  5. Calcul de la racine carrée : sqrt(128) ≈ 11.3137.

5. Résultat final

Le programme affiche :

11.313708498984761
Ce résultat est la distance entre les deux points, avec une précision par défaut en Python.

6. Concepts abordés

2 - Avec une fonction

from math import * def distance(A,B): x1 = A[0] y1 = A[1] x2 = B[0] y2 = B[1] return sqrt( (x2-x1)**2 + (y2-y1)**2 ) M = [3,-1] N = [-8,15] print(distance(M,N))

Explication du code :

1. Objectif du code

Ce programme calcule la distance entre deux points dans un plan cartésien en utilisant une fonction Python. Les points sont représentés sous forme de listes :

La fonction distance(A, B) applique la formule de la distance euclidienne.

2. Importation des fonctions mathématiques

La ligne from math import * importe toutes les fonctions du module mathématique de Python, rendant disponibles des outils comme sqrt(), utilisée pour calculer une racine carrée.

3. Définition de la fonction distance(A, B)

La fonction distance(A, B) prend en entrée deux arguments :

Dans la fonction :

4. Appel de la fonction et calcul

Après avoir défini la fonction, le programme attribue les coordonnées de deux points :

La fonction distance(M, N) est ensuite appelée avec ces deux points comme arguments.

5. Résultat

Les étapes intermédiaires du calcul sont :

Le programme affiche :

19.4164878389476
Cela correspond à la distance entre les points $ M $ et $ N $.

6. Concepts abordés

7. Avantages d'utiliser une fonction

a. Réutilisabilité
L'utilisation d'une fonction permet de regrouper un ensemble d'opérations sous un même nom. Une fois définie, cette fonction peut être utilisée à plusieurs endroits dans le programme, ce qui évite de répéter le même code. Dans notre exemple, la fonction milieu peut être réutilisée pour calculer le milieu de n'importe quel segment, sans avoir à réécrire les étapes de calcul à chaque fois.

b. Clarté et lisibilité
Une fonction rend le code plus lisible en isolant des tâches spécifiques. Au lieu d'avoir un programme monolithique où les calculs sont tous mélangés, les fonctions séparent les différentes parties du code, ce qui facilite sa compréhension. Ici, le calcul du milieu est encapsulé dans une fonction bien définie, ce qui rend le code principal plus simple.

c. Modularité
En divisant le code en petites unités fonctionnelles, on améliore la structure du programme. Chaque fonction peut être testée indépendamment, facilitant ainsi le débogage et l'amélioration du code. La fonction distance est une unité autonome qui peut être modifiée ou étendue sans affecter le reste du programme.

d. Facilité de maintenance
Lorsqu'un changement doit être effectué dans une opération (par exemple, une modification de la formule de calcul de la distance), il suffit de mettre à jour la fonction. Cela permet de modifier le comportement du programme sans avoir à toucher à chaque ligne de code où le calcul du milieu est effectué.