3D数学中,关于矩阵变换意义

矩阵是如何变换向量的?

                    原创作者:金庭波


        通俗的理解,想把一个物体变大变小,将此物体乘一个系数就行了;这个物体在数学中是用向量表示的;那就变成了向量乘以一个系数就行了。 但这个物体它是有维度的,所以它的各个维度的系数都不一样,所以最好的办法是用一个矩阵来表示它各个方面的系数。这样,物体的变化就变成了向量与矩阵乘的结果了。

        一个向量v=[x y z],它可以写成它的基向量的线性组和形式:v=xp+yq+zr;
        这样,v的线性变换就成了基向量p、q、r的线性变换了。
        基向量是与坐标系联系在一起的,比如:
  p=[1 0],就表示2D坐标系,在x轴上为1,在y轴上为0;
  p=[1 0 0],就表示3D坐标系,在x轴上为1,y轴上为0,z轴上为0;
  q、r基向量与坐标系的联系同理。

基向量又是如何与矩阵联系起来的呢?
        矩阵其实是一个数组容器,一个3D空间的基向量p,q,r当然可以放在矩阵中:
      |  p  |    |  px  py  pz  |
 M=|  q  | = |  qx  qy  qz  |
      |   r  |    |   rx   ry   rz  |

重点来了:矩阵又是如何把向量变换的呢?
只需要向量乘该矩阵就可以了,注意不能矩阵乘向量哦!因为它不支持交换律。
比如要把一个向量v=[x y z] 用M进行变换,就用v.M就可以了。

向量,你可以理解为一个物体的一个边或一个顶点之类的,这样向量就与物体联系起来了,向量的变换,其实就是物体变换了。


 

你可能感兴趣的:(金庭波,C++,cocos2d-x手机游戏编程,线性代数,算法)