Bonsoir, je recherche une réponse de toute urgence :c La question est : "Ecrire un algorithme en langage Python, qui teste si 3 points A(xa;ya); B(xb;yb) et C(xc;yx) sont alignés. L'utilisateur saisit les coordonnées des trois points et l'algorithme renvoie les coordonnées de deux vecteurs et "Les points sont alignés." ou "Les points ne sont pas alignés.""
Pour tester si trois points sont alignés, A , B et C par exemple, il suffit de vérifier si le vecteur reliant A et B , et le vecteur B et C , sont parallèles.
S'ils sont parallèles, alors automatiquement c'est sur la même droite car A est relié à B mais B est également relié à C. Ainsi en prouvant leur colinéarité, on peut démontrer que les points sont (ou ne sont pas) alignés.
On va donc faire en sorte que l'algorithme calcule d'abord les vecteurs AB et BC pour ensuite vérifier s'ils sont colinéaires entre eux !
Def points_alignés(xa,ya,xb,yb,xc,yc):
x_vecteur_ab = xb-xa
y_vecteur_ab = yb-ya
x_vecteur_bc = xc-xb
y_vecteur_bc = yc-yb
print("Le vecteur AB a comme coordonnées (",str(x_vecteur_ab),";",str(y_vecteur_ab),")")
print("Le vecteur BC a comme coordonnées (",str(x_vecteur_bc),";",str(y_vecteur_bc),")")
if ((x_vecteur_ab*y_vecteur_bc)-(x_vecteur_bc*y_vecteur_ab))==0:
print("Les points sont alignés")
else:
print("Les points ne sont pas alignés")
Voilà voilà ! J'ai essayé de faire le codage le plus propre mais en réalité on peut faire tout ça en une seule ligne ! ;)
Bonne soirée !
edit : Attention, dans les grandes lignes de code l'éditeur de texte à mis à la ligne, mais tant que je n'ai pas sauté de ligne manuellement ( en marquant avec les indentations ) tu ne dois pas revenir à la ligne !
Lista de comentários
Salut ! Ne panique pas ! ^^'
Pour tester si trois points sont alignés, A , B et C par exemple, il suffit de vérifier si le vecteur reliant A et B , et le vecteur B et C , sont parallèles.
S'ils sont parallèles, alors automatiquement c'est sur la même droite car A est relié à B mais B est également relié à C. Ainsi en prouvant leur colinéarité, on peut démontrer que les points sont (ou ne sont pas) alignés.
On va donc faire en sorte que l'algorithme calcule d'abord les vecteurs AB et BC pour ensuite vérifier s'ils sont colinéaires entre eux !
Def points_alignés(xa,ya,xb,yb,xc,yc):
x_vecteur_ab = xb-xa
y_vecteur_ab = yb-ya
x_vecteur_bc = xc-xb
y_vecteur_bc = yc-yb
print("Le vecteur AB a comme coordonnées (",str(x_vecteur_ab),";",str(y_vecteur_ab),")")
print("Le vecteur BC a comme coordonnées (",str(x_vecteur_bc),";",str(y_vecteur_bc),")")
if ((x_vecteur_ab*y_vecteur_bc)-(x_vecteur_bc*y_vecteur_ab))==0:
print("Les points sont alignés")
else:
print("Les points ne sont pas alignés")
Voilà voilà ! J'ai essayé de faire le codage le plus propre mais en réalité on peut faire tout ça en une seule ligne ! ;)
Bonne soirée !
edit : Attention, dans les grandes lignes de code l'éditeur de texte à mis à la ligne, mais tant que je n'ai pas sauté de ligne manuellement ( en marquant avec les indentations ) tu ne dois pas revenir à la ligne !