首页 > 代码库 > 3D数学--学习笔记(六):我对矩阵的一些简单理解总结

3D数学--学习笔记(六):我对矩阵的一些简单理解总结

1.矩阵的行列式:

任意矩阵中都存在一个标量,称作矩阵的行列式,这里该值记为A。

2D中,A等于以基向量为两边的平行四边形的有符号面积。有符号面积是指如果平行四边形相对于原来的方位“翻转”,那么面积为负。

3D中,A等于以变换后的基向量为三边的平行六面体的有符号体积。3D中,如果变换使得平行六面体“由里向外”翻转,则行列式变负。

  A的大小和矩阵变换导致的尺寸改变有关。IAI和面积(2D)、体积(3D)的改变相关。

A的符号则说明了变换矩阵是否包含镜像。

A还能对矩阵进行分类。若A = 0,那么该矩阵包含投影,若A<0,则该矩阵包含镜像。

2.矩阵的逆:

矩阵的逆在几何上非常有用,因为它使得我们可以计算变换的“反向”或“相反”变换--能“撤销”原变换的变换。

3.正交矩阵:

若方阵M是正交的,则当且仅当M与它的转置矩阵MT的乘积等于单位矩阵。

正交矩阵对我们非常有用,因为它可以计算矩阵的逆矩阵。

4.矩阵正交化:

为什么需要“矩阵正交化”呢?

因为有时候设备获取的数据不准确或者浮点数的运算导致出现差错,于是就得到了“坏数据”,这对矩阵的运算是非常不利的,这种错误称为“矩阵蠕变”。这些情况下,我们就需要矩阵正交化,得到一个正交矩阵,这个矩阵要尽可能的和原矩阵保持相同(希望如此)。

5.矩阵形式的优缺点:

优点:

1.矩阵最重要的性质就是能在物体和惯性坐标系间旋转向量,这是其他描述方法做不到的。为了旋转向量,必须将方位转换成矩阵形式。

2.利用矩阵可以“打破”嵌套坐标系间的关系。

3.由于矩阵的某些性质,使得很多计算很方便。如用矩阵形式表达角位移时,逆矩阵就是“反”角位移。因为旋转矩阵是正交的,所以这个计算只是简单的矩阵转置运算。

缺点:

1.矩阵运算会占用大量内存。显然,矩阵用9个数来保存方位,这是很耗资源的,其实只需要3个就够了。假设现在做的是一个人的模型动画,该模型被分解为15个块。动画的完成严格的控制着子块和父块之间的相对方位。假设每一帧要保存一个方位,动画频率为15Hz,这意味着每秒要保存255(15*15)个方位。使用矩阵和32位浮点数,每一帧将有8100字节(32位,即一个数4字节,矩阵有9个数,于是一个矩阵用的字节数:9*4 = 36.又有255个方位要保存,即255个矩阵,255*36 = 8100字节),而使用欧拉角,同样的数据只需2700字节(因为欧拉角只用3个数就可以了!)。

2.矩阵对于人们来说,理解不够直观!

3.矩阵有可能是病态的,因为矩阵使用9个数,其实只需要3个数就够了。即,矩阵带有六阶冗余。描述方位的矩阵必须满足6个限制条件。行必须是单位向量,而且他们必须互相垂直。由于限制多,所以如果有数值异常就会导致矩阵运算出问题出现非预期行为。