Select Git revision
-
Claudio Mandrioli authoredClaudio Mandrioli authored
q2dcm.m 1018 B
function R=q2dcm(q)
% function R=q2dcm(q)
% Function for transformation from quaternions to directional cosine matrix
% Farell pp.41
% Edit: Isaac Skog, 2007-05-24
p=zeros(6,1);
p(1:4)=q.^2;
p(5)=p(2)+p(3);
if p(1)+p(4)+p(5)~=0
p(6)=2/(p(1)+p(4)+p(5));
else
p(6)=0;
end
R(1,1)=1-p(6)*p(5);
R(2,2)=1-p(6)*(p(1)+p(3));
R(3,3)=1-p(6)*(p(1)+p(2));
p(1)=p(6)*q(1);
p(2)=p(6)*q(2);
p(5)=p(6)*q(3)*q(4);
p(6)=p(1)*q(2);
R(1,2)=p(6)-p(5);
R(2,1)=p(6)+p(5);
p(5)=p(2)*q(4);
p(6)=p(1)*q(3);
R(1,3)=p(6)+p(5);
R(3,1)=p(6)-p(5);
p(5)=p(1)*q(4);
p(6)=p(2)*q(3);
R(2,3)=p(6)-p(5);
R(3,2)=p(6)+p(5);
% R(1,2)=2*(q(1)*q(2)-q(3)*q(4));
% R(1,3)=2*(q(1)*q(3)+q(2)*q(4));
%
% % Row 2
% R(2,1)=2*(q(1)*q(2)+q(3)*q(4));
% R(2,2)=q(2)^2+q(4)^2-q(1)^2-q(3)^2;
% R(2,3)=2*(q(2)*q(3)-q(1)*q(4));
%
% % Row 3
% R(3,1)=2*(q(1)*q(3)-q(2)*q(4));
% R(3,2)=2*(q(2)*q(3)+q(1)*q(4));
% R(3,3)=q(3)^2+q(4)^2-q(1)^2-q(2)^2;
%
% % Okej, men kan f�rb�trras, se pp 41 Farrel