矩阵
乘法
假设,矩阵M1可以将A点变换到B点,而矩阵M2可以将B点变换到C点,M3 = M1*M2,那么M3可以将A点变换到C点。
点和矩阵相乘
点(x,y,z)可以使用一个1*3
的矩阵表示[x,y,z],那么这个矩阵可以同其他的3*3
的矩阵相乘,获得另一个1*3
的矩阵,这代表着一个点可以通过一个矩阵对其进行变换。
单位矩阵
单位矩阵是一个对角线元素为1,其他元素为0的矩阵,比如:
一个向量与单位矩阵相乘,这个向量不变。
缩放矩阵
缩放矩阵代表着向量与对应的数值相乘,缩放矩阵如下:
缩放矩阵中的数值可以为负数,当某一个元素值为负时,则代表着向量在这个轴上进行反转。
旋转矩阵
以下分别是沿x/y/z轴旋转的旋转矩阵:
利手,只在表现上影响旋转。旋转的表现为:以拇指指向旋转轴,四个手指的指向就是旋转的方向。
旋转矩阵和坐标系的关系
理解旋转矩阵的关键是矩阵的每一行都代表着一个坐标系的单位轴,这个坐标系就是以世界坐标系为起始,经过旋转获得的新的坐标系。而如果有一个点从原坐标系改为进入新的坐标系,同时保持坐标不变,那么在原坐标系上就相当于这个点也进行了与坐标系旋转行为相同的旋转。
旋转矩阵表示旋转后的坐标系,也可以用于旋转计算。
正交矩阵
正交矩阵是一个方阵,且它的各行都是单位向量且两两正交(垂直),各列都是单位矩阵且亮亮正交。
旋转矩阵是一个正交矩阵,它的每一行都表示一个笛卡尔坐标系的轴,可以将这三个轴看成一个坐标系,这个坐标系原本是在世界坐标系中,后来经过一系列按照某些轴的旋转所获得的坐标系。
正交矩阵的常用性质:
逆矩阵
矩阵乘以它的逆矩阵,结果为单位矩阵。所有仿射矩阵都有逆矩阵。
几何意义: 点A经过矩阵M变换为B,则B可以通过矩阵M的逆矩阵变换到A。
转置矩阵
把原来的矩阵以对角线为对称轴做反射。
正交矩阵(纯旋转)逆矩阵=转置矩阵,转置矩阵的计算更快。
若希望使用列矢量和使用行矢量两个系统进行交互,需要通过矩阵转置。