Android中的Matrix类介绍
2017-07-27 19:49
来源:未知
点击数:            

  Android中的Matrix类是一个比较简单的3x3的3阶矩阵,结构如下:

  0, 0, 1 }; 其中A为旋转的角度,如需旋转操作只需将角度传入上述矩阵即可。

  同时由于矩阵对象最后的状态是进过所有变换后运算获得的矩阵,所有如果你需要重新使用该矩阵又不想保留之前的状态时,需要调用reset()重置矩阵的状态,以免发生错误。同时需要注意的是Matrix类的setX方法都会默认调用reset()进行矩阵的重置,所以在实现组合变换时一点要注意不要在变换的中间调用setX方法,这样setX方法之前的变换都被忽略了。

  有了上诉描述了,所谓的矩阵变换主要就是针对这个3阶矩阵进行算术运算了!如平移操作从(0,0)平移到(10,120)则直接将上述矩阵的MSCALE_X=10和MSCALE_Y=120即可Matrix.setValues(matrix数组)。这样Canvas就可以使用该矩阵进行绘图操作,实现平移。

  同时我们知道矩阵的乘法是不对称的,即A*B !=B*A,这样的话就涉及到矩阵乘法中的左乘和右乘了,同样Android中Matrix中也实现了左乘和右乘的函数,所有postX均为左乘运算,所有preX均为右乘运算。这点在我们使用Matrix进行组合变换时需要注意的问题。

  Matrix顾名思义就是大学的线性代数中的矩阵,关于矩阵的基本知识和加减乘除运算这里不再赘述。

Copyright © 2012-2013 .All rights reserved.http://www.elthib.com 版权所有