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​

相关推荐
AI应用实战 | RE1 分钟前
012、检索器(Retrievers)核心:从向量库中智能查找信息
人工智能·算法·机器学习·langchain
凤年徐2 分钟前
C++手撕红黑树:从0到200行,拿下STL map底层核心
c++·后端·算法
Thomas.Sir6 分钟前
AI 医疗之罕见病/疑难病辅助诊断系统从算法到实现【表型驱动与知识图谱推理】
人工智能·算法·ai·知识图谱
tankeven28 分钟前
动态规划专题(03):区间动态规划从原理到实践(未完待续)
c++·算法·动态规划
田梓燊1 小时前
2026/4/11 leetcode 3741
数据结构·算法·leetcode
斯内科2 小时前
FFT快速傅里叶变换
算法·fft
2301_822703202 小时前
开源鸿蒙跨平台Flutter开发:幼儿疫苗全生命周期追踪系统:基于 Flutter 的免疫接种档案与状态机设计
算法·flutter·华为·开源·harmonyos·鸿蒙
贵慜_Derek2 小时前
Managed Agents 里,Harness 到底升级了什么?
人工智能·算法·架构
2301_822703202 小时前
鸿蒙flutter三方库实战——教育与学习平台:Flutter Markdown
学习·算法·flutter·华为·harmonyos·鸿蒙
Jia ming2 小时前
C语言实现日期天数计算
c语言·开发语言·算法