-
30/07/2004 - 14h38 veligère
sens de parcours (matlab)
Bonjour à tous !
Je réalise sous matlab un programme qui calcule à tout instant la distance entre un point position GPS (de coordonnées xp et yp) et une droite théorique qu'on doit suivre (d'équation y=ax+b). J'ai un problème pour connaitre le sens de déplacement du point le long de la droite (pour savoir si je suis trop a gauche ou trop a droite de ma ligne théorique).
Quelqu'un a une idée pour connaitre mon sens de déplacement à partir des coordonnées GPS?
Merci d'avance
SYLVIE
-
30/07/2004 - 16h07 azt
Re : sens de parcours (matlab)
Est - ce que regarder le signe de suffirait ?
-
02/08/2004 - 14h43 veligère
Re : sens de parcours (matlab)
je ne sais pas du tout, je pensais faire avec des vecteurs direteurs de droites mais c'est un poil compliqué
-
02/08/2004 - 16h33 azt
Re : sens de parcours (matlab)
Je reformule pour vérifier que j'ai bien compris.
On a un objet qui se déplace dans un plan.
On obtient les coordonnées dans le plan de cet objet grâce au GPS. Ce qui donne (Xp et Yp).
L'objet en question soit se déplacer le lon d'une ligne dont l'équation est donnée : y=a x+b
Et tu veux savoir de quel coté s'éloigne ton objet.
Bon, en faisant un dessin, on obtient un plan coupé par une droite.
Disons que si ton point est trop haut, il est à gauche de la ligne.
S'il est trop bas, il est à droite de la ligne.
Et quand il est dessus, eh bien il est sur la ligne 
Maintenant pour les coordonnées du mobile (Xp, Yp) calculons : y -a*x - b
Yp - a * Xp -b.
Si le point est au dessus c'est que l'on peut écrire : Yp = Y + Y' avec Y= a* Xp +b.
(Xp, Y) correspondant au point avec une abscisse Xp se trouvant sur la ligne.
Y' est un nombre positif.
Le calcul devient donc :
Yp - a * Xp -b =Y+Y' - a * Xp -b = Y'
Donc en calculant Yp - a * Xp -b , on obtient la hauteur entre la ligne et le mobile. (Attention verticalement, pas la distance entre le mobile et la ligne - là le pb est différent).
On peut étendre le raisonnement pour la partie inférieure du plan.
Yp - a * Xp -b va nous donner un nombre négatif dans ce cas là.
Voilà
| | |