组合变换

Posted gameDesigner

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了组合变换相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

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

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

以上是关于组合变换的主要内容,如果未能解决你的问题,请参考以下文章

组合变换

Tensorflow之Tensor形状变换和剪切组合

生成组合仿射变换矩阵,裁剪+缩放+平移+斜切+旋转

生成组合仿射变换矩阵,裁剪+缩放+平移+斜切+旋转

二维图形变换

ACR095 删一个求中位数 贪心求最大组合数 行列变换模拟(搜索)