矩阵的乘法满足以下运算律:
- 结合律: A(BC) = A(BC)
- 左分配律: (A+B)C = AC + BC
- 右分配律: C(A+B) = CA + CB
- 矩阵乘法不满足交换律。
最后一条就是matrix前乘和后乘不一样的原因
前乘-> matrix.preScale(0.5f, 0.5f) 的意思是
matrix * [(0.5f, 0.5f)的矩阵]
后乘->matrix.postScale(0.5f, 0.5f) 的意思是
[(0.5f, 0.5f)的矩阵] * matrix
如果多个矩阵相乘,后面的偏移等操作都会受到前面操作的影响,原来搞过一次在scale后进行偏移,偏移的值还是以初始矩阵的基础算的,导致显示结果一直不对。