P0 = [ 1 ; 1 ; 0 ] ; r0 = [ 0 ; 0 ; 0 ] ; v = [ 1 ; -1 ; 0 ] ; r = @(l) r0 + l*v ; % Metodo A lambda = (P0-r0)' * v / ( v'*v ) ; dist_A = norm( P0 - r(lambda) ) % Metodo B e_v = v / norm(v) ; d = P0 - r0 ; d_v = dot(d, e_v) * e_v ; d_ortho = d - d_v; dist_B = norm( d_ortho ) % Metodo C (esagerato) I3 = eye(3,3) ; M = [ I3 v ; ... v' 0 ] ; d = P0 - r0 ; b = [ d ; 0 ] ; x = M\b ; d_ortho = x(1:3) ; dist_C = norm( d_ortho ) % Metodo D d = P0 - r0 ; dd = dot(d, d) ; e_v = v / norm(v) ; L_v = dot(d, e_v)^2 ; dist_D = sqrt( dd - L_v )