变换
仿射变换
“仿射”的意思是无论变换矩阵用什么值,图层中平行的两条线在变换之后任然保持平行
1 | CGAffineTransformMakeRotation(CGFloat angle) |
iOS 变换函数使用弧度为单位
库中提供了两个宏定义做弧度角度转换
1 |
混合变换
1 | CGAffineTransformRotate(CGAffineTransform t, CGFloat angle) |
混合两个已存在的变换矩阵
1 | CGAffineTransformConcat(CGAffineTransform t1, CGAffineTransform t2); |
变换的顺序会影响最终的结果,也就是说旋转之后的平移和平移之后的旋转结果可能不同。
阅读实例
3D变换
1 | CATransform3DMakeRotation(CGFloat angle, CGFloat x, CGFloat y, CGFloat z) |
iOS上的坐标系及绕x、y、z 轴旋转
透视投影
CATransform3D的透视效果通过一个矩阵中一个很简单的元素来控制:m34。m34用于按比例缩放X和Y的值来计算到底要离视角多远。
m34的默认值是0,我们可以通过设置m34为-1.0 / d来应用透视效果,d 通常为 500-1000