%matlab测试代码
%这里随机生成两个四元数 q1 和 q2 作为测试数据
q1 = rand(1,4);
q2 = rand(1,4);
q1 = q1./norm(q1);
q2 = q2./norm(q2);
%计算俩个四元数之间的旋转角度差值(单位度数)
2*acos(abs(sum(q1.*q2)))*180/pi
%将这两个四元数转为旋转矩阵
r1 = quat2rotm(q1);
r2 = quat2rotm(q2);
%计算俩个旋转矩阵之间的旋转角度差值(单位度数)
diff_r = r1*r2';
acos((trace(diff_r)-1)/2)*180/pi