一、前言
名词解释
仿射变换,又称仿射映射,是指在几何中,一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间。
在学习动画之前,需要先明确几个基本概念,首先是图层和视图。
我们知道视图是有层级关系的,从UIWindow->UIView->SubView等
视图(UIView)的职责就是创建和管理图层(CALayer),视图是对图层的封装,真正在iPhone屏幕上面显示和做动画的其实都是视图所关联的图层。
视图和图层的关系是一一对应的
1、CALayer能做什么
-
图形阴影,边框,圆角等。
-
仿射变换。
-
3D变换。
-
透明遮罩,多级非线性动画...
2、坐标系
2.0、基础
UIKit - y轴向下
Core Graphics(Quartz) - y轴向上
OpenGL ES - y轴向上Core Graphics(Quartz)一个基于2D的图形绘制引擎
而OpenGL ES是iPhone SDK的2D和3D绘制引擎,它使用左手坐标系,它的坐标系也是y轴向上的,
如果不考虑z轴,在二维下它的坐标系和Quartz是一样的。
2.1、在图层中也有frame,bounds,不同的是,图层没有视图中的center,而是多了个position。
2.2、三维坐标系
3、变换
3.1、仿射变换
通过设置UIView的transform属性可以实现图层的二维旋转,缩放以及平移,这一系列的变换归类为仿射变换,如图8所示就是多次复合变换,包括了旋转,缩放,平移。
3.2、3D变换