% ---------------------------------------------------------------------- % File: ese2_4.m % % Soluzione dell'esercizio 2.4: % ---------------------------------------------------------------------- function ese2_4 (X, Y, P) % Retta determinata dai punti X Y, il punto esterno e' P. % Tutti i vettori sono colonne. % I punti della retta data sono della forma % (1-t)X + tY % al variare di t. V = Y - X; % Vettore lungo la retta. W = ortogonale(V); % Vettore perpendicolare alla retta. % I punti della retta perpendicolare sono della forma % sW + P al % variare di t. % L'intersezione delle due rette si trova cercando s, t tali che % (1-t)X + tY = sW + P % cioe' risolvendo il sistema lineare % t(Y-X) - sW = P - X M = [ V, -W ]; % Matrice del sistema lineare. B = P - X; % Colonna dei termini noti. S = inv(M)*B; % Valori di s e t. t = S(1,1); Q = (1-t)*X+t*Y; % Punto di intersezione. C = ortogonale(P-Q); A = Q + C; B = Q - C; hold on; grid on; traccia([A, B], 'b-*'); traccia([P, Q], 'k--*'); axis equal; hold off; function U=ortogonale(V); U = [ -V(2,1); V(1,1) ]; function traccia(V,S) Vx = V(1,:); Vy = V(2,:); plot(Vx,Vy,S);