struct CATransform3D { CGFloat m11, m12, m13, m14; CGFloat m21, m22, m23, m24; CGFloat m31, m32, m33, m34; CGFloat m41, m42, m43, m44; };
m12 --- y角度 m21 --- x角度
m34 --- 透视效果(就是近大远小) 负责z轴方向的translation(移动),m34= -1/D, 默认值是0,也就是说D无穷大,这意味layer in projection plane(投射面)和layer in world coordinate重合了。 D越小透视效果越明显。 所谓的D,是eye(观察者)到投射面的距离。 ps:要操做的这个对象要有旋转的角度,不然没有效果。固然,z方向上得有变化才会有透视效果
def --- [1 0 0 0; 0 1 0 0; 0 0 1 0; 0 0 0 1], 原始大小 [1 0 0 0; 0 1 0 0; 0 0 1 0; tx ty tz 1] --- 平移变换 [sx 0 0 0; 0 sy 0 0; 0 0 sz 0; 0 0 0 1] --- 缩放变换