旋转矩阵2四元数

四元数转旋转矩阵

C b a = [ q 1 2 + q 2 2 − q 3 2 − q 4 2 2 ( q 2 q 3 − q 1 q 4 ) 2 ( q 2 q 4 + q 1 q 3 ) 2 ( q 2 q 3 + q 1 q 4 ) q 1 2 − q 2 2 + q 3 2 − q 4 2 2 ( q 3 q 4 − q 1 q 2 ) 2 ( q 2 q 4 − q 1 q 3 ) 2 ( q 3 q 4 + q 1 q 2 ) q 1 2 − q 2 2 − q 3 2 + q 4 2 ] C_{b}^{a} = \begin{bmatrix} q_{1}^{2} + q_{2}^{2} - q_{3}^{2} - q_{4}^{2} & 2(q_{2}q_{3} - q_{1}q_{4}) & 2(q_{2}q_{4} + q_{1}q_{3}) \\ 2(q_{2}q_{3} + q_{1}q_{4}) & q_{1}^{2} - q_{2}^{2} + q_{3}^{2} - q_{4}^{2} & 2(q_{3}q_{4} - q_{1}q_{2}) \\ 2(q_{2}q_{4} - q_{1}q_{3}) & 2(q_{3}q_{4} + q_{1}q_{2}) & q_{1}^{2} - q_{2}^{2} - q_{3}^{2} + q_{4}^{2} \\ \end{bmatrix} Cba=q12+q22q32q422(q2q3+q1q4)2(q2q4q1q3)2(q2q3q1q4)q12q22+q32q422(q3q4+q1q2)2(q2q4+q1q3)2(q3q4q1q2)q12q22q32+q42

旋转矩阵转四元数

P 1 = 1 + t r a c e ( C b a ) , P 2 = 1 + 2 c 11 − t r a c e ( C b a ) P 3 = 1 + 2 c 22 − t r a c e ( C b a ) , P 4 = 1 + 2 c 33 − t r a c e ( C b a ) P_{1}=1+ trace(C_{b}^{a}), P_{2}=1+2c_{11} - trace(C_{b}^{a}) \\ P_{3}=1 + 2c_{22} - trace(C_{b}^{a}), P_{4}=1+2c_{33} - trace(C_{b}^{a}) P1=1+trace(Cba),P2=1+2c11trace(Cba)P3=1+2c22trace(Cba),P4=1+2c33trace(Cba)
其中 C b a C_{b}^{a} Cba是trace转矩阵,trace为矩阵迹, c i j c_{ij} cij是矩阵 C b a C_{b}^{a} Cba的元素。

  • case1: P 1 = m a x ( P 1 , P 2 , P 3 , P 4 ) P_{1}= max(P_{1}, P_{2}, P_{3}, P_{4}) P1=max(P1,P2,P3,P4),则:
    q 1 = 0.5 P 1 q 2 = c 32 − c 23 4 q 1 q 3 = c 13 − c 31 4 q 1 q 4 = c 21 − c 12 4 q 1 q_{1} = 0.5\sqrt{P1}\\ q_{2} = \frac{c_{32} - c_{23}}{4q_{1}}\\ q_{3} = \frac{c_{13} - c_{31}}{4q_{1}}\\ q_{4} = \frac{c_{21} - c_{12}}{4q_{1}} q1=0.5P1 q2=4q1c32c23q3=4q1c13c31q4=4q1c21c12

  • case2: P 2 = m a x ( P 1 , P 2 , P 3 , P 4 ) P_{2}= max(P_{1}, P_{2}, P_{3}, P_{4}) P2=max(P1,P2,P3,P4),则:
    q 2 = 0.5 P 2 q 3 = c 21 + c 12 4 q 2 q 4 = c 13 + c 31 4 q 2 q 1 = c 32 − c 23 4 q 2 q_{2} = 0.5\sqrt{P2}\\ q_{3} = \frac{c_{21} + c_{12}}{4q_{2}}\\ q_{4} = \frac{c_{13} + c_{31}}{4q_{2}}\\ q_{1} = \frac{c_{32} - c_{23}}{4q_{2}} q2=0.5P2 q3=4q2c21+c12q4=4q2c13+c31q1=4q2c32c23

  • case3: P 3 = m a x ( P 1 , P 2 , P 3 , P 4 ) P_{3}= max(P_{1}, P_{2}, P_{3}, P_{4}) P3=max(P1,P2,P3,P4),则:
    q 3 = 0.5 P 3 q 4 = c 32 + c 23 4 q 3 q 1 = c 13 − c 31 4 q 3 q 2 = c 21 + c 12 4 q 3 q_{3} = 0.5\sqrt{P3}\\ q_{4} = \frac{c_{32} + c_{23}}{4q_{3}}\\ q_{1} = \frac{c_{13} - c_{31}}{4q_{3}}\\ q_{2} = \frac{c_{21} + c_{12}}{4q_{3}} q3=0.5P3 q4=4q3c32+c23q1=4q3c13c31q2=4q3c21+c12

  • case3: P 4 = m a x ( P 1 , P 2 , P 3 , P 4 ) P_{4}= max(P_{1}, P_{2}, P_{3}, P_{4}) P4=max(P1,P2,P3,P4),则:
    q 4 = 0.5 P 4 q 1 = c 21 − c 12 4 q 4 q 2 = c 13 + c 31 4 q 4 q 3 = c 32 + c 23 4 q 4 q_{4} = 0.5\sqrt{P4}\\ q_{1} = \frac{c_{21} - c_{12}}{4q_{4}}\\ q_{2} = \frac{c_{13} + c_{31}}{4q_{4}}\\ q_{3} = \frac{c_{32} + c_{23}}{4q_{4}} q4=0.5P4 q1=4q4c21c12q2=4q4c13+c31q3=4q4c32+c23

最后,如果 q 1 < 0 q_{1} < 0 q1<0,则q=-q

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值