Computes the orthogonal projection of a point to a polyline in the plane.
[d,ptp,ind,c] = orthProj(data,pt)
a n by 2 array. The first column contains the X coordinates of the polyline, while the second one contains the Y coordinates.
an array with 2 entries: the coordinates of the point
The minimum distance between the given point and a polyline data point.
an array with 2 entries: the coordinates of the point that realizes the minimum distance
The polyline closest point lies on the segment [ind ind+1]
.
The interpolation coefficient of the orthogonal projection.
Computes the orthogonal projection of a point to a polyline in the plane.
x=linspace(0,1,30)'; y=sin(4*x.^3)/2; clf(), isoview() plot(x,y) pt=[0.7 0.3]; plot(pt(1),pt(2),'xb') [d,ptp,ind,c]=orthProj([x y],pt); plot(x(ind:ind+1),y(ind:ind+1),'+r') xpoly([pt(1);ptp(1)],[pt(2);ptp(2)]) e=gce();e.polyline_style=4;e.arrow_size_factor = 1.5; pt=[0.75 -0.3]; plot(pt(1),pt(2),'xb') [d,ptp,ind,c]=orthProj([x y],pt); plot(x(ind:ind+1),y(ind:ind+1),'+r') xpoly([pt(1);ptp(1)],[pt(2);ptp(2)]) e=gce();e.polyline_style=4;e.arrow_size_factor = 1.5; | ![]() | ![]() |