fourerrordistances.m

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

M
16
字号
function err = FourErrorDistances( epipole, polyBoundaryRed, polyBoundaryGreen )
[pRedUpper, pRedLower] = PointPolygonTangentExtremes( epipole, polyBoundaryRed ); %find tangency points for red poly from epipole
[pGreenUpper, pGreenLower] = PointPolygonTangentExtremes( epipole, polyBoundaryGreen ); %find tangency points for green poly from epipole

if PerpDist2DPointTo2DLine( pRedUpper,  pRedUpper-epipole, pGreenLower ) < ...
        PerpDist2DPointTo2DLine( pRedUpper,  pRedUpper-epipole, pGreenUpper )    
    temp = pGreenUpper;     pGreenUpper = pGreenLower; pGreenLower = temp;
end

%plot2d([ epipole, pRedUpper], 'r-')
%plot2d([ epipole, pGreenUpper], 'g-')

err = [ PerpDist2DPointTo2DLine( pRedUpper,  pRedUpper-epipole, pGreenUpper ), ...
        PerpDist2DPointTo2DLine( pRedLower,  pRedLower-epipole, pGreenLower ), ...
        PerpDist2DPointTo2DLine( pGreenUpper,  pGreenUpper-epipole, pRedUpper ), ...
        PerpDist2DPointTo2DLine( pGreenLower,  pGreenLower-epipole, pRedLower )];

⌨️ 快捷键说明

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