四元数表示的旋转

1. 复数

  • 实数可以由数轴上的一个点表示,复数对实数进行拓展,复数 a + b i a+bi a+bi表示 x o y xoy xoy坐标系上的一个点
  • 复数可以表示旋转,简单的有,数( 1 + 0 i ) 1+0i) 1+0i)表示从原点指向 x 轴 正 方 向 x轴正方向 x长度为1的一个向量,当虚数单位 i i i通过乘法作用到 ( 1 + 0 i ) (1+0i) (1+0i)后,有 ( 1 + 0 i ) × i = i (1+0i)\times i=i (1+0i)×i=i即表示原向量逆时针旋转 9 0 ∘ 90^{\circ} 90,将旋转后的 i i i再乘 i i i则变成-1,即逆时针旋转了 18 0 ∘ 180^{\circ} 180,也间接说明了虚数单位自乘公式 i × i = − 1 i\times i=-1 i×i=1,一次 i i i的作用就是将原向量逆时针旋转 9 0 ∘ 90^\circ 90
  • 对于一般的复数 a + b i a+bi a+bi的作用,例如复数 1 + 3 i 1+\sqrt3 i 1+3 i作用在 1 + 0 i 1+0i 1+0i上得到的 1 + 3 i 1+\sqrt3 i 1+3 i为一个模为2,方向与 x x x正方向夹角为 6 0 ∘ 60^\circ 60,其中 1 + 3 i = 2 × ( c o s π 3 + i s i n π 3 ) 1+\sqrt3i=2\times(cos\frac{\pi}{3}+isin\frac{\pi}{3}) 1+3 i=2×(cos3π+isin3π)

2. 四元数

  • 四元数在原复数的基础上加上了 j , k j,k j,k,和复数一样,也有共轨、模的概念。参考知乎,四元数表示四维空间的向量,而我们要的是三维空间的旋转,所以我们定位在四元数的一个子空间,虚四元数,类似于复数域中的纯虚数概念,虚四元数 p = a i + b j + c k p=ai+bj+ck p=ai+bj+ck实数部分恒为0的四元数,但是当两个四元数做乘法( p ⨂ q p\bigotimes q pq)时,根据四元数的乘法法则,其结果还是会出现实数部分,就不是虚四元数空间的向量了,现有虚数 p = p 1 i + p 2 j + p 3 k 与 q = q 1 i = q 2 j + q 3 k p=p_{1}i+p_{2}j+p_{3}k与q=q_{1}i=q_{2}j+q_{3}k p=p1i+p2j+p3kq=q1i=q2j+q3k p ⨂ q p\bigotimes q pq,其中实数部分为 − ( p 1 q 1 + p 2 q 2 + p 3 q 3 ) -(p_{1}q_{1}+p_{2}q_{2}+p_{3}q_{3}) (p1q1+p2q2+p3q3)即向量的点乘 p ⋅ q p\cdot q pq,虚数部分为 p × q 。 p\times q。 p×q所以,当 p p p q q q垂直时,才有 p ⨂ q p\bigotimes q pq在虚四元数这个子空间里。
  • 用四元数表示三维空间 R i + R j + R k \mathbb{R} i+\mathbb{R} j+\mathbb{R} k Ri+Rj+Rk中的旋转:与复数相同,四元数也可以写成 p = ∥ d ∥ ( c o s θ + u s i n θ ) p=\begin{Vmatrix}d\end{Vmatrix}(cos\theta+usin\theta) p=d(cosθ+usinθ)其中 u u u是方向上的单位向量,将四元数 p p p作用到三维空间的向量 q q q上,除非 p p p q q q垂直,否则作用后的结果是一个普通的四元数而非虚四元数,此时将 p − 1 p^{-1} p1 p p p共同作用在 q q q上,即 p − 1 q p p^{-1}qp p1qp 则一定在三维空间上,称为 p p p共轨作用。其中 p p p的逆定义为 p − 1 = 1 ∥ d ∥ p ˉ p^{-1}=\frac{1}{\begin{Vmatrix}d\end{Vmatrix}}\bar{p} p1=d1pˉ p ˉ \bar{p} pˉ p p p的共轨,有 p − 1 = c o s θ − u s i n θ p^{-1}=cos\theta-usin\theta p1=cosθusinθ
    结论共轨作用的结果是将原向量绕 u u u轴旋转 2 θ 2\theta 2θ的角度
    首先证明是绕 u u u为轴旋转,只需证明共轨作用在 u u u上是不变的,相当于自己以自己为轴旋转,为了方便将 p p p的模视作1 p − 1 u p = ( c o s θ − u s i n θ ) u ( c o s θ + u s i n θ ) p^{-1}up=(cos\theta-usin\theta)u(cos\theta+usin\theta) p1up=(cosθusinθ)u(cosθ+usinθ) = ( u c o s θ − u 2 s i n θ ) ( c o s θ + u s i n θ ) =(ucos\theta-u^2sin\theta)(cos\theta+usin\theta) =(ucosθu2sinθ)(cosθ+usinθ)在这里 u ⨂ u = − u ⋅ u + u × u u\bigotimes u=-u\cdot u+u\times u uu=uu+u×u,因为相同向量的叉乘为0,故 u 2 = − 1 u^2=-1 u2=1,接上式有 = ( u c o s θ + s i n θ ) ( c o s θ + u s i n θ ) =(ucos\theta+sin\theta)(cos\theta+usin\theta) =(ucosθ+sinθ)(cosθ+usinθ) = u c o s 2 θ + u 2 c o s θ s i n θ + s i n θ c o s θ + u s i n 2 θ =ucos^2\theta+u^2cos\theta sin\theta+sin\theta cos\theta+usin^2\theta =ucos2θ+u2cosθsinθ+sinθcosθ+usin2θ = u ( c o s 2 θ + s i n 2 θ ) − s i n θ c o s θ + s i n θ c o s θ =u(cos^2\theta+sin^2\theta)-sin\theta cos\theta+sin\theta cos\theta =u(cos2θ+sin2θ)sinθcosθ+sinθcosθ = u =u =u 然后证明旋转角度是 2 θ 2\theta 2θ,取垂直于 u u u的单位向量 v v v,然后取 w = u × v w=u\times v w=u×v,其中 u , v , w {u,v,w} u,v,w为一组规范正交基。只需证明 p − 1 v p = v c o s 2 θ − w s i n 2 θ p^{-1}vp=vcos2\theta-wsin2\theta p1vp=vcos2θwsin2θv绕u旋转2theta
    图中 v v v u u u旋转 2 θ 2\theta 2θ
    p − 1 v p = ( c o s θ − u s i n θ ) v ( c o s θ + u s i n θ ) p^{-1}vp=(cos\theta-usin\theta)v(cos\theta+usin\theta) p1vp=(cosθusinθ)v(cosθ+usinθ) = ( v c o s θ − u v s i n θ ) ( c o s θ + u s i n θ ) =(vcos\theta-uvsin\theta)(cos\theta+usin\theta) =(vcosθuvsinθ)(cosθ+usinθ) = v c o s 2 θ + v u c o s θ s i n θ − u v s i n θ c o s θ − u v u s i n 2 θ =vcos^2\theta+vucos\theta sin\theta-uvsin\theta cos\theta-uvusin^2\theta =vcos2θ+vucosθsinθuvsinθcosθuvusin2θ = v c o s 2 θ − 2 u v s i n θ c o s θ + ( v u ) u s i n 2 θ =vcos^2\theta-2uvsin\theta cos\theta+(vu)usin^2\theta =vcos2θ2uvsinθcosθ+(vu)usin2θ = v ( c o s 2 θ − s i n 2 θ ) − 2 w s i n θ c o s θ =v(cos^2\theta-sin^2\theta)-2wsin\theta cos\theta =v(cos2θsin2θ)2wsinθcosθ = v c o s 2 θ − w s i n 2 θ =vcos2\theta-wsin2\theta =vcos2θwsin2θ
    所以对于三维空间的每一个旋转。给定旋转轴 u u u以及旋转角度 θ \theta θ,都有一个单位长度的四元数 c o s θ 2 + u s i n θ 2 cos\frac{\theta}{2}+usin\frac{\theta}{2} cos2θ+usin2θ与之对应
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值