"Bruno Luong" <firstname.lastname@example.org> wrote in message <email@example.com>... > Note thet R cannot be NOT uniquely determined from ONE vector and its rotation. You need at least two pairs. > > u = [ 0.245 -0.563 -0.055 ]'; > v = [ 0.3 -0.5 0.2 ]' ; > > u1 = u/norm(u) > v1 = v/norm(v) > > k = cross(u1,v1); > % Rodrigues's formula: > costheta = dot(u1,v1); > R =[ 0 -k(3) k(2); > k(3) 0 -k(1); > -k(2) k(1) 0]; > R = costheta*eye(3) + R + k*k'*(1-costheta)/sum(k.^2); > > disp(v) > disp(R*u) > > % Bruno
Thank you so much for this. I was really struggling with this exact problem. You make it look so easy.