Java Matrix.preRotate()| Matrix.setRotate()| Matrix.postRotate()转换在Android中的工作原理

Java Matrix.preRotate()| Matrix.setRotate()| Matrix.postRotate()转换在Android中的工作原理,java,android,graphics,opengl-es,Java,Android,Graphics,Opengl Es,至于far Matrix.preTranslate(浮点dx,浮点dy)的工作原理如下(以数学形式): preScale(浮点sx,浮点sy)的工作原理如下(以数学形式): 和矩阵。preSkew(浮点kx,浮点ky)工作于以下行: [MSCALE_X MSKEW_X MTRANS_X] [1 MSKEW_X 0] [MSKEW_Y MSCALE_Y MTRANS_Y] * [MSKEW_Y 1 0] [MPERSP_0 MPERSP_1 MPERSP_2] [0 0 1] 那么矩阵.

至于far Matrix.preTranslate(浮点dx,浮点dy)的工作原理如下(以数学形式):

preScale(浮点sx,浮点sy)的工作原理如下(以数学形式):

和矩阵。preSkew(浮点kx,浮点ky)工作于以下行:

[MSCALE_X MSKEW_X MTRANS_X]   [1 MSKEW_X 0]
[MSKEW_Y MSCALE_Y MTRANS_Y] * [MSKEW_Y 1 0] 
[MPERSP_0 MPERSP_1 MPERSP_2]  [0 0 1]

那么矩阵.preRotate(float degrees)(或postRotate(float degrees)或setRotate(float degrees))在这种数学形式下是如何工作的呢?

与此完全相同,只是有一个旋转矩阵。什么是旋转矩阵(在数学形式下)?????。如果你不知道的话,先用谷歌搜索不会有什么坏处。就像这样,只要有一个旋转矩阵。什么是旋转矩阵(数学形式)?????。如果你不知道的话,先用谷歌搜索一下也没什么坏处。
[MSCALE_X MSKEW_X MTRANS_X]   [MSCALE_X 0 0]
[MSKEW_Y MSCALE_Y MTRANS_Y] * [0 MSCALE_Y 0] 
[MPERSP_0 MPERSP_1 MPERSP_2]  [0 0 1]
[MSCALE_X MSKEW_X MTRANS_X]   [1 MSKEW_X 0]
[MSKEW_Y MSCALE_Y MTRANS_Y] * [MSKEW_Y 1 0] 
[MPERSP_0 MPERSP_1 MPERSP_2]  [0 0 1]