当前位置: 首页 > news >正文

四元数进行图形旋转的公式推导

开门见山:把旋转四元数写成

\[q=\cos\alpha+\mathbf u\,\sin\alpha\quad(\|\mathbf u\|=1,\ \mathbf u\text{为轴的纯虚四元数}) \]

并用标准夹逼 \(v' = q\,v\,q^{-1}\),则实际对 \(v\) 的旋转角是 \(2\alpha\)。所以要想得到旋转 \(\theta\),必须取 \(\alpha=\tfrac{\theta}{2}\)

下面把“为什么会变成 \(2\alpha\)”推导清清楚楚。


1) 预备知识(纯虚四元数乘法恒等式)

把三维向量当作纯虚四元数(实部为 0)。对任意纯虚四元数 \(\mathbf a,\mathbf b\)

\[\mathbf a\,\mathbf b = -\,\mathbf a\cdot \mathbf b \;+\; \mathbf a\times \mathbf b. \]

特别地,若 \(\mathbf u\) 为单位向量且 \(\mathbf v_\perp\perp \mathbf u\),则

\[\mathbf u\,\mathbf v_\perp = \mathbf u\times \mathbf v_\perp,\qquad \mathbf v_\perp\,\mathbf u = -\,\mathbf u\times \mathbf v_\perp. \]

把任意 \(\mathbf v\) 分解为轴向与垂直分量:

\[\mathbf v=\mathbf v_{\parallel}+\mathbf v_{\perp},\qquad \mathbf v_{\parallel}=(\mathbf u\cdot \mathbf v)\,\mathbf u,\quad \mathbf u\cdot \mathbf v_{\perp}=0. \]


2) 展开 \(q v q^{-1}\)

\(c=\cos\alpha,\ s=\sin\alpha\)。因 \(q^{-1}=c-\mathbf u s\),有

\[q\,\mathbf v\,q^{-1} =(c+\mathbf u s)\,\mathbf v\,(c-\mathbf u s) = c^2\mathbf v + cs(\mathbf u\mathbf v-\mathbf v\mathbf u) - s^2\,\mathbf u\mathbf v\mathbf u. \]

对平行与垂直分量分别计算。


3) 作用在平行分量 \(\mathbf v_{\parallel}=\lambda \mathbf u\)

\[\mathbf u\,\mathbf v_{\parallel} = \mathbf u(\lambda \mathbf u)=\lambda\,\mathbf u^2=-\lambda \ \ (\text{纯标量}),\quad \mathbf v_{\parallel}\mathbf u = -\lambda, \]

\(\mathbf u\mathbf v_{\parallel}-\mathbf v_{\parallel}\mathbf u=0\)
并且

\[\mathbf u\,\mathbf v_{\parallel}\,\mathbf u =\mathbf u(\lambda \mathbf u)\mathbf u =\lambda\,(\mathbf u^2)\mathbf u =-\lambda\,\mathbf u =-\mathbf v_{\parallel}. \]

代回:

\[q\,\mathbf v_{\parallel}\,q^{-1} =c^2\mathbf v_{\parallel} - s^2(-\mathbf v_{\parallel}) =(c^2+s^2)\mathbf v_{\parallel} =\mathbf v_{\parallel}. \]

——轴向不变(这与几何直觉一致)。


4) 作用在垂直分量 \(\mathbf v_{\perp}\perp\mathbf u\)

首先有

\[\mathbf u\mathbf v_{\perp}-\mathbf v_{\perp}\mathbf u =(\mathbf u\times\mathbf v_{\perp})-(-\mathbf u\times\mathbf v_{\perp}) =2\,\mathbf u\times\mathbf v_{\perp}. \]

再算三重积 \(\mathbf u\mathbf v_{\perp}\mathbf u\)

\[\mathbf u\mathbf v_{\perp}=\mathbf u\times\mathbf v_{\perp}=: \mathbf w \ \Rightarrow\ \mathbf u\mathbf v_{\perp}\mathbf u=\mathbf w\,\mathbf u = -\,\mathbf w\cdot\mathbf u + \mathbf w\times\mathbf u. \]

\(\mathbf w=\mathbf u\times\mathbf v_{\perp}\perp \mathbf u\),故 \(\mathbf w\cdot\mathbf u=0\)
并用向量三重积恒等式 \((\mathbf a\times\mathbf b)\times\mathbf c=\mathbf b(\mathbf a\cdot\mathbf c)-\mathbf a(\mathbf b\cdot\mathbf c)\)

\[\mathbf w\times\mathbf u =(\mathbf u\times\mathbf v_{\perp})\times\mathbf u =\mathbf v_{\perp}(\mathbf u\cdot\mathbf u)-\mathbf u(\mathbf v_{\perp}\cdot\mathbf u) =\mathbf v_{\perp}. \]

于是 \(\mathbf u\mathbf v_{\perp}\mathbf u=\mathbf v_{\perp}\)

代回主式:

\[q\,\mathbf v_{\perp}\,q^{-1} = c^2\mathbf v_{\perp} + cs\cdot 2(\mathbf u\times\mathbf v_{\perp}) - s^2\mathbf v_{\perp} =(c^2-s^2)\mathbf v_{\perp} + 2cs\,(\mathbf u\times\mathbf v_{\perp}). \]

识别到倍角公式:

\[c^2-s^2=\cos 2\alpha,\qquad 2cs=\sin 2\alpha, \]

\[q\,\mathbf v_{\perp}\,q^{-1} = \cos(2\alpha)\,\mathbf v_{\perp} + \sin(2\alpha)\,(\mathbf u\times\mathbf v_{\perp}). \]


5) 合并(得到罗德里格斯公式)

\[\boxed{\; q\,\mathbf v\,q^{-1} = \mathbf v_{\parallel} + \cos(2\alpha)\,\mathbf v_{\perp} + \sin(2\alpha)\,(\mathbf u\times\mathbf v_{\perp}) \;} \]

这正是绕 \(\mathbf u\) 旋转角 \(2\alpha\) 的罗德里格斯形式。于是要得到目标角 \(\theta\),取

\[\alpha=\frac{\theta}{2}\quad\Rightarrow\quad q=\cos\frac{\theta}{2}+\mathbf u\,\sin\frac{\theta}{2}. \]


举一反三

  • 若误把 \(q\) 写成 \(\cos\theta+\mathbf u\sin\theta\),则 \(q v q^{-1}\) 会把 \(\mathbf v_{\perp}\) 旋转 \(2\theta\),轴向不变——角度翻倍。
  • 这也解释了 SU(2) 双覆盖 SO(3)\(q\)\(-q\) 表示同一旋转,因为它们对应的 \(\alpha\) 相差 \(\pi\),而 \(2\alpha\) 相差 \(2\pi\) 表示同一空间旋转。
http://www.sczhlp.com/news/50382/

相关文章:

  • 题解:P10449 费解的开关
  • 10分钟带你体验 Solon 的状态机
  • 题解:P10455 Genius Acm
  • 如何在网站上做标注微信手机网站三合一
  • 福州企业建站系统模板西安博网站建设
  • 龙岗网站建设哪家技术好阜阳网站建设公司
  • 网站建设有几种方案培训班网页设计
  • 梧州专业网站推广网站建设600元全包
  • 建设内网网站流程百度自动驾驶技术
  • 在线做网站wordpress 加密
  • 网站详细设计天眼网查个人
  • 哪个网站可以做免费商业推广百度上做推广怎么做
  • 阆中网站建设01hl做企业网站必须要座机吗
  • 山楂树建站公司优化方案的格式及范文
  • CSP-2023 游记 + AFO记
  • 3. LangChain4j + 低阶 和 高阶 API的详细说明 - Rainbow
  • 网站开发技术现状地税局网站怎么做变更
  • 做网站敲代码的图片做h5的网站页面
  • 外贸的网站有哪些平面设计素材网站哪个好
  • 网站销售需要注册公司吗jeykll和wordpress
  • 网站改版前端流程经验室内设计师联盟网官网
  • CF344B Simple Molecules - 题解
  • CMake构建学习笔记22-libxml2库的构建
  • CF81B Sequence Formatting - 题解
  • CF394A Counting Sticks - 题解
  • 10.3.2 Off-policy 策略梯度定理
  • 网站建设细化流程怎么注册wordpress账号
  • 校园网站建设多少钱海洋牧场网站建设
  • 山东网站建设排行榜可以做数据图的的网站
  • 小程序网站开发怎么样甘孜建设机械网站首页