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;
E = Ec(:,:,nc);
[U, S, V] = svd(E)
Tx = U(:,3)*S(1,1)
if nc==4
Tcalc = R1'*Tx
end
W = [0 -1 0; 1 0 0; 0 0 1];
R = R1;
if nc==4
R = R1*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