Android:我如何与'Matrix.mapPoints(float [] points)'相反?

时间:2014-10-10 21:20:08

标签: android matrix game-engine

如果我有一个点和矩阵:

float point[] = new float[]{x,y};
Matrix matrix = new Matrix();

并致电:

matrix.mapPoints(point);

我怎样才能扭转matrix.mapPoints(point)point的影响?

这不是我将使用答案的实际应用程序,但对此的答案将适用于我需要的。

感谢您的帮助。

1 个答案:

答案 0 :(得分:7)

如果您不希望yourMatrix更改

 Matrix inverseCopy = new Matrix();
 if(yourMatrix.invert(inverseCopy)){
      inverseCopy.mapPoints(transformedPoint);
      //Now transformedPoint is reverted to original state.
 }

如果您想要yourMatrix更改

 if(yourMatrix.invert(null)){
      yourMatrix.mapPoints(transformedPoint);
      //Now transformedPoint is reverted to original state.
 }
如果matrix.invert()无法转换,则

false会返回matrix。如果您的matrix无法倒置,则无法将您的积分恢复为原始状态。