par sos-math(21) » mer. 3 juil. 2013 09:41
Bonjour,
Il faut déjà savoir comment cela peut se traduire mathématiquement :
Trois points \(A(x_A;y_A)\), \(B(x_B;y_B)\) et \(C(x_C;y_C)\) sont alignés si les vecteurs \(\vec{AB}\) et \(\vec{AC}\) sont colinéaires (par exemple, on aurait pu aussi dire si les droites (AB) et (AC) sont parallèles)
Cela signifie que tu dois savoir si les vecteurs \(\vec{AB}\left(\begin{array}{ll}x_B-x_A\\y_B-y_A\end{array}\right)\) et \(\vec{AC}\left(\begin{array}{ll}x_C-x_A\\y_C-y_A\end{array}\right)\), ce qui peut se voir en regardant si les coordonnées sont proportionnelles, ce que l'on peut prouver en calculant le "produit en croix" :
\((x_B-x_A)\times(y_C-y_A)-(y_B-y_A)\times(x_C-x_A)\)
Si ce produit vaut 0, les vecteurs sont colinéaires et les points sont alignés ;
si ce produit ne vaut pas 0, les vecteurs ne sont pas colinéaires et les points ne sont pas alignés.
Une fois ceci fait, l'algorithme est plutôt simple :
déclare tes variables d'entrée :
\(x_A,y_A,x_B,y_B,x_C,y_C,p\) (p est une variable interne qui stockera le calcul
Traitement :
p reçoit la valeur \((x_B-x_A)\times(y_C-y_A)-(y_B-y_A)\times(x_C-x_A)\)
Si p=0 alors afficher : "les points sont alignés"
Sinon afficher :" les points ne sont pas alignés"
finSI
fin
A toi de l'implémenter sur une calculatrice ou sur un logiciel algobox pour le tester
Bon courage
Bonjour,
Il faut déjà savoir comment cela peut se traduire mathématiquement :
Trois points [tex]A(x_A;y_A)[/tex], [tex]B(x_B;y_B)[/tex] et [tex]C(x_C;y_C)[/tex] sont alignés si les vecteurs [tex]\vec{AB}[/tex] et [tex]\vec{AC}[/tex] sont colinéaires (par exemple, on aurait pu aussi dire si les droites (AB) et (AC) sont parallèles)
Cela signifie que tu dois savoir si les vecteurs [tex]\vec{AB}\left(\begin{array}{ll}x_B-x_A\\y_B-y_A\end{array}\right)[/tex] et [tex]\vec{AC}\left(\begin{array}{ll}x_C-x_A\\y_C-y_A\end{array}\right)[/tex], ce qui peut se voir en regardant si les coordonnées sont proportionnelles, ce que l'on peut prouver en calculant le "produit en croix" :
[tex](x_B-x_A)\times(y_C-y_A)-(y_B-y_A)\times(x_C-x_A)[/tex]
Si ce produit vaut 0, les vecteurs sont colinéaires et les points sont alignés ;
si ce produit ne vaut pas 0, les vecteurs ne sont pas colinéaires et les points ne sont pas alignés.
Une fois ceci fait, l'algorithme est plutôt simple :
déclare tes variables d'entrée :
[tex]x_A,y_A,x_B,y_B,x_C,y_C,p[/tex] (p est une variable interne qui stockera le calcul
Traitement :
p reçoit la valeur [tex](x_B-x_A)\times(y_C-y_A)-(y_B-y_A)\times(x_C-x_A)[/tex]
Si p=0 alors afficher : "les points sont alignés"
Sinon afficher :" les points ne sont pas alignés"
finSI
fin
A toi de l'implémenter sur une calculatrice ou sur un logiciel algobox pour le tester
Bon courage