Bonjour tout le monde,
J'aimerai trouver le point d'intersection entre le segment AB et CD, voilà mon code:
Ça fonctionne presque, le résultat n'est pas très précis surtout lorsque les points A et C sont alignés.
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);
Une idée?
Partager