位姿估计(一):三维空间中旋转的表示形式
三维空间中旋转的表示形式主要包括以下四种:
- 旋转矩阵 (Rotation Matrix)
- 旋转向量 (Rotation Vector)
- 欧拉角 (Euler angle)
- 四元数 (Quaternion)
表示类型 | 特点 |
---|---|
Euler | xyz每个轴分别是多少度 (pitch, yaw, roll) |
RMat | 旋转矩阵: 用于3D点的矩阵运算 |
Rvec | 旋转向量: 旋转作为自变量进行优化求解 |
四元数 | 用于游戏场景: 比如动画两个关键帧之间的插值 |
一、旋转矩阵
- 旋转矩阵是一个行列式为1的正交矩阵;反之,行列式为1的正交矩阵也是一个旋转矩阵。
- 行列式为1的正交矩阵(正交矩阵:矩阵的逆等于转置
R_inv = R^T
from world to camera --> from camera to world)
二、旋转向量
- 旋转矩阵不够紧凑,且旋转矩阵自带约束不利于优化求解
- 任何旋转可以用一个旋转轴 n 和一个旋转角 θ 来刻画:对应的旋转向量为θn
- 由旋转向量到旋转矩阵的过程由罗德里格斯 (Rodrigues's Formula) 来实现
三、欧拉角
- Pitch, Yaw, Roll分别对应xyz轴的旋转角度(for human reading)
- 欧拉角转为旋转矩阵(Euler2RMat)
四、四元数
TODO
参考资料
- 《视觉SLAM十四讲》Chapter3 三维空间刚体运动
- 欧拉角与旋转矩阵相互转换:https://programming-surgeon.com/en/euler-angle-python-en/
- Scipy.spatial库:https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.transform.Rotation.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人