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​

相关推荐
ada7_1 小时前
LeetCode(python)——94.二叉
python·算法·leetcode·链表·职场和发展
AI视觉网奇1 小时前
躯体驱动 算法学习笔记
人工智能·算法
不穿格子的程序员1 小时前
从零开始写算法——普通数组类题:数组操作中的“翻转技巧”与“前后缀分解”
数据结构·算法
逝雪Yuki1 小时前
简单多源BFS问题
算法·leetcode·bfs·广度优先遍历
curry____3031 小时前
study in PTA(高精度算法与预处理)(2025.12.3)
数据结构·c++·算法·高精度算法
ChoSeitaku1 小时前
高数强化NO6|极限的应用|连续的概念性质|间断点的定义分类|导数与微分
人工智能·算法·分类
代码游侠1 小时前
学习笔记——栈
开发语言·数据结构·笔记·学习·算法
自然语1 小时前
人工智能之数字生命-情绪
人工智能·算法
Ayanami_Reii1 小时前
进阶数据结构应用-维护序列
数据结构·算法·线段树