matlab 求點到任意直線的投影點座標

2021-07-28 08:57:43 字數 630 閱讀 7164

【寫在前面】因為影象座標系和我們平時用的直角座標系還是有不同的。因此在求點到直線投影點座標的時候,不敢隨便把直線用點斜式表示。為此採用向量的方法求投影點。

function

proj_point = projpoint

( point,line_p )

x1 = line_p

(1);

y1 = line_p(2);

x2 = line_p(3);

y2 = line_p(4);

x3 = point(1);

y3 = point(2);

yk = ((x3-x2)*(x1-x2)*(y1-y2) + y3*(y1-y2)^2 + y2*(x1-x2)^2) / (norm([x1-x2,y1-y2])^2);

xk = ((x1-x2)*x2*(y1-y2) + (x1-x2)*(x1-x2)*(yk-y2)) / ((x1-x2)*(y1-y2));

if x1 == x2

xk = x1;

endif y1 == y2

xk = x3;

endproj_point = [xk,yk];

end

求點到直線的距離

關於點到直線的距離,在vtkline中有乙個方法 distancetoline 用法 double closestpt1 3 double t1 3 double dist0 vtkline distancetoline seed,first seed,second seed,t1,closestp...

Dijkstra演算法 求一點到任意一點的最短距離)

思路 先找出最短的乙個點,也就是起點,從起點出發,找最短的邊,同時標記起點為true 代表已經訪問過 訪問過的點就不用再訪問了,依次下去,保證每一次找到的邊都是最短的邊 到最後沒有邊可以更新了就代表結束 看 include include include include include includ...

求點到直線 線段的距離 TS實現

如上圖所示,點c為直線ab外一點,cd ab,那麼cd的模長就是點c到直線ab的距離。所以求點到直線得距離,就是求cd得長度。作輔助線如上圖所示,要求得線段cd得長度,需要知道點d得座標,剩下求兩點距離就變得簡單了。為求得點d得座標。令a xa,ya b xb,yb c xc,yc d xd,yd ...