Matrix

作者: couriravant | 来源:发表于2020-10-10 16:04 被阅读0次

pre : M‘ = MA M在前
post : M’ = A
M M在后

可以理解为靠右的矩阵操作会先执行(么有为什么,矩阵乘法算出来就是这个结果),比如要实现先缩放,再平移,那么要让缩放矩阵在M矩阵之前,平移矩阵在M矩阵之后,那么实现方式有以下几种:

//pre
Matrix m = new Matrix();
m.reset();
m.preTranslate(tx, ty);
m.preScale(sx, sy);
//post
Matrix m = new Matrix();
m.reset();
m.postScale(sx, sy); 
m.postTranslate(tx, ty);
//先post,再pre
Matrix m = new Matrix();
m.reset();
m.preScale(sx, sy);  
m.postTranslate(tx, ty);
//先pre,再post
Matrix m = new Matrix();
m.reset();
m.preTranslate(tx, ty);
m.postScale(sx, sy); 
//先post,再pre,因为只有两步,所以交换不影响结果
Matrix m = new Matrix();
m.reset();
m.postTranslate(tx, ty);
m.preScale(sx, sy); 

平时写代码,如果涉及到组合,一般可以用post按顺序写,都用post,比较好理解。
refer:https://juejin.im/entry/6844903646946295816

相关文章

网友评论

      本文标题:Matrix

      本文链接:https://www.haomeiwen.com/subject/yqkjpktx.html