script4a

clear
close all

theta = 20*pi/180;
ct = cos(theta);
st = sin(theta);
R1 = [ct -st 0; st ct 0; 0 0 1];
R2 = [ct 0 st; 0 1 0; -st 0 ct];

T = [1 2 3];
Sk = [0 -T(3) T(2); T(3) 0 -T(1); -T(2) T(1) 0];
nc = 2;
Ec(:,:,1) = Sk;
Ec(:,:,2) = Sk*R1;
Ec(:,:,3) = R1*Sk;
Ec(:,:,4) = R1*Sk*R2;
% try  Sk  Sk*R1  R1*Sk R1*Sk*R2
E = Ec(:,:,nc);
[U, S, V] = svd(E)
Tx = U(:,3)*S(1,1)
if nc==4
    Tcalc = R1'*Tx % for R1*Sk*R2
end

W = [0 -1 0; 1 0 0; 0 0 1];
R = R1;
if nc==4
    R = R1*R2;  %  for R1*Sk*R2
end
R
Rx = U*W*V'
Ry = U*W'*V'
U =

   -0.9143   -0.3044    0.2673
   -0.1222    0.8363    0.5345
    0.3862   -0.4561    0.8018


S =

    3.7417         0         0
         0    3.7417         0
         0         0    0.0000


V =

    0.0000    0.9009   -0.4340
    0.8899   -0.1979   -0.4109
   -0.4561   -0.3862   -0.8018


Tx =

    1.0000
    2.0000
    3.0000


R =

    0.9397   -0.3420         0
    0.3420    0.9397         0
         0         0    1.0000


Rx =

    0.7077   -0.5616   -0.4286
   -0.1219    0.5004   -0.8571
   -0.6959   -0.6589   -0.2857


Ry =

   -0.9397    0.3420    0.0000
   -0.3420   -0.9397   -0.0000
   -0.0000   -0.0000   -1.0000

if nc==4
    Sk2 = [ 0 -Tx(3) Tx(2); Tx(3) 0 -Tx(1); -Tx(2) Tx(1) 0];
    E2 = Sk2*R1*R2
    E
end