Exercices
Exercice 1
Exercice 4 du sujet Amérique du Sud J2 2022
Correction Q1.a
from math import sqrt
Q1.b : tester son code
>>> distance_points((3, 5), (7, 4))
4.123105625617661
Correction Q1.b
🐍 Script Python | |
---|---|
1 2 |
|
Q2 : tester son code
>>> distance((8, 3), (5, 6), (3, 7))
1.3416407864998738
>>> distance((8, 3), (5, 6), (5, 6))
4.242640687119285
Correction Q2.
🐍 Script Python | |
---|---|
1 2 3 4 5 |
|
Q3 : tester son code
On cherche les coordonnées du point \(M\).
La droite \((AB)\) a une équation du type: \(y=m\times x+od\)
Son coefficient directeur est \(\displaystyle m = \frac{\Delta y}{\Delta x}=\frac{y_B-y_A}{x_B-x_A}\)
L'équation de la droite perpendiculaire à la droite \((AB)\) a un coefficient directeur égal à \(-\frac{1}{m}\).
Son équation est du type: \(y=-\frac{1}{m}x+c\)
Cette droite passant par \(P\) on en déduit: \(c=y_p+\frac{1}{m}x_P\)
Cherchons les coordonnées de \(M\), le point d'intersection des deux droites:
\(m\times x_M+od= -\frac{1}{m}x_M+y_P+\frac{1}{m}x_P\)
En en déduit que \(\displaystyle x_M=\frac{x_P+m(y_P-od)}{1+m^2}\)
Sachant que \(\displaystyle m = \frac{y_B-y_A}{x_B-x_A}\)
On obtient: \(\displaystyle x_M=\frac{x_P(x_B-x_A)+(y_P-od)(y_B-y_A)}{(x_B-x_A)+m(y_B-y_A)}\) et \(y_m=m\times x_M + od\)
Fonction distance_point_droite
:
🐍 Script Python | |
---|---|
1 2 3 4 5 6 7 8 |
|
>>> le_plus_loin([(1, 3), (2, 7), (3, 4), (5, 3)])
(1, 4.0)
Correction Q3.
🐍 Script Python | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
Q4 : tester son code
>>> extrait([(1, 3), (2, 7), (3, 4), (4, 4), (5, 3), (6, 2)], 1, 4)
[(2, 7), (3, 4), (4, 4), (5, 3)]
Correction Q4.
🐍 Script Python | |
---|---|
1 2 3 4 5 |
|
ou
🐍 Script Python | |
---|---|
1 2 |
|
ou
🐍 Script Python | |
---|---|
1 2 |
|
Q5 : tester son code
>>> simplifie([(1, 3), (2, 7), (3, 4), (4, 4), (5, 3), (6, 2)], 3)
[(1, 3), (2, 7), (3, 4), (6, 2)]
Correction Q5.
🐍 Script Python | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 |
|
Bonus : mise en pratique de l'algorithme de Douglas-Peucker
Téléchargez d'abord le fichier coord_france.txt puis placez-le dans le même dossier que le code Python ci-dessous :
🐍 Script Python | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
|
Correction
🐍 Script Python | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
|
Le rendu avec un seuil égal à 0 est celui-ci :
Vous pouvez faire varier le seuil entre 0 et 5000 et observer les modifications.