% determines residuals etc. for estimating plane from points [lr,cg,Crrt,atr,btr] = sugr_ghm_cg_Plane_from_points(l,le,xe,Crro) in spherical mode with minimal representation * l = 4 x 1 vector, observed point * le = 4 x 1 vector, approximated fitted point * xe = 4 x 1 vector, approximated plane * Crro = 3 x 3 matrix, reduced covariance matrix of observations * lr = 3 x 1 vector, reduced observation * cg = scalar, residual of constraint * Crrt = 3 x 3 matrix, reduced covariance matrix of transformed observations * atr = 1 x 3 vector, transposed Jacobian for xe * btr = 1 x 3 vector, transposed jacobian for le Wolfgang Förstner 07/2012, adapted for sugr 1/2011 wfoerstn@uni-bonn.de
0001 %% determines residuals etc. for estimating plane from points 0002 % 0003 % [lr,cg,Crrt,atr,btr] = sugr_ghm_cg_Plane_from_points(l,le,xe,Crro) 0004 % 0005 % in spherical mode with minimal representation 0006 % 0007 % * l = 4 x 1 vector, observed point 0008 % * le = 4 x 1 vector, approximated fitted point 0009 % * xe = 4 x 1 vector, approximated plane 0010 % * Crro = 3 x 3 matrix, reduced covariance matrix of observations 0011 % 0012 % * lr = 3 x 1 vector, reduced observation 0013 % * cg = scalar, residual of constraint 0014 % * Crrt = 3 x 3 matrix, reduced covariance matrix of transformed observations 0015 % * atr = 1 x 3 vector, transposed Jacobian for xe 0016 % * btr = 1 x 3 vector, transposed jacobian for le 0017 % 0018 % Wolfgang Förstner 07/2012, adapted for sugr 1/2011 0019 % wfoerstn@uni-bonn.de 0020 % 0021 0022 function [lr,Cr,cg,atr,btr] = sugr_ghm_cg_Plane_from_points(l,le,xe,C) 0023 0024 % Jacobian for observation 0025 Jle = null(le'); 0026 0027 % reduced observation 0028 lr = Jle' * l; 0029 0030 % Rotation from l to le 0031 R = calc_Rot_ab(le,l); 0032 0033 % Jacobian for Cr 0034 JR = Jle' * R' * null(l'); 0035 0036 % reduced covariance matrix 0037 Cr = JR * C * JR'; 0038 0039 % Jacobian for x 0040 atr = le' * null(xe'); % row 3-vector 0041 0042 % Jacobain for l 0043 btr = xe' * Jle; % row 3-vector 0044 0045 % residual of constraint 0046 %cg = - l' * xe ; % scalar 0047 cg = - le' * xe - btr * lr; 0048