Find which side of a line is my point

5 vues (au cours des 30 derniers jours)
Clementine Bodin
Clementine Bodin le 12 Déc 2022
Commenté : Clementine Bodin le 12 Déc 2022
Hello ,
I'm looking for a simple way to know where C or D are in relation to the line AB
I already computed their distance to line AB but it is absolute so I don't know in which direction they are.
Would someone have a solution for this ? Ideally to obtain a negative distance for point C and positive one for point D
I tried computing coeff d=(x−x1)(y2−y1)−(y−y1)(x2−x1) but it's not working well
Thanks a lot

Réponse acceptée

Bora Eryilmaz
Bora Eryilmaz le 12 Déc 2022
Modifié(e) : Bora Eryilmaz le 12 Déc 2022
You can use the sign of the z-term of the cross product of the vectors defining the line and the points of interest:
vAB = [3 2 0]; % Vector from A to B, or anywhere along the line
vC = [5 2 0]; % From origin to C
vD = [2 4 0]; % From origin to D
X = cross(vAB, vC);
sign(X(3)) % Below the line when negative
ans = -1
Y = cross(vAB, vD);
sign(Y(3)) % Above the line when positive
ans = 1
  3 commentaires
Bora Eryilmaz
Bora Eryilmaz le 12 Déc 2022
Modifié(e) : Bora Eryilmaz le 12 Déc 2022
vAb = [xb-xa, yb-ya, 0]
vC = [xc, yc, 0]
You don't need the point of intersection. You need the coordinates of C and D.
Clementine Bodin
Clementine Bodin le 12 Déc 2022
Ok got it it seems to work now !! thank you so much

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by