我有矩阵.该矩阵表示阵列x和y坐标.例如
float[] src = {7,1,7,2,7,3,7,4};
Run Code Online (Sandbox Code Playgroud)
我需要将此坐标旋转到90度.我用 android.graphics.Matrix
这样的:
float[] src = {7,1,7,2,7,3,7,4};
float[] dist = new float[8];
Matrix matrix = new Matrix();
matrix.preRotate(90.0f);
matrix.mapPoints(dist,src);
Run Code Online (Sandbox Code Playgroud)
操作后旋转我有下一个值的数组
-1.0 7.0 -2.0 7.0 -3.0 7.0 -4.0 7.0
Run Code Online (Sandbox Code Playgroud)
它适用于360度的区域.如何在0到90范围内旋转?我需要在这个区域设置圆心,但是怎么样?
谢谢.
使用setRotate而不是preRotate
setRotate将矩阵初始化为旋转矩阵
preRotate将当前矩阵乘以旋转矩阵M` = M x R
因为您使用单位矩阵调用默认构造函数.
记住矩阵乘法不是可交换的.
归档时间: |
|
查看次数: |
13760 次 |
最近记录: |