J'ai les coordonnées de 3 points [x1,y1]
, [x2,y2]
et [x3,y3]
comme indiqué ci-dessous.Obtenir les coordonnées d'un rectangle à partir d'un point et d'une ligne
Ils définissent la ligne qui est d'un côté d'un rectangle et un point qui se trouve sur le côté parallèle/opposé du rectangle. Je veux obtenir les coordonnées des deux autres coins.
Comment puis-je calculer les points [xa, ya]
et [xb, yb]
comme indiqué?
clc;
clear;
I = imread('peppers.png');
imshow(I);
h = imline;
lineEndPoints = wait(h);
x1 = round(lineEndPoints(1,1),2);
y1 = round(lineEndPoints(1,2),2);
x2 = round(lineEndPoints(2,1),2);
y2 = round(lineEndPoints(2,2),2);
hold on
[x3, y3] = ginput(1);
plot(x3, y3,'b*');
slope = (y2 - y1)/ (x2 - x1);
slopePerp = -1/slope;
Avez-vous pensé à la projection orthogonale de votre troisième point sur la ligne [Distance de la ligne de référence à angle droit] (https://stackoverflow.com/questions/28848406/distance-from-reference-line-at-right-angle/28867384#28867384). Une fois que vous avez la distance et le point d'intersection, vous avez presque terminé. – Irreducible