阅读BEV相关论文的过程中频繁出现不同坐标系之间的转化,主要是涉及到旋转矩阵等等,这里作为前置基础知识进行补充。
1. 矩阵的逆是什么意思?
如果一个方阵 (A) 存在另一个矩阵 (A−1),满足:
AA−1=A−1A=I
那么这个 A−1 就叫 A 的逆矩阵。
这里的 (I) 是单位矩阵,比如二维时:
I=[1001]
如何计算逆矩阵?
(本质就是套公式,以2x2矩阵为例子,3x3直接百度公式)
如果:
A=[acbd]
而且 (ad−bc=0),那么逆矩阵的公式如下:
A−1=ad−bc1[d−c−ba]
2. 什么是转置矩阵?
矩阵的 转置 就是把行列交换。
如果:
A=[142536]
那么它的转置:
AT=123456
3. 转置和求逆有什么区别?
转置只是“翻过去”:A→AT . 求逆是“找一个矩阵把变换抵消掉”:A→A−1
A=[1324]
转置是:
AT=[1234]
逆矩阵则是:
A−1=1⋅4−2⋅31[4−3−21]=−21[4−3−21]=[−21.51−0.5]
所以这两个不是一个东西。
- 那什么时候转置等于逆?
在一个非常重要的特殊情况里成立:
旋转矩阵的逆 = 它的转置
也就是:R−1=RT
4.为什么旋转矩阵这么特殊?
因为旋转不会拉伸,不会压缩,不会剪切,只是“转方向”。
所以它保持长度和夹角,这种矩阵叫 正交矩阵。
对正交矩阵,有:RTR=I 因此:R−1=RT
二维逆时针旋转 90°:
R=[01−10]
它的转置:
RT=[0−110]
算一下:
RRT=[01−10][0−110]=[1001]=I
所以:
R−1=RT
这说明:
5. 什么矩阵有逆?
最基本的要求是:
- 必须是方阵 (即,行数 = 列数)
- 行列式det(A)不等于0(行列式如何计算?自行百度)
PS:如果det(A)=0 那这个矩阵就没有逆。这种矩阵叫 奇异矩阵。