Bonjour,
Je recherchais une méthode pour trouver le point d'intersection de deux lignes (dans le cas où les lignes ne sont pas parallèles).
Je me suis dit (sachant qu'au départ je connais deux points distincts de chaque lignes) que je pouvais utiliser les équations suivantes :
Droite D1 :
x = (x2-x1)t1 + x1
y = (y2-y1)t1 + y1 |
Droite D2 :
x = (x4-x3)t2 + x3
y = (y4-y3)t2 + y3 |
Les seules inconnues sont donc t1 et t2.
Alors j'ai commencé à résoudre mon système ...
a : (x2-x1)t1 + x1 = (x4-x3)t2 + x3
b : (y2-y1)t1 + y1 = (y4-y3)t2 + y3 |
Je pars de b, j'ajoute -y3 de chaque côté et je divise le tout par (y4-y3).
(y2-y1)t1 + y1 - y3
c : t2 = -------------------
(y4-y3) |
Ensuite je vais utiliser a où je vais remplacer t2 par le résultat que je viens d'obtenir.
(y2-y1)t1 + y1 - y3
d : (x2-x1)t1 + x1 = (x4-x3)( ------------------- ) + x3
(y4-y3) |
Je sors t1 de la fraction et je multiplie tout par (y4-y3).
e : (y4-y3)(y2-y1)t1 + (y4-y3)x1 = (x4-x3)(y2-y1)t1 + (x4-x3)(y1-y3) + (y4-y3)x3 |
Voilà, tout ce passe bien, il ne me reste plus qu'à mettre les t1 du même côté et le reste de l'autre.
f : ((y4-y3)(y2-y1) - (x4-x3)(y2-y1))t1 = (x4-x3)(y1-y3) - (y4-y3)(x3-x1) |
Il ne me reste plus qu'à diviser le tout par "((y4-y3)(y2-y1) - (x4-x3)(y2-y1))".
(x4-x3)(y1-y3) - (y4-y3)(x3-x1)
g : t1 = -------------------------------
(y4-y3)(y2-y1) - (x4-x3)(y2-y1) |
Vous êtes encorre là ?Ben j'ai bientôt fini.
Tout content je code ma formule et ça ne marche pas du tout !!!
Je fais une recherche sur internet et je tombe sur un site qui expose une méthode qui ressemble beucoup à la mienne sauf qu'elle marche !!! (http://astronomy.swin.edu.au/~pbourke/geometry/lineline2d/)
La seule différence concerne le terme (x3-x1) qui est (x1-x3) sur le site.
Je suppose qu'il y a un truc qui ne va pas dans ma façon de résoudre mon équation, mais je ne vois pas l'erreur.
Pouvez-vous m'aider ?
Message édité par darkoli le 05-01-2005 à 23:43:12
---------------
Le site de l'année :D (XHTML 1.0 strict) : http://darkoli.free.fr/index.html