1. 投影矩阵的定义
E表示单位矩阵,即主对角线上的元素为1,其余位置全是0的矩阵。 一个矩阵就相当于一个空间变换。有一个矩阵能把原来空间的基向量i^=(1,0)T和j^=(0,1)T变成新的基向量,就可能有另一个矩阵把这组基向量再变回原来的基向量i^=(1,0)T和j^=(0,1)T。 矩阵代表了一种二元关系。函数映射是一种1维的二元关系,那么矩阵就是一种N维的二元关系。矩阵的方法就是一种映射的运算,之所以成为线形运算,是因为每一个投影都是具有拉伸和整体旋转的几何意义,相当于向量通过平面镜映射到一个投影平面上面的结果。
这里只有平面镜和投影平面,没有哈哈镜和投影曲面。
如果把2元的对应关系写成复数形式z=x+yi,那么f(z)就是一种投影的关系,只不过f(z)是直线方程的时候对应于一个等效的矩阵,f(z)如果不是直线方程,那么就是一种非线性变换。
线形变换有许多很好的性质,能够保持信息的数量和结构保持某种程度的不变性,同时使得结果方便理解和处理。
2. 投影变换矩阵定义
投影矩阵是在相机空间将3D场景变换成标准立方体的矩阵,其受到如下几个参数影响:
1.aspect ratio 纵横比,不同的屏幕纵横比生成的结果图像肯定不同。
2. vertical field of view( fov ) 视野, 不同的fov能将世界放大或者缩小,类似相机调焦
3.near plane&far plane 远近裁剪面的位置,直接影响平头椎体的拉伸效果
3. 投影矩阵的特征值
在层次分析法中(AHP) 最大特征根法确定权重特征根在一定程度上反映了 成对比较矩阵(正互反阵)的总体特征。
所有的特征向量的集合构成了矩阵的基,特征向量是基,特征值反应矩阵在各个方向上的值,特征值的模则代表矩阵在每个基上的投影长度。
不同的特征向量就是矩阵不同的特点,特征值就是这些特点的强弱
第一步我们首先需要知道计算矩阵的特征值和特征向量要用eig函数,可以在命令行窗口中输入help eig,查看一下eig函数的用法。
第二步在命令行窗口中输入a=[1 2 3;2 4 5;7 8 9],按回车键之后,输入[x,y]=eig(a)
第三步按回车键之后,得到了x,y的值,其中x的每一列值表示矩阵a的一个特征向量,这里有3个特征向量,y的对角元素值代表a矩阵的特征值。
第四步如果我们要取y的对角元素值,可以使用diag(y)。
第五步按回车键之后,可以看到已经取出y的对角线元素值,也就是a矩阵的特征值。
第六步我们也可以在命令行窗口help diag,可以看到关于diag函数的用法。
特征值与特征向量之间关系:
1、属于不同特征值的特征向量一定线性无关。
2、相似矩阵有相同的特征多项式,因而有相同的特征值。
3、设x是矩阵a的属于特征值1的特征向量,且a~b,即存在满秩矩阵p使b=p(-1)ap,则y=p(-1)x是矩阵b的属于特征值1的特征向量。
4、n阶矩阵与对角矩阵相似的充分必要条件是:矩阵有n个线性无关的分别属于特征值1,2,3...的特征向量(1,2,3...中可以有相同的值)。
层次分析法中(AHP) 最大特征根法确定权重特征根在一定程度上反映了 成对比较矩阵(正互反阵)的总体特征。
所有的特征向量的集合构成了矩阵的基,特征向量是基,特征值反应矩阵在各个方向上的值,特征值的模则代表矩阵在每个基上的投影长度。
不同的特征向量就是矩阵不同的特点,特征值就是这些特点的强弱
第一步我们首先需要知道计算矩阵的特征值和特征向量要用eig函数,可以在命令行窗口中输入help eig,查看一下eig函数的用法。
层次分析法中(AHP) 最大特征根法确定权重特征根在一定程度上反映了 成对比较矩阵(正互反阵)的总体特征。
所有的特征向量的集合构成了矩阵的基,特征向量是基,特征值反应矩阵在各个方向上的值,特征值的模则代表矩阵在每个基上的投影长度。
不同的特征向量就是矩阵不同的特点,特征值就是这些特点的强弱
第一步我们首先需要知道计算矩阵的特征值和特征向量要用eig函数,可以在命令行窗口中输入help eig,查看一下eig函数的用法。
4. 投影矩阵的性质推导
ab矩阵等于0的五个结论是AB=O(零矩阵)是|A||B|=0的充分不必要条件,不是等价的。所以AB≠O时可以有|A||B|=0
1.列如:A=[1,1],B=[1,-1]'(注意,此处有转置,B是列向量)。
满足AB=0,B≠0吧。
2.结论①是显然的,因为X=B≠0就是AX=0的非零解。
结论②是充分非必要条件,A=0当然成立,但是也存在A≠0的情况,所以要通过秩等方式去研究这个A。
3.行列式等于0的条件很松,只要不满秩就可以。是个超大集合。举个例子,3维中考虑到xy平面的投影矩阵,他作用的结果是一个面。高维中,只要有某一维上投影是0,行列式就为0。n维矩阵空间的子集中,0~n-1维子空间在n维中都是不满秩的。
总结:零矩阵的条件非常紧,他只是一个点。他是0维的。
5. 投影矩阵的定义及性质
这里A是列满秩的,那么P=A*(A^TA)^{-1}A^T 道理很简单,如果Q的列恰好是A的列张成的空间的一组标准正交基,那么A=QB,其中B是一个2阶的可逆矩阵,P=QQ^T,然后把P用A表示出来就行了
6. 投影矩阵百度百科
OpenGL有两类基本几何实体:点、方向。这两类实体都可以进行变换。可以移动点的位置,也可以将向量旋转以表达不同的方向。
刚体变换指的是物体的尺寸及角度都不因对其所进行的变换而发生变化。平移及旋转是常见的刚体变换。
对于一个直线段,如果对其进行的变换使得变换后的直线段仍旧为一个直线段,只不过它的尺度及角度可能发生变化,称这种变换为线性变换。因为它是一种从直线段到直线段的映射过程,而非从直线段到曲线段的映射过程,故为线性变换。
线性变换有两种类型:仿射变换及射影变换。
仿射变换可以保持不同直线之间的平行性质,包括平移、旋转、比例变换。仿射变换时可逆的。
射影变换常见的就是透视变换,它是不可逆的。
线性变换,无论是仿射变换抑或射影变换都可以用矩阵的形式来表示。仿射变换往往对应于模型—视图矩阵,射影变换往往对应于投影矩阵。
7. 投影矩阵是对称矩阵
1.对于任何方形矩阵X,X+X^T是对称矩阵。 2.A为方形矩阵是A为对称矩阵的必要条件。 3.对角矩阵都是对称矩阵。 4.两个对称矩阵的积是对称矩阵,当且仅当两者的乘法可交换。两个实对称矩阵乘法可交换当且仅当两者的特征空间相同。
8. 投影矩阵的几何意义
我来说一个偏门的理解方式。
先从向量点乘开始说起吧。我们都知道向量A(x1,y1)点乘向量B(x2,y2),应该写成x1x2+y1y2。换个角度来看,向量A还是向量A,而向量B可以理解成一个1*2的矩阵。向量点乘的结果是一个数,而这个数可以理解成是一个一维向量C(x1x2+y1y2)。
向量点乘其实就是找出一个向量在另一个向量上的投影,然后进行伸缩。把向量点乘的几何意义和矩阵乘法结合起来看就会发现,矩阵描述的其实是空间中点的位置变化,这种位置变化甚至可以跨维度
。上面的例子当中,1*2的矩阵描述的就是从二维空间到一维空间的位置变化。在线性代数里面我们用一个更漂亮的词来代替“位置变化”这种含糊的描述,叫做“线性变换”。
可能有人会疑惑,这个说法能不能推而广之?答案是肯定的。通常情况下,
三维向量乘以2*3的矩阵得到的就是二维向量,那么这个2*3的矩阵描述的就是一个从三维空间到二维空间的线性变换。是不是n*m的矩阵描述的就是从m维空间到n维空间的线性变换呢?
错!
举个例子吧。通常情况下,
二维向量乘以3*2的矩阵会得到三维向量,那么三维向量不是应该表示三维空间中的点吗?乍一看好像是这么回事。但是如果你拿出来无数个二维向量与这个3*2矩阵相乘,得到无数个三维向量,你就会发现你得到的所有的三维向量全部分布在空间中的某一个平面上
。也就是说这个3*2的矩阵所描述的线性变换其实根本就没有跨维度。二维向量经过该线性变换之后还是二维向量,只不过是另一个二维空间的二维向量罢了。其他情况也是同理,矩阵描述的线性变换只能在同一维度或者从高维到低维,永远不可能从低维到高维。
还有更极端的情况。某个3*2的矩阵,当你拿出无数个二维向量和它相乘,得到无数个“三维向量”,但是所有的向量都分布在一条直线上。也就是说这个矩阵看似描述的是二维到二维(前面说过,不可能升维度)的线性变换,其实描述的是从二维到一维的线性变换。
说了这么多只字未提秩的概念。但是说到这里其实秩的概念已经可以一句话概括了,矩阵的秩其实指的就是该线性变换所得到的最终的维度。
这就是为什么m*n矩阵的秩永远小于等于m和n中的较小值的原因。接下来我来换个角度讨论一下。
先来看看矩阵向量乘法。矩阵A乘以向量x得到向量y,用数学形式表达就是Ax=y。刚刚我们说过矩阵代表的是线性变换,x经过矩阵A所表示的线性变换就会变成y。但是矩阵还有另一种理解方式,那就是矩阵描述的就是一个完整的空间。
在描述空间的时候,坐标系必不可少。而坐标系的建立方法并不止一种,比如说直角坐标系和极坐标系。如果我们把直角坐标系和极坐标系的原点重合,然后同时去测量空间中的某一点,就会得到两种不同的表达方式。一个点在直角坐标系下和极坐标系下看起来必然不同,但他们本质上是同一个点,只是表现形式不一样罢了。
有了这个概念再来看矩阵向量乘法。Ax=y可以写成Ax=Ey,也就是说x和y两个向量其实是同一个向量,只是我们在不同的空间下观察所以描述形式不一样
罢了。x是在矩阵A所表示的空间下测量出来的,而y是在单位矩阵E所表示的空间下测量出来的。
既然矩阵既可以表示运动,又可以表示空间。那么秩当然也有两种理解方式,当矩阵表示空间的时候,秩表示的就是这个空间的维度
。这种理解方式可以通俗地理解并记住线性代数中的很多概念和定理,比如说线性方程组的解。
常见的线性方程组是这样的:
A是矩阵,x和b都是向量。A、E和b都是已知量,求x。我们把A叫做系数矩阵,把A和b合起来叫做增广矩阵。线性方程组的解就和这两个矩阵秩的关系有关。
1、系数矩阵的秩若小于增广矩阵,则该方程组无解。
2、系数矩阵的秩若等于增广矩阵,且等于n(方程组元数),则方程组有唯一解。
3、系数矩阵的秩若等于增广矩阵,且小于n,则方程组有无数解。
要理解这个定理我们要先将方程组Ax=b拓展成Ax=Eb的形式。之前提到过,x和b应该是同一个向量,只是因为观测空间不同而导致形式不同而已。方程组的解的问题就可以转换成在矩阵A所表示的空间中,是否存在一个向量能表示单位矩阵E中的b向量。
为什么系数矩阵的秩若小于增广矩阵,则该方程组无解呢?答案就是低维空间找不到一个向量x可以表示高维空间的向量b。
有解的情况是系数矩阵的秩和增广矩阵相同,区别就在于秩的大小是等于n还是小于n。这也很容易理解,向量b如果想要能够被矩阵空间A表示,就不能维度太高,至少要小于等于矩阵空间A的维度。因为高维空间能够表示低维空间的向量,反之则不行。
那么为什么解的数量又和n有关呢?如果系数矩阵的秩等于n的话,那么空间中一个向量只能有一种表示方法,就算观察这个向量的矩阵空间发生了变化,但只要维度不变,那么表示方法就一定是唯一的。这就是为什么系数矩阵的秩等于n时,方程组只有唯一解的原因。
最后一种情况,系数矩阵的秩小于n,则有无数解。可能有人会问刚刚不是说低维空间找不到向量表示高维空间的向量吗,那为什么系数矩阵小于n还会有解呢,而且还有无数个解?
答案就是这里在单位矩阵空间下描述的那个“高维向量”b其实根本就不是一个真正的高维向量,而是一个和系数矩阵空间维度相等的向量。不信你把增广矩阵化成行阶梯的形式看看,b向量里面肯定会出现至少一个0,这时候它就原形毕露了。
至于为什么解的数量是无数个。举个例子,很多个三维向量(1,1,0)、(1,1,1)、(1,1,2)……他们在xoy平面内的投影其实都是向量(1,1)。这些向量合起来可以直接用一个更低维的向量表示。这里的解有无数个,其实是因为这无数个解最终都只能合成完全相同的某一个低维向量。本质上还是只有一个低维的解向量。
总结一下矩阵和矩阵的秩是有两种理解方式的:
1、矩阵描述的是跨越维度的线性变换,最终会将向量变换到哪个维度就取决于矩阵的秩。
2、矩阵本质上描述的是一个空间,而这个空间的维度就是矩阵的秩。
先说这么多,想到再更新。有什么疑问欢迎留言评论区。
9. 投影矩阵的定义是什么
ab矩阵等于0的五个结论是AB=O(零矩阵)是|A||B|=0的充分不必要条件,不是等价的。所以AB≠O时可以有|A||B|=0
1.列如:A=[1,1],B=[1,-1]'(注意,此处有转置,B是列向量)。
满足AB=0,B≠0吧。
2.结论①是显然的,因为X=B≠0就是AX=0的非零解。
结论②是充分非必要条件,A=0当然成立,但是也存在A≠0的情况,所以要通过秩等方式去研究这个A。
3.行列式等于0的条件很松,只要不满秩就可以。是个超大集合。举个例子,3维中考虑到xy平面的投影矩阵,他作用的结果是一个面。高维中,只要有某一维上投影是0,行列式就为0。n维矩阵空间的子集中,0~n-1维子空间在n维中都是不满秩的。
总结:零矩阵的条件非常紧,他只是一个点。他是0维的。
10. 矩阵的投影矩阵
不存在!月球矩阵原来的含义是:月球是一个伪装成卫星的巨型投影仪,有12个投影单元,能够投影3D维度的物体,人类所生活的世界被月球投影所包围,因为机器坏了8个,只有3个能用,所以经常出现某些记忆混乱和空间泄露。后来人们用月亮矩阵来形容对人的监禁。
查看更多关于【单反相机入门教程】的文章