Update value compute

This commit is contained in:
sloop
2016-08-08 11:18:07 +08:00
parent a3d1b1e123
commit d8e8d9eb56

View File

@@ -137,7 +137,7 @@ void mapPoints (float[] dst, float[] src)
void mapPoints (float[] dst, int dstIndex,float[] src, int srcIndex, int pointCount) void mapPoints (float[] dst, int dstIndex,float[] src, int srcIndex, int pointCount)
``` ```
计算一组点基于当前Matrix变换后的位置(由于是计算点所以参数中的float数组长度一般都是偶数的)。 计算一组点基于当前Matrix变换后的位置(由于是计算点所以参数中的float数组长度一般都是偶数的,若为奇数,则最后一个数值不参与计算)。
它有三个重载方法: 它有三个重载方法:
@@ -171,14 +171,55 @@ before: [0.0, 0.0, 80.0, 100.0, 400.0, 300.0]
after : [0.0, 0.0, 40.0, 100.0, 200.0, 300.0] after : [0.0, 0.0, 40.0, 100.0, 200.0, 300.0]
``` ```
(2) `void mapPoints (float[] dst, float[] src)` src作为参数传递原始数值计算结果存放在dst中。 (2) `void mapPoints (float[] dst, float[] src)` src作为参数传递原始数值计算结果存放在dst中src不变
``` 如果原始数据需要保留则一般使用这种方法。
示例:
``` java
// 初始数据为三个点 (0, 0) (80, 100) (400, 300)
float[] src = new float[]{0, 0, 80, 100, 400, 300};
float[] dst = new float[6];
// 构造一个matrixx坐标缩放0.5
Matrix matrix = new Matrix();
matrix.setScale(0.5f, 1f);
// 输出计算之前数据
Log.i(TAG, "before: src="+ Arrays.toString(src));
Log.i(TAG, "before: dst="+ Arrays.toString(dst));
// 调用map方法计算
matrix.mapPoints(dst,src);
// 输出计算之后数据
Log.i(TAG, "after : src="+ Arrays.toString(src));
Log.i(TAG, "after : dst="+ Arrays.toString(dst));
``` ```
结果:
```
before: src=[0.0, 0.0, 80.0, 100.0, 400.0, 300.0]
before: dst=[0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
after : src=[0.0, 0.0, 80.0, 100.0, 400.0, 300.0]
after : dst=[0.0, 0.0, 40.0, 100.0, 200.0, 300.0]
```
(3) `void mapPoints (float[] dst, int dstIndex,float[] src, int srcIndex, int pointCount)` 可以指定只计算一部分数值。 (3) `void mapPoints (float[] dst, int dstIndex,float[] src, int srcIndex, int pointCount)` 可以指定只计算一部分数值。
示例:
``` java
```
结果:
```
```
**2.mapRadius** **2.mapRadius**