perpdist2dpointto2dline.m

来自「Matlab程序」· M 代码 · 共 22 行

M
22
字号
function [dist, meetingPoint] = PerpDist2DPointTo2DLine( linePointA,  directionVec, thePoint )


assert('all(size(linePointA)==[2,1])')
assert('all(size(directionVec)==[2,1])')
assert('all(size(thePoint)==[2,1])')

perpVec(1,1) = -directionVec(2);
perpVec(2,1) = directionVec(1);

L1 = cross( aug(linePointA), aug(linePointA + directionVec) );
L2 = cross( aug(thePoint), aug(thePoint + perpVec) );

joinHomogeneous = cross( L1, L2 );

meetingPoint = joinHomogeneous(1:2)/joinHomogeneous(3);

dist = norm(thePoint-meetingPoint);



⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?