旋转矩阵的两种理解

旋转矩阵有两种理解方式;

一、姿态描述

描述相机坐标系相对于世界坐标系怎么摆放(即姿态)

其物理意义是:"将一个在相机坐标系中的矢量,变换回世界坐标系",即

设相机坐标系的三个单位基向量在世界坐标系中的表示为:

将它们按列组成矩阵:

这个矩阵的含义是:把相机坐标系中的一个向量(以相机基底表示),主动旋转到世界坐标系中。例如,相机中的单位向量 (1,0,0)⊤(即其 X 轴)在世界中就是:

因此,Rc→w​ 被称为相机到世界的姿态矩阵(或方向余弦矩阵)。

二、坐标变换

将同一个点在世界坐标系下的坐标Pw变换到相机坐标系下的坐标Pc ​。这由坐标变换矩阵实现:

其中 Rw→c​∈SO(3) 是世界到相机的坐标变换矩阵

从上面的定义描述可以看出,姿态描述和坐标变换(世界点到相机点)是互为转置。

仅仅看上面两个信息可能没什么概念,下面举一个实例,信息如下:


1.车辆前挡风玻璃上端一个,朝前,称之为前视相机,后挡风玻璃上端一个,朝后,称之为后视相机。 左右各两个,左边一个朝左前、一个朝左后,分别称之为左前相机和左后相机。右边一个朝右前、一个朝右后,分别称之为右前相机和右后相机。

2.前视pyr角度分别为5°,0°,0°,后视pyr角度分别为5°,180°,0 °。左前pyr角度分别为0°,45°,0°,右前pyr角度分别为0°,-45°,0° 。左后pyr角度分别为0°,135°,0°。右后pyr角度分别为0°,-145°,0 °.

3.相机坐标系和世界坐标系均为前左上。

求相机的姿态和世界坐标系到相机坐标系的旋转矩阵Rwc 。


以左前相机为例,rx = 0,ry = 0°,rz = 45°. 根据欧拉角转旋转矩阵定义,按照XYZ的旋转顺序,外旋得到R, R = Rz​(yaw)Ry​(pitch)Rx​(roll) .

那么问题来了,这个R是相机的姿态(Rcw),还是Rwc 。

  1. 要求上面的两个问题,先确认上面的角度值是哪个坐标系到哪个坐标系的旋转。

根据上面的角度正负号,结合右手定则,可以确认,上面的旋转是世界坐标系到相机坐标系的旋转得到。

2.求相机的姿态、及Rwc。

下面参考博客:https://blog.csdn.net/weixin_45632220/article/details/117735223 中的推导,及上面的定义来给出答案。

首先根据第一节中姿态描述的物理含义:"将一个在相机坐标系中的矢量,变换回世界坐标系" 。

结合参考文献中的"坐标变换"部分的推导,如下。红色坐标系可以类比我们的相机坐标系,黑色坐标系可以类比我们的世界坐标系。

上面的推导,正好和左前相机角度转换类似,只绕Z轴旋转了α ,假设α = 45°。我们就可以通过R = Rz​(yaw)Ry​(pitch)Rx​(roll) 将相机坐标系下的点,投影到世界坐标系。也就是说,Rz​(yaw)Ry​(pitch)Rx​(roll) = Rcw 。

那Rwc = (Rz​(yaw)Ry​(pitch)Rx​(roll)).inv() 。

相关推荐
yyds_yyd_1008612 分钟前
1464. 数组中两元素的最大乘积(2026.07.27)
数据结构·c++·算法·leetcode
KaMeidebaby1 小时前
卡梅德生物技术快报 | 核酸适配体文库测序:核酸适配体文库测序的技术原理、实验流程与数据解析
前端·网络·数据库·人工智能·算法
geovindu2 小时前
CSharp: Breadth First Search Algorithm and Depth First Search Algorithm
开发语言·后端·算法·c#·.net·搜索算法
ekkoalex3 小时前
训练框架以及算法实现的框架
算法
DFT计算杂谈3 小时前
交错磁研究进展材料物性与交叉应用
数据库·人工智能·python·opencv·算法
玖玥拾3 小时前
LeetCode 26 删除有序数组中的重复项
算法·leetcode
Kina_C4 小时前
LVS负载均衡的十二种核心调度算法
linux·运维·算法·负载均衡·lvs
吞下星星的少年·-·4 小时前
牛客技能树:小红走矩阵(dp入门)
算法·dp
hansang_IR5 小时前
【题解】[AGC020E] Encoding Subsets
c++·算法·dp
核数聚5 小时前
【赛迪专访核数聚】深耕数据治理,打通数据孤岛夯实 AI 发展根基
大数据·人工智能·算法