Find the point on a plane which is closest to a given point
Contents
Find the point u on a plane which is closest to a given point b
Define the plane as the span of the vectors [-1;2;1], [1;1;1]. Let b=[0;1;3].
v1 = sym([-1;2;1]); v2 = sym([1;1;1]); b = sym([0;1;3]); A = [v1,v2]; M = A'*A % matrix g = A'*b % and rhs vector for normal equations c = M\g % solve the normal equations u = A*c fillpoints([0;0;0],1.6*v1,1.6*(v1+v2),1.6*v2,'c'); hold on arrow3(v1,'b','LineWidth',2); arrow3(v2,'b','LineWidth',2); plotpoints(b,u,'ko:'); hold off alpha(0.6); nice3d; label(b,'b',u,'u') view(-80,20)
M = [ 6, 2] [ 2, 3] g = 5 4 c = 1/2 1 u = 1/2 2 3/2

Check that the difference vector is really orthogonal on the plane.
r = u-b % difference vector dot(v1,r) % check that r is orthogonal on v1 dot(v2,r) % check that r is orthogonal on v2
r = 1/2 1 -3/2 ans = 0 ans = 0