Différentes distances
Il existe en mathématiques et en informatique de nombreuses façons de calculer la distance entre deux points.
On étudie ici les trois distances suivantes :
C'est la distance parcourue « en suivant les rues » dans le quartier de Manhattan. Elle vaut \(12\) dans la figure ci-dessous, quel que soit le chemin suivi :
On la définit comme la somme des « écarts » entre chaque paires de coordonnées des points :
\(\mathrm{manhattan}(x_A, y_A, x_B, y_B) = \lvert x_B - x_A \rvert + \lvert y_B - y_A \rvert\)
Aide
Avec Python, on calcule la valeur absolue de \(a\) en faisant abs(a).
C'est la distance classique du cours de mathématiques (dans le cas où les axes sont perpendiculaires et de même échelle).
On la calcule à l'aide du théorème de Pythagore :
\(\mathrm{euclidienne}(x_A, y_A, x_B, y_B) = \sqrt{(x_B - x_A)^2+(y_B - y_A)^2}\)
Afin de simplifier les calculs, on utilisera ici le carré de la distance euclidienne :
\(\mathrm{euclidienne\_carrée}(x_A, y_A, x_B, y_B) = (x_B - x_A)^2+(y_B - y_A)^2\)
Aide
Avec Python, on calcule le carré de \(a\) en faisant a**2.
Aux échecs, le roi peut se déplacer d'une case à la fois dans toutes les directions.
Combien de coups lui faut-il pour atteindre une case donnée ? La réponse est donnée par la distance de Tchebytchev.
Sur la figure ci-dessous, les cases marquées sont toutes accessibles en \(2\) coups.
Cette distance est égale à l'« écart » maximal entre les coordonnées de chaque point :
\(\mathrm{tchebytchev}(x_A, y_A, x_B, y_B) = \max (\lvert x_B - x_A \rvert , \lvert y_B - y_A \rvert)\)
Aide
Avec Python, on calcule le maximum de deux nombres a et b en faisant max(a, b).
Exemples
En prenant \(A(2\,;\,-5)\) et \(B(-3\,;\,1)\) :
>>> xA, yA = 2, -5
>>> xB, yB = -3, 1
>>> manhattan(xA, yA, xB, yB)
11
>>> euclidienne_carre(xA, yA, xB, yB)
61
>>> tchebychev(xA, yA, xB, yB)
6
En prenant \(A(2\,;\,2)\) et \(B(2\,;\,2)\) :
>>> xA, yA = 2, 2
>>> xB, yB = 2, 2
>>> manhattan(xA, yA, xB, yB)
0
>>> euclidienne_carre(xA, yA, xB, yB)
0
>>> tchebychev(xA, yA, xB, yB)
0
Compléter les fonctions ci-dessous :
assert ?
Le mot clé assert est utilisé en Python afin de vérifier que des propositions sont vraies.
Ainsi, l'instruction assert 3 + 5*7 == 38 permet de vérifier que l'expression 3 + 5*7 est bien évaluée à 38.
Si c'est le cas, le programme continue de se dérouler normalement. Dans le cas contraire, le programme est interrompu et une erreur est signalée.
La vidéo ne s'affiche pas... ?
Il peut arriver que les vidéos ne s'affichent pas sur des navigateurs basés sur Chrome, ou si un ad-blocker est activé sur le navaigateur. Essayer avec un autre navigateur si vous êtes dans ce cas (FireFox, typiquement), ou désactivez l'ad-blocker.
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)