从基变换的角度理解旋转矩阵R

在理解相机坐标系时,我们一定会接触相机的外参矩阵R,它将世界坐标系下的坐标转换到相机坐标系下:
P c = R ∗ P w + t P_c=R*P_w+t Pc=RPw+t
这实际上是两个坐标系之间的变换,我们知道 R R R矩阵是一个正交矩阵,所以它的3个行(列)向量是3维向量空间的一组标准正交基,而一组标准正交基可以作为一个坐标系的三个基向量。那么我们的 R R R矩阵如何和两个坐标系的基向量联系起来呢?

我们先画出两个坐标系 X w Y w Z w X_wY_wZ_w XwYwZw X c Y c Z c X_cY_cZ_c XcYcZc
在这里插入图片描述
我们要讨论的是如何把某一点 P P P 在世界坐标系上的坐标转换成相机坐标系上的坐标。

暂且不考虑两个坐标系之间的平移,于是将相机坐标系的原点移动到世界坐标系的原点,像这样:
在这里插入图片描述

我们可以标出两个坐标系的基向量组 e w ( e ⃗ w x , e ⃗ w y , e ⃗ w z ) e_w(\vec{e}_{wx},\vec{e}_{wy},\vec{e}_{wz}) ew(e wx,e wy,e wz) e c ( e ⃗ c x , e ⃗ c y , e ⃗ c z ) e_c(\vec{e}_{cx},\vec{e}_{cy},\vec{e}_{cz}) ec(e cx,e cy,e cz)。它们都在世界坐标系下。
在这里插入图片描述
接下来,再讨论如何把世界坐标系上的一点 P ( X w , Y w , Z w ) P(X_w,Y_w,Z_w) P(Xw,Yw,Zw)转换到相机坐标系下
P ( X w , Y w , Z w ) → P ( X c , Y w , Z w ) P(X_w,Y_w,Z_w)→P(X_c,Y_w,Z_w) P(Xw,Yw,Zw)P(Xc,Yw,Zw)
在世界坐标系下,基向量组 e w ( e ⃗ w x , e ⃗ w y , e ⃗ w z ) e_w(\vec{e}_{wx},\vec{e}_{wy},\vec{e}_{wz}) ew(e wx,e wy,e wz)为单位阵,也就是

其中 e ⃗ w x = ( 1 , 0 , 0 ) T \vec{e}_{wx}=(1,0,0)^T e wx=(1,0,0)T e ⃗ w y = ( 0 , 1 , 0 ) T \vec{e}_{wy}=(0,1,0)^T e wy=(0,1,0)T e ⃗ w z = ( 0 , 0 , 1 ) T \vec{e}_{wz}=(0,0,1)^T e wz=(0,0,1)T

我们知道 P P P在世界坐标系下的坐标实际上是以上三组基向量的线性组合,即 P w = X w ∗ e ⃗ w x + Y w ∗ e ⃗ w x + Z w ∗ e ⃗ w x P_w=X_w*\vec{e}_{wx}+Y_w*\vec{e}_{wx}+Z_w*\vec{e}_{wx} Pw=Xwe wx+Ywe wx+Zwe wx

这便是坐标的基向量表示法了。

那么我们把 P P P点的坐标变换到基向量组 e c ( e ⃗ c x , e ⃗ c y , e ⃗ c z ) e_c(\vec{e}_{cx},\vec{e}_{cy},\vec{e}_{cz}) ec(e cx,e cy,e cz)下便得到了相机坐标系下的变换。换句话说,我们要计算 P P P点在基向量组 e c ( e ⃗ c x , e ⃗ c y , e ⃗ c z ) e_c(\vec{e}_{cx},\vec{e}_{cy},\vec{e}_{cz}) ec(e cx,e cy,e cz)下的坐标 P c = X c ∗ e ⃗ c x + Y c ∗ e ⃗ c x + Z c ∗ e ⃗ c x P_c=X_c*\vec{e}_{cx}+Y_c*\vec{e}_{cx}+Z_c*\vec{e}_{cx} Pc=Xce cx+Yce cx+Zce cx

从旋转矩阵的角度来说,计算公式是:
P c = R P w P_c=RP_w Pc=RPw

让我们先暂时忘掉 P P P,我们想一想基向量组 e c ( e ⃗ c x , e ⃗ c y , e ⃗ c z ) e_c(\vec{e}_{cx},\vec{e}_{cy},\vec{e}_{cz}) ec(e cx,e cy,e cz)通过 R R R矩阵变换到相机坐标系下是什么样的呢?

答案显而易见,是单位阵 E E E

扫描二维码关注公众号,回复: 14144227 查看本文章

也就是说通过左乘旋转矩阵 R R R,我们可以把基向量组 e c ( e ⃗ c x , e ⃗ c y , e ⃗ c z ) e_c(\vec{e}_{cx},\vec{e}_{cy},\vec{e}_{cz}) ec(e cx,e cy,e cz)变成单位阵 E E E,表达如下:
R ( e ⃗ c x , e ⃗ c y , e ⃗ c z ) = E R(\vec{e}_{cx},\vec{e}_{cy},\vec{e}_{cz})=E R(e cx,e cy,e cz)=E

因此我们知道
( e ⃗ c x , e ⃗ c y , e ⃗ c z ) = R − 1 = R T (\vec{e}_{cx},\vec{e}_{cy},\vec{e}_{cz})=R^{-1}=R^T (e cx,e cy,e cz)=R1=RT

这就是我们的旋转矩阵 R R R在基变换角度下的理解, R R R的逆矩阵(或转置矩阵)的三个列向量,便是相机坐标系的三个基向量在世界坐标系下的坐标。

猜你喜欢

转载自blog.csdn.net/rs_lys/article/details/111591501