perp

Contents

intersect two lines

p1 = [5 2];
p2 = [2 4];
k1 = [0.4 0.8];
% k1 = [-0.1 0.9]*0.88;
k2 = [0.9 0.1];


p= [p1; p1+10*k1];
plot(p(:,1),p(:,2),'k','LineWidth',2);
hold on
plot(p1(1),p1(2),'ko','MarkerSize',7);
p= [p2; p2+10*k2];
plot(p(:,1),p(:,2),'b','LineWidth',2);
plot(p2(1),p2(2),'bo','MarkerSize',7);
hold off
grid
axis equal

A = [k1' -k2'];
b = [p2-p1]';
q = A\b;
pi = p1+q(1)*k1;
hold on
plot(pi(1),pi(2),'rs','MarkerSize',11);
hold off
disp('q');
disp(q)
q
    3.0882
    4.7059

equation

D =det(A);
Ai = [A(2,2) -A(1,2); -A(2,1) A(1,1)];
qt = Ai/D*b;
disp('qt');
disp(qt);
qt
    3.0882
    4.7059

pi
Axx = k1(2)^2+k2(2)^2;
Axy = k1(1)*k1(2)+k2(1)*k2(2);
Ayy = k1(1)^2+k2(1)^2;
A = [Axx -Axy; -Axy Ayy];
bx = p1(1)*k1(2)^2-p1(2)*k1(1)*k1(2)+p2(1)*k2(2)^2-p2(2)*k2(1)*k2(2);
by = p1(2)*k1(1)^2-p1(1)*k1(1)*k1(2)+p2(2)*k2(1)^2-p2(1)*k2(1)*k2(2);
b = [bx; by];
pt = A\b
pi =

    6.2353    4.4706


pt =

    6.2353
    4.4706