3D 矩阵

来源:互联网 发布:校园网system占用网络 编辑:程序博客网 时间:2024/04/30 07:11

矩阵--数学定义:在线性代数中,矩阵就是以行和列形式组织的矩形数字块。向量是标量的数组,矩阵则是向量的数组。

方阵:行数和列数相同的矩阵称作方阵。方阵的对角线元素就是方阵中行号和列号相同的元素。

对角矩阵:所有非对角线元素都为0.

单位矩阵:是一种特殊的矩阵。因为它是矩阵的乘法单元。其基本性质是用任意一个矩阵乘以单位矩阵,都将得到原矩阵。

向量作为矩阵使用:矩阵的行数和列数可以是任意正整数当然也包括1。我们已经见过一行或一列的矩阵了---向量。一个N维向量被挡住1*N矩阵或N*1矩阵。1*N矩阵称作行向量,N*1矩阵称作列向量。

转置:考虑一个R*C的矩阵M,它的转置是C*R.

3D行列向量和3*3矩阵相乘:行向量左乘矩阵时,结果是行向量;列向量右乘矩阵时,结果是列向量。另外两种组合式不允许的,不能用行向量右乘矩阵,列向量左乘矩阵。

关于矩阵和向量相乘的注意事项:

     结果向量中的每个元素都是原向量与矩阵中单独行或列的点积。

    矩阵中的个元素决定了输入向量中特定元素在输出向量中占的比重

     矩阵一向量乘法满足对向量加法的分配率

行向量和列向量:

有多条理由支持我们使用使用行向量而不是列向量

      在文字中使用行向量的形式更好些

      更重要的是:当讨论怎样用矩阵乘法事项坐标系转换时向量左乘矩阵的形式更加方便。采用这种方法,转换读起来就像句子一样易于理解,当转换多于一次时这尤为重要。例如,用矩阵A,B和C转换向量V,用行向量记法记作VABC。注意,矩阵按转换顺序从左往右列出。如果使用列向量,矩阵放在左边,转换从右往左发生,这种情况下应记作CBAv,

      DriectX使用列向量

那些偏向使用列向量的人的依据是:

     等式中使用列向量形式更好

     线性代数书中多使用列向量

     多本计算机图形学”圣经“使用列向量

     OpenGL使用列向量

矩阵-----几何解释

 一般来说,方阵能描述线性变换。线性变换保留了直线的同时,其他的几何性质如长度、角度、面积和体积可能就被变换改变了。从非技术意义上说,线性变换可能是”拉伸“坐标系,但不会”弯曲“或”卷折“坐标系。下面是一组非常有用的变换:

      旋转

      缩放

      投影

       镜像

      仿射

矩阵的每一行都能解释为转换后的基向量

     有了一种简单的方法来形象化解释矩阵所代表的变换

     有了反向建立矩阵的可能----给出一个期望的变换(如旋转、缩放等),能够构造一个矩阵代表此变换。我们要坐的一切就是惊声尖叫基向量的变换,然后将变换后的基向量填入矩阵。

总结:

     方阵的行能被解释为坐标系的基向量

     为了将向量从原坐标系变换到新坐标系,用它乘以一个矩阵。

     从原坐标系到这些基向量定义的新坐标系的变换是一种线性变换。线性变换保持直线和平行线,但角度、长度、面积或体积可能会被改变。

如果矩阵A的列数和矩阵B的行数不匹配,则乘法AB无意义。

 矩阵和线性变换:

变换物体与变换坐标系:将物体变换一个向量等价于将坐标系变换一个相反的量

旋转:在2D环境中,物体智能绕某个点旋转,因为现在暂不考虑平移,这里我们进一步限制物体,使其只能绕原点旋转。2D中绕原点旋转只有一个参数:角度,它描述了旋转量。逆时针旋转经常被认为正方向,顺时针是负方向(不是必须的)。

3D中绕坐标轴的旋转

  在3D场景中,绕轴旋转而不是点(此时,轴指的是旋转所绕的直线,不一定是笛卡尔坐标轴X,Y或Z)

缩放:我们可以通过比例因子K按比例变大或缩小缩放物体。如果在各方面同比例缩放,并且沿原点”膨胀“物体,那么就是均匀缩放。均匀缩放可以保持物体的角度和比例不变。如果需要”压挤“或”拉伸“物体,在不同的方向应用不同的因子即可,这称作非均匀缩放。非均匀缩放时,物体角度发生变化。视各方面缩放的因子不同,长度、面积、体积的变化因子也不同。沿坐标轴的缩放,最简单的缩放方法时沿着每个坐标轴应用单独的缩放因子。缩放是沿着垂直的轴(2D中)或平面(3D中)进行的。

正交投影:一般来说,投影意味着降维操作。有一种投影方法是在某个方向上用零作为缩放因子。这种情况下,所以点诶拉平至垂直的轴(2D)或平面(3D)上。这种类型的投影称作正交投影,或则平行投影,因为原来的点到投影的直线相互平行。另一种投影叫:透视投影。

镜像:也叫反射,其作用是将物体沿直线(2D中)或平面(3D中)”翻折“

切变:切变是一种坐标系”扭曲“变换,非均匀地拉伸它。切变的时候角度会发生变化,但令人惊奇的是面积和体积却保持不变。基本思想是将某一坐标的乘积加到另一个上。切变是一种很少用到的变换,它也被称作扭曲。包含切变与缩放(均匀或非均匀)的变换通常很容易包含旋转与非均匀缩放的变换发生混淆。

变换的组合

变换的分类:当讨论一般意义上的变换时,我们将使用类似的术语:映射或函数。在最一般的意义上,映射就是一种简单的规则,接受输入,产生输出。

线性变换

放射变换:放射变换是指线性变换后接着平移

可逆变换

等角变换:如果变换前后量向量夹角的大小和方向都不变,该变换就是等角的

正交变换:术语'正交”用来描述具有某种性质的矩阵。

刚体变换:刚体变换只改变物体的位置和方向,不包括形状。所以长度、角度、面积和体积都不变。平移和旋转式仅有的刚体变换,镜像并不被认为是刚体变换。刚体变换也被称为正规变换。

变换类型小结

线性

仿射

可逆

等角

正交

刚体

平移

旋转

均匀缩放

非均匀缩放

正交投影

镜像

切变






原创粉丝点击