This commit is contained in:
sloop
2016-07-24 02:53:41 +08:00
committed by GitHub
parent 27f613768d
commit bb6329ce5c

View File

@@ -96,16 +96,23 @@ $$)
Matrix 是一个矩阵,肯定会涉及到一些比较麻烦的理论知识,我会尽量用通俗易懂的方式来帮助大家理解它。 Matrix 是一个矩阵,肯定会涉及到一些比较麻烦的理论知识,我会尽量用通俗易懂的方式来帮助大家理解它。
在讲解之前我们先简单的理解几个概念和其作用。 我们先简单的理解几个概念和其作用。
### 1.齐次坐标 ### 1.齐次坐标
* 作用: 用于区分坐标和向量,方便进行仿射变换。 * 作用: 方便区分坐标和向量,方便进行仿射变换。
* 摘要: 在数学中我们的点和向量都是这样表示的(x, y),两者看起来一样,我们人可以根据上下文信息区分这是点还是向量,而计算机则无法区分,为此我们增加了一个标志位来让计算机也可以区分它们,增加时候看起来是这样: <br/> * 摘要: 在数学中我们的点和向量都是这样表示的(x, y),两者看起来一样,我们人可以根据上下文信息区分这是点还是向量,而计算机则无法区分,为此我们增加了一个标志位来让计算机也可以区分它们,增加时候看起来是这样: <br/>
**点(x : y : 1) 向量(x : y : 0)**<br/> **点(x : y : 1) 向量(x : y : 0)**<br/>
你可能注意到了,我将分隔符换成了冒号,这是因为齐次坐标具有等比的性质,(2:3:1)、(4:6:2)...(2N,3N,N)表示的均是(2,3)这一个点。(这也是为什么会产生将MPERSP_2解释为scale这一误解了) 你可能注意到了,我将分隔符换成了冒号,这是因为齐次坐标具有等比的性质,(2:3:1)、(4:6:2)...(2N,3N,N)表示的均是(2,3)这一个点。(**这也是为什么会产生将MPERSP_2解释为scale这一误解了**)
### 2.仿射变换
* 作用: 仿射变换其实是线性变换和平移变换的叠加其实我们之前了解过的缩放错切旋转本质上都属于线性变换。对于我们android开发者而言仿射变换对应的就是常见的四种画布操作(平移,旋转,缩放,错切)。
### 3.线性变换
#### a.缩放
###
### 四大常用操作 ### 四大常用操作