This commit is contained in:
sloop
2016-07-23 01:05:12 +08:00
committed by GitHub
parent 2728b4da97
commit 5a87381bfc

View File

@@ -24,11 +24,11 @@ $$)
它在我们在之前的很多文章中都提及过但并没有仔细的介绍过从本篇开始终于要正式介绍它了这个在2D和3D绘图中十分重要的角色Matrix(_本篇讲述的是graphics中的Matrix_) 它在我们在之前的很多文章中都提及过但并没有仔细的介绍过从本篇开始终于要正式介绍它了这个在2D和3D绘图中十分重要的角色Matrix(_本篇讲述的是graphics中的Matrix_)
### Matrix 的翻译过来是矩阵模型。和其释义相同Matrix是一个矩阵其作用则是一个模型一个控制视图状态的模型。 ### Matrix 的翻译过来是矩阵模型。和其释义相同Matrix是一个矩阵其作用则是一个模型一个控制视图状态的模型,主要功能是坐标映射,数值转换
Matrix 作为一个模型,主要功能就是数值转换,将一个坐标系中的点映射到另一个坐标系中,举个栗子: 我的的手机屏幕作为物理设备,其坐标系是从左上角开始的,但我们在开发的时候通常不会使用这一坐标系,而是使用内容区的坐标系。
我的的手机屏幕作为物理设备,其坐标系肯定是从左上角开始的,而且是不会改变的,但我们在开发的时候通常不会使用这一坐标系,而是使用内容区的坐标系,通常情况下我们的内容区和屏幕坐标系还相差一个通知栏加一个标题栏的距离所以两者是不重合的我们在内容区的坐标系中的内容最终绘制的时候肯定要转换为实际的屏幕坐标系来绘制Matrix在此处的作用就是转换这些数值。 以下图为例我们的内容区和屏幕坐标系还相差一个通知栏加一个标题栏的距离所以两者是不重合的我们在内容区的坐标系中的内容最终绘制的时候肯定要转换为实际的屏幕坐标系来绘制Matrix在此处的作用就是转换这些数值。
> >
假设通知栏高度为20像素导航栏高度为40像素,那么我们在内容区的(00)位置绘制一个点,最终就要转化为在实际坐标系中的(060)位置绘制一个点。 假设通知栏高度为20像素导航栏高度为40像素,那么我们在内容区的(00)位置绘制一个点,最终就要转化为在实际坐标系中的(060)位置绘制一个点。