本系列文章由birdlove1987编写,转载请注明出处。
文章链接:
矩阵是3D数学的重要基础,它主要用来描写叙述两个坐标系统间的关系,通过定义一种运算而将一个坐标系中的向量转换到还有一个坐标系中。
在线性代数中,矩阵就是一个以行和列形式组织的矩形数字块。向量是标量的数组,矩阵则是向量的数组。
矩阵的维度和记法
矩阵的维度被定义为它包含了多少行和多少列,一个 r * c 矩阵有 r 行、c 列。
矩阵的记法:
mij表示M的第i行第j列元素。
矩阵的下标从1開始,所以第一行和第一列都用数字1。
方阵
行数和列数同样的矩阵称作方阵。
方阵的对角线元素就是方阵中行号和列号同样的元素。其它元素均为非对角线元素。简单的说方阵对角线元素就是方阵对角线上的元素。
假设全部非对角线元素都为0,那么称这样的矩阵为对角矩阵。
单位矩阵是一种特殊的对角矩阵。
n维单位矩阵记作In。是n*n矩阵。对角线元素为1,其它元素为0。
单位矩阵非常特殊。由于它是矩阵的乘法单位元。其基本性质是用随意一个矩阵乘以单位矩阵。都将得到原矩阵。所以在某种意义上。单位矩阵的作用就像1对于标量的作用。
向量与矩阵
矩阵的行数和列数能够是随意正整数。当然也包含1。向量也能够看做是一行或是一列的矩阵。
一个n维向量能被当作1*n 矩阵或 n*1矩阵。1*n 矩阵被称作行向量,n*1矩阵被称作列向量。
ps:混合使用向量和矩阵时,必须特别注意向量究竟是行向量还是列向量。
矩阵的转置(当年学习线性代数的时候,非常是认为这个转置什么的没什么用处。。
。
)
一个 r*c矩阵 M。M的转置记作 ,是一个 c*r矩阵,它的列由M的行组成。形式上可理解为,沿着矩阵的对角线翻折。
对于向量来说,转置将使行向量变成列向量,使列向量成为行向量。
关于矩阵转置的引理:
(1)对于随意矩阵M。=M。从还有一个方面来说,将一个矩阵转置后,再转置一次,便会对到原矩阵。
(2)对于随意对角矩阵D。都有=D,包含单位矩阵 I 也如此。
标量和矩阵的乘法
矩阵M能和标量k相乘,结果是一个和M维数同样的矩阵。
矩阵乘法
记 r*n矩阵 A 与 n*c 矩阵B 的积 r*c矩阵 AB为 C 。
C的随意元素Cij等于A的第i行向量与B的第j列向量点乘的结果。
3*3矩阵乘法
ps:(1)随意矩阵M乘以方阵S,无论从哪边乘,都将得到与原矩阵大小同样的矩阵。假设S是单位矩阵,结果将是原矩阵M,即MI = IM = M。
(2)矩阵乘法不满足交换律,即AB≠BA。
(3)矩阵乘法满足交换律,即(AB)C=A(BC)。
-End-
參考文献:(1)《3D Math Primer for Graphics and Game Development》
(2)百度百科