矩阵
1.一个普通的矩阵:
2.单位矩阵
单位矩阵就是右斜角全是1,其他位置是0的矩阵。一个3×3的单位矩阵:
3.Transposition(转换)
经常看到一个矩阵的右上角有个T的符号,就是Transposition的首字母。
4.矩阵与数相乘
就是把这个数跟矩阵中的每个数都相乘。
5.两个矩阵相乘
1.首先对于两个矩阵是否可以相乘是有要求的,假设要计算A矩阵乘以B矩阵,那么A矩阵的行数要等于B矩阵的列数才行。
图形化矩阵,矩阵到底长什么样
1.向量的样子
我们知道一个向量很容易用图形的方式来表示,无论是2D向量还是3D向量,下面就是一些已经介绍过的向量。
2.矩阵到底长什么样?
矩阵长什么样?其实这个问题一直也有过,只是书上都没介绍,就觉得矩阵可能是无法用图像来形容的。也没去深究。但是看了《游戏和图形学的3D数学入门教程》这书后,才豁然开朗。
矩阵在我看来主要用于相乘。一个物体乘以一个矩阵,可能会有这个几个变化:
1.在2D或3D中的位置发生变化。
2.在2D或3D中旋转了
3.在3D或3D中大小拉伸了。
也就是说,矩阵其实表示的是一个转换(Transformation)效果。怎样才可以看到这个转换(Transformation)的效果,跟它相乘。The terms transformation and multiplication will be largely synonymous(矩阵中,转换和相乘差不多是一个同义词).
再来看一张实物图:
再来看一张3D中的一个水壶与矩阵相乘的变化图。
3.矩阵到底长什么样?
矩阵是无法直接用图形来描述的,它表示是一个转换的度量,只有跟它相乘才可以看的出样子来。
矩阵的旋转
1.2D中的旋转
如果你要计算一个向量逆时针旋转一定的度数后得到的向量,很多书都只会给一个公式。类似下面的包含sin,cos的矩阵。跟这个相乘就行了。其实看下面这张图就会很清晰。
2.3D中的旋转
首先要说明的是我们这里用的是左手坐标,Z轴是朝里的。DirectX中也是左手坐标。左右手坐标旋转的相乘矩阵是不一样的!有上面的2D旋转得到的规律,我们用于3D旋转中。
2.1绕x轴旋转
上面这个矩阵的作用就是,如果你要让一个东西在3D中绕x轴旋转一定度数,那么跟上面这个矩阵相乘就行了。就是还要懂矩阵相乘
2.2绕Y轴旋转
上面这个矩阵的作用就是,如果你要让一个东西在3D中绕y轴旋转一定度数,那么跟上面这个矩阵相乘就行了。就是还要懂矩阵相乘
2.3绕Z轴旋转
上面这个矩阵的作用就是,如果你要让一个东西在3D中绕z轴旋转一定度数,那么跟上面这个矩阵相乘就行了。就是还要懂矩阵相乘