13 lines
341 B
Matlab
13 lines
341 B
Matlab
|
function q = rv2q(rv) % <20><>Ч<EFBFBD><D0A7>תʸ<D7AA><CAB8>ת<EFBFBD><D7AA>Ϊ<EFBFBD>任<EFBFBD><E4BBBB>Ԫ<EFBFBD><D4AA>
|
|||
|
nm2 = rv'*rv; % <20><>תʸ<D7AA><CAB8><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>
|
|||
|
if nm2<1.0e-8 % <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̩<EFBFBD><CCA9>չ<EFBFBD><D5B9>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǻ<EFBFBD><C7BA><EFBFBD>
|
|||
|
q0 = 1-nm2*(1/8-nm2/384);
|
|||
|
s = 1/2-nm2*(1/48-nm2/3840);
|
|||
|
else
|
|||
|
nm = sqrt(nm2);
|
|||
|
q0 = cos(nm/2);
|
|||
|
s = sin(nm/2)/nm;
|
|||
|
end
|
|||
|
q = [q0; s*rv];
|
|||
|
|