www.pudn.com > calibr8.zip > iterateThem2.m
function [T, R, fl, u0, v0, b1, b2, errstat] = iterateThem2() %DEVELOPMENT PHASE % % [T, R, fl, u0, v0, b1, b2] = iterateThem2() % % performs one iteration global GA1; global GA2; global GA3; global Gfl; global Gu0; global Gv0; global Gb1; global Gb2; global Gpoints1; global Gpoints2; global Gpoints3; [Te1, Re1, Errs] = getTR( GA1, Gfl, Gu0, Gv0, Gb1, Gb2 ); [Te2, Re2, Errs] = getTR( GA2, Gfl, Gu0, Gv0, Gb1, Gb2 ); [Te3, Re3, Errs] = getTR( GA3, Gfl, Gu0, Gv0, Gb1, Gb2 ); HTe1 = eye( 4 ); HTe2 = eye( 4 ); HTe3 = eye( 4 ); HRe1 = eye( 4 ); HRe2 = eye( 4 ); HRe3 = eye( 4 ); HTe1(1:3,4) = Te1(:,3); HTe2(1:3,4) = Te2(:,3); HTe3(1:3,4) = Te3(:,3); HRe1(1:3,1:3) = Re1; HRe2(1:3,1:3) = Re2; HRe3(1:3,1:3) = Re3; HSp1 = hext( Gpoints1(:,1:3) ); HSp2 = hext( Gpoints2(:,1:3) ); HSp3 = hext( Gpoints3(:,1:3) ); dKe1 = inv( HTe1 ) * inv( HRe1 ) * HRe2 * HTe2; dKe2 = inv( HTe1 ) * inv( HRe1 ) * HRe3 * HTe3; HSpoints2e = dKe1 * HSp2'; HSpoints3e = dKe2 * HSp3'; HSpoints2e = HSpoints2e'; HSpoints3e = HSpoints3e'; PC = makePCoords( HSp1(:,1:3), Gpoints1(:,4:5), HSpoints2e(:,1:3), Gpoints2(:,4:5), HSpoints3e(:,1:3), Gpoints3(:,4:5) ); [AE, errstat] = estDLT( PC ); [Te, Re, Ine, Lae] = decDLT( AE ); T = eye( 3 ); T(:,3) = -Te'; R = Re; u0 = Ine(1,1); v0 = Ine(1,2); b1 = Ine(1,3); b2 = Ine(1,4); fl = Ine(1,5);