点の平面上のポリラインへの直交射影を計算する
[d,ptp,ind,c] = orthProj(data,pt)
n 行 2 列配列. 最初の列にはポリラインのX座標, 2番目の列にはY座標を有します.
2個のエントリを有する配列: 点の座標
指定した点とポリラインのデータ点の間の最小距離.
2個のエントリを有する配列: 距離が最小となる点の座標
セグメント[ind ind+1]
で
ポリラインに最も近い点となる>.
直交射影の補間係数.
平面上のポリラインへの点の直交射影を計算します.
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; | ![]() | ![]() |