Home > General-Functions > SUGR > Line_3D > sugr_minimal_3D_Line.m

sugr_minimal_3D_Line

PURPOSE ^

% generate minimal representation for 3D homogeneous line

SYNOPSIS ^

function Ls = sugr_minimal_3D_Line(L,CLL)

DESCRIPTION ^

% generate minimal representation for 3D homogeneous line

 Ls = sugr_minimal_3D_Line(L,CLL)

 * L 6x1 uncertain homogeneous 3D line
 * CLL covariance matrix

 * Ls =   
 * .h spherically normalized
 * .Crr, reduced CovM
 * .Jr    Jacobian Lr -> Ls 

 Wolfgang Förstner 7/2012
 wfoerstn@uni-bonn.de 

 See also sugr_Line_3D, sugr_construct_join_Line_3D, sugr_constrain_3D_Line

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 %% generate minimal representation for 3D homogeneous line
0002 %
0003 % Ls = sugr_minimal_3D_Line(L,CLL)
0004 %
0005 % * L 6x1 uncertain homogeneous 3D line
0006 % * CLL covariance matrix
0007 %
0008 % * Ls =
0009 % * .h spherically normalized
0010 % * .Crr, reduced CovM
0011 % * .Jr    Jacobian Lr -> Ls
0012 %
0013 % Wolfgang Förstner 7/2012
0014 % wfoerstn@uni-bonn.de
0015 %
0016 % See also sugr_Line_3D, sugr_construct_join_Line_3D, sugr_constrain_3D_Line
0017 
0018 function Ls = sugr_minimal_3D_Line(L,CLL)
0019 
0020 % impose Plücker constraint, no change of length
0021 L = sugr_constrain_3D_Line(L);
0022 
0023 % generate 3D line structure, normalized spherically
0024 Ls = sugr_minimal_vector(L,CLL);
0025 
0026 % add Plücker constraint to CovM
0027 h = calc_Dual*Ls.h; 
0028 P = (eye(6) - h*h')/norm(L);    % scale to length 1
0029 CLL = P * CLL * P;
0030 
0031 % reduce covariance matrix
0032 J6 =  null([Ls.h h]');
0033 Ls.Crr = J6' * CLL * J6;
0034 Ls.Jr  = J6;
0035

Generated on Sat 21-Jul-2018 20:56:10 by m2html © 2005