19-09-2008, 06:37 PM
Bon alors juste comme çà en passant puisque je vois qu'il manque une notion de math.
Prérequis:
Soit AB le vecteur de composante (Xab,Yab).
L'équation de la droite en coordonnée cartésienne formé par la direction du vecteur et passant par le point A de coordonnée (Xa,Ya) est:
y=Yab/Xab*x+Ya-Xa*Xab/Yab
Sauf si Xab=0, dans ce cas l'équation est
x=Xa
Exemple:
AB (2;1) A (1;1)
y=0.5x+0.5[/code]
Faudrait agrémenter d'un dessin, mais là j'ai pas trop le temps...
Utilisation:
L'équation d'une droite peut permettre de trouver les points obstacle si il s'agit d'un damier.
Pas le temps de finir, j'ai un train à prendre...[/b]
NB: je ne pense pas que le faire avec des équations de roite soit la meilleur méthode.
La méthode pas à pas est bonne à condition de faire quelques test pour vérifier si le pas qu'on fait n'est pas adjacent à une case antérieur autre que la précédente. A ce moment on supprime de la file (ou du array si vous préférez) les points entre cette fameuse case antérieur et la dernière case atteinte.
J'y vais
Prérequis:
- savoir ce qu'est un vecteur
- savoir tracer l'équation d'une droite
Soit AB le vecteur de composante (Xab,Yab).
L'équation de la droite en coordonnée cartésienne formé par la direction du vecteur et passant par le point A de coordonnée (Xa,Ya) est:
y=Yab/Xab*x+Ya-Xa*Xab/Yab
Sauf si Xab=0, dans ce cas l'équation est
x=Xa
Exemple:
AB (2;1) A (1;1)
y=0.5x+0.5[/code]
Faudrait agrémenter d'un dessin, mais là j'ai pas trop le temps...
Utilisation:
L'équation d'une droite peut permettre de trouver les points obstacle si il s'agit d'un damier.
Pas le temps de finir, j'ai un train à prendre...[/b]
NB: je ne pense pas que le faire avec des équations de roite soit la meilleur méthode.
La méthode pas à pas est bonne à condition de faire quelques test pour vérifier si le pas qu'on fait n'est pas adjacent à une case antérieur autre que la précédente. A ce moment on supprime de la file (ou du array si vous préférez) les points entre cette fameuse case antérieur et la dernière case atteinte.
J'y vais