math_旋转变换

1、四元数

要计算从 a 旋转到 c 的四元数 q2​,已知:

复制代码
- 从 b → a 的旋转四元数是 q0​
- 从 b → c 的旋转四元数是 q1​

我们目标是求 a → c 的旋转四元数 q2​

1.1、从一个坐标系(或向量)旋转到另一个的变换

若一个向量 v 在坐标系 B 中,想通过四元数 q 旋转到坐标系 A,则通常写作:

bash 复制代码
vA​=qvB​q

四元数表示的是从一个坐标系(或向量)旋转到另一个的变换。若一个向量 v 在坐标系 B 中,想通过四元数 q 旋转到坐标系 A,则通常写作:

vA​=qvB​q−1

但当我们只关心相对旋转(即"从姿态 X 到姿态 Y 的旋转"),可以把每个姿态看作是从世界坐标系(或某个公共参考系) 到该姿态的旋转。

假设所有四元数都是相对于同一个参考系(比如世界坐标系 W) 定义的:

复制代码
q0​:将向量从 b 旋转到 a,即
va​=q0​vb​q0−1​

等价于:a 的姿态 = q0​⋅b 的姿态

q1​:将向量从 b 旋转到 c,即
vc​=q1​vb​q1−1​

我们想找到 q2​,使得:

vc​=q2​va​q2−1​

相关推荐
Liu628883 小时前
C++中的工厂模式高级应用
开发语言·c++·算法
AI科技星3 小时前
全尺度角速度统一:基于 v ≡ c 的纯推导与验证
c语言·开发语言·人工智能·opencv·算法·机器学习·数据挖掘
条tiao条4 小时前
KMP 算法详解:告别暴力匹配,让字符串匹配 “永不回头”
开发语言·算法
干啥啥不行,秃头第一名4 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
zzh940774 小时前
Gemini 3.1 Pro 硬核推理优化剖析:思维织锦、动态计算与国内实测
算法
2301_807367194 小时前
C++中的解释器模式变体
开发语言·c++·算法
愣头不青5 小时前
617.合并二叉树
java·算法
MIUMIUKK5 小时前
双指针三大例题
算法
灵感__idea5 小时前
Hello 算法:复杂问题的应对策略
前端·javascript·算法
2301_819414306 小时前
C++与区块链智能合约
开发语言·c++·算法