组合变换

假设有一个立方体,这个立方体由8个顶点构成,我们希望将旋转、平移、缩放三个变换应用到这个立方体的每一个顶点。假设T为平移矩阵,S为缩放矩阵,R为旋转矩阵,Cij代表了立方的单个顶点,那么最简单的方式为:

  Cij*R*T*S.每个顶点都先乘以旋转矩阵,然后将结构在乘以平移矩阵,最后将结果乘以缩放矩阵。

  但是在3D开发中,我们要考虑到性能问题,不能进行频繁的矩阵运算,我们就需要找到一种方式,将旋转、

  平移和缩放三个变换矩阵变成一个矩阵。这样我们就从3次矩阵乘法运算变成了一次矩阵乘法运算。在这之前

  我们知道矩阵乘法的结合律,那么我们可以将上述方式改为:

  Cij*(RTS),然后,我们只需要将RTS预先算出来,得到最终变换矩阵M。这样我们将三个矩阵封装成了一个

  矩阵,这样非常有利于性能的提升。

posted @ 2018-01-28 22:22  gameDesigner  阅读(348)  评论(0编辑  收藏  举报