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​

相关推荐
To_OC12 小时前
LC 438 找到所有字母异位词:暴力超时后,我靠滑动窗口一招搞定
javascript·算法·leetcode
Forever Nore14 小时前
学完C语言力扣第一题做不来正常吗
数据结构·算法
hansang_IR15 小时前
【题解】LC:倍增 / 区间并查集(Range Parallel Unionfind)
c++·算法·并查集
Tisfy16 小时前
LeetCode 3731.找出缺失的元素:哈希 / 排序
算法·leetcode·哈希算法·排序·哈希表
lucas_AI17 小时前
Q-CueGraph:你的多模态大模型会 zoom,但真的知道该看哪儿吗?
人工智能·算法
kaixin_啊啊17 小时前
test_机器学习算法学习
学习·算法·机器学习
liulilittle17 小时前
MOE路由:路由(logits: top-k/8)
c++·人工智能·算法·机器学习·llm
旖旎夜光17 小时前
LeetCode 11:盛最多水的容器(双指针问题) —— 题解
数据结构·c++·算法·leetcode·双指针
一只齐刘海的猫17 小时前
【Leetcode】乘积最大子数组
算法·leetcode·职场和发展