Bonjour tout le monde,

J'aimerai trouver le point d'intersection entre le segment AB et CD, voilà mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Point2D.Double A = eye.get(0);
Point2D.Double B = image.get(0);
Point2D.Double C = eye.get(1);
Point2D.Double D = image.get(1);
 
Point2D.Double I = new Point2D.Double((B.x - A.x), (B.y - A.y));
Point2D.Double J = new Point2D.Double((D.x - C.x), (D.y - C.y));
 
double m = 0;
double diviseur = (I.x * J.y - I.y * J.x);
 
if(diviseur != 0) { m = (I.x * A.y - I.x * C.y - I.y * A.x + I.y * C.x ) / diviseur; }
 
Point2D.Double point = new Point2D.Double(C.x + m * J.x, C.y + m * J.y);
Ça fonctionne presque, le résultat n'est pas très précis surtout lorsque les points A et C sont alignés.
Une idée?