Update
This commit is contained in:
@@ -88,28 +88,12 @@ $$)
|
||||
> **的确,更改MPERSP_2的值能够达到类似缩放的效果,但这是因为齐次坐标的缘故,并非这个参数的实际功能。**
|
||||
|
||||
|
||||
## 三、Matrix优缺点
|
||||
## 三、Matrix详解
|
||||
|
||||
Matrix在view、canvas、path、bitmap等很多地方都有应用,可以说运用十分广泛,优点突出,但也存在一定但缺点,下面简要介绍一下Matrix相关优缺点。
|
||||
|
||||
### 优点
|
||||
|
||||
* 计算方便,利用矩阵的计算法则可以方便的将一个坐标系转换为另一个坐标系中。
|
||||
* 存储量小,Matrix仅有九个数值,却包含了大部分画布的状态信息。
|
||||
* 方便复用,如果有重复的需要相同状态的地方,只需要构造好一个Matrix,设置给不同的画布即可保证每一个画布的状态都是相同的,无需给每一个画布都重新构造状态。另外,如果一张图片需要以不同的状态展示,可以只放一张资源图片,然后构造出不同的Matrix进行设置即可。
|
||||
|
||||
### 缺点
|
||||
|
||||
* 稍有门槛,Matrix计算运用了线性代数的知识,有一定的门槛,虽然封装了比较好的方法,但对于大部分人来说,pre、post、set有啥区别还是傻傻分不清楚,更不用说仿射,投影,齐次坐标这些让人头大的概念。
|
||||
* 容易混淆,Matrix的方法变换 和 Canvas的方法变换 稍微有所差别, 如果按照Canvas的变换方法直接构造Matrix,最后的结果可能会与你想象的有所差别。
|
||||
Matrix 是一个矩阵,肯定会涉及到一些比较麻烦的理论知识,我会尽量用通俗易懂的方式来帮助大家理解它。
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Matrix 是一个矩阵,肯定会涉及到一些比较麻烦的理论知识,不过我会尽量用通俗易懂的方式来帮助大家理解它。
|
||||
|
||||
## 四大常用操作
|
||||
### 四大常用操作
|
||||
|
||||
我们之前在 [Canvas之画布操作](https://github.com/GcsSloop/AndroidNote/blob/master/CustomView/Advance/%5B3%5DCanvas_Convert.md) 中讲解过的四种画布操作(translate, scale, rotate, skew),这些操作的核心就是改变Matrix的数值,接下来我们看看这四种操作都会影响到哪些数值。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user