位姿估计(一):三维空间中旋转的表示形式

三维空间中旋转的表示形式主要包括以下四种:

  • 旋转矩阵 (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

参考资料

SO(n)是特殊正交群 SO(n)={RRn×n|RRT=I,det(R)=1} SO(n)是特殊正交群 (Special Orthogonal Group) 的意思,表示该集合由n维空间的旋转矩阵组成。特别地,SO(3)表示三维空间的旋转了。
posted @   达可奈特  阅读(256)  评论(0编辑  收藏  举报
编辑推荐:
· 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训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示