罗德里格公式推导

问题

已知一个向量 v ⇀ \overrightharpoon{v} v 和一个旋转轴 k ˆ \text{\^{k}} kˆ(单位向量), v ⇀ \overrightharpoon{v} v k ˆ \text{\^{k}} kˆ旋转 θ \theta θ,求旋转后的向量 v r o t ⇀ \overrightharpoon{v_{rot}} vrot $.

罗德里格公式

罗德里格公式可解决上述问题,公式为:
v r o t ⇀ = cos ⁡ θ v ⇀ + ( 1 − cos ⁡ θ ) ( v ⇀ ∙ k ˆ ) k ˆ + sin ⁡ θ ( k ˆ × v ⇀ ) . \overrightharpoon{v_{rot}}=\cos\theta \overrightharpoon{v}+(1-\cos\theta)(\overrightharpoon{v} \bullet \text{\^{k}})\text{\^{k}}+\sin\theta (\text{\^{k}} \times \overrightharpoon{v}). vrot =cosθv +(1cosθ)(v kˆ)kˆ+sinθ(kˆ×v ).

推导

在这里插入图片描述
上图中, v v v表示待旋转的向量, k k k表示旋转轴(单位向量), v ∥ v_{\|} v表示 v v v k k k上的投影, v ⊥ v_{\bot} v表示与 k k k垂直的分量, v v v v ∥ v_{\|} v v ⊥ v_{\bot} v k k k在同一平面上,假设为 s 1 s_1 s1 w w w k k k v v v叉乘得到的向量, w w w s 1 s_1 s1垂直; v r o t v_{rot} vrot为旋转后的向量,显然,其在 k k k上的投影也为 v ∥ v_{\|} v,假设与 k k k垂直的分量为 v r o t ⊥ v_{rot_\bot} vrot v r o t v_{rot} vrot v ∥ v_{\|} v v r o t ⊥ v_{rot_\bot} vrot k k k也在统一平面,假设为 s 2 s_2 s2,则 s 1 s_1 s1 s 2 s_2 s2的夹角为 θ \theta θ.
由以上可知:
v = v ∥ + v ⊥ ⇒ v ⊥ = v − v ∥ (1) \tag{1} v=v_{\|}+v_{\bot}\Rightarrow v_{\bot}=v-v_{\|} v=v+vv=vv(1)
v ∥ = ( v ∙ k ) k (2) \tag{2} v_{\|}=(v \bull k)k v=(vk)k(2)
可得:
v ⊥ = v − ( v ∙ k ) k (3) \tag{3}v_{\bot}=v-(v \bull k)k v=v(vk)k(3)

v r o t ⊥ = cos ⁡ θ ∥ v r o t ⊥ ∥ ∙ v ⊥ / ∥ v ⊥ ∥ + sin ⁡ θ ∥ v r o t ⊥ ∥ ∙ w / ∥ w ∥ . (4) \tag{4}v_{rot_\bot}=\cos\theta \|v_{rot_\bot}\| \bull v_{\bot}/\|v_{\bot}\|+\sin\theta \|v_{rot_\bot}\| \bull w/\|w\|. vrot=cosθvrotv/v+sinθvrotw/w.(4)
公式 ( 4 ) (4) (4)的意思是, v r o t ⊥ v_{rot_\bot} vrot等于其在 v ⊥ v_\bot v方向的分量加上其在 w w w上的分量。
因为 ∥ v r o t ⊥ ∥ = ∥ v ⊥ ∥ = ∥ w ∥ (5) \tag{5}\|v_{rot_\bot}\|=\|v_\bot\|=\|w\| vrot=v=w(5)
所以
v r o t ⊥ = cos ⁡ θ v ⊥ + sin ⁡ θ w . (6) \tag{6} v_{rot_\bot}=\cos\theta v_{\bot}+\sin\theta w. vrot=cosθv+sinθw.(6)
公式 ( 5 ) (5) (5) ∥ v r o t ⊥ ∥ = ∥ v ⊥ ∥ \|v_{rot_\bot}\|=\|v_\bot\| vrot=v显而易见,现证明 ∥ v r o t ⊥ ∥ = ∥ w ∥ . \|v_{rot_\bot}\|=\|w\|. vrot=w.
k × v ⊥ = w ⇒ ∥ k ∥ ∥ v ⊥ ∥ sin ⁡ ( π / 2 ) = ∥ w ∥ ⇒ ∥ v ⊥ ∥ = ∥ w ∥ (7) \tag{7}k \times v_{\bot}=w \Rightarrow \|k\| \|v_\bot\| \sin(\pi/2)=\|w\| \Rightarrow \|v_\bot\|=\|w\| k×v=wkvsin(π/2)=wv=w(7)
从而证明。


v r o t = v ∥ + v r o t ⊥ (8) \tag{8}v_{rot}=v_{\|}+v_{rot_\bot} vrot=v+vrot(8)
代入公式 ( 2 ) ( 6 ) (2)(6) (2)(6)可得:
v r o t = ( v ∙ k ) k + cos ⁡ θ v ⊥ + sin ⁡ θ w (9) \tag{9}v_{rot}=(v \bull k)k+\cos\theta v_{\bot} + \sin\theta w vrot=(vk)k+cosθv+sinθw(9)
代入公式 ( 3 ) (3) (3)可得:
v r o t = ( v ∙ k ) k + cos ⁡ θ ( v − ( v ∙ k ) k ) + sin ⁡ θ ( k × v ) (10) \tag{10}v_{rot}=(v \bull k)k+\cos\theta (v-(v \bull k)k)+\sin\theta (k \times v) vrot=(vk)k+cosθ(v(vk)k)+sinθ(k×v)(10)
化简得:
v r o t = cos ⁡ θ v + ( 1 − cos ⁡ θ ) ( v ∙ k ) k + sin ⁡ θ ( k × v ) (11) \tag{11}v_{rot}=\cos\theta v+(1-\cos\theta)(v \bull k)k+\sin\theta(k \times v) vrot=cosθv+(1cosθ)(vk)k+sinθ(k×v)(11)
得证。

参考文档

罗德里格公式推导及理解

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值