struct CATransform3D
{
CGFloat m11, m12, m13, m14;
CGFloat m21, m22, m23, m24;
CGFloat m31, m32, m33, m34;
CGFloat m41, m42, m43, m44;
};
// m11: 缩放
// m12: 切变
// m13: 动态X轴拉伸后恢复原形,正数的话左边有一层灰色蒙板,负数右边有一层灰色蒙板
// m14: 语文匮乏,找不到合适形容词,不过这个效果很渣,不建议使用
// m21: X轴切变
// m22: Y轴缩放
// m23: Y轴拉伸后又恢复原形
// m24: X轴折叠
// m31: 翻转
// m32: 透视效果,需配合旋转
// m33: 透视效果,需配合旋转
// m34: 透视效果,系数需较小,不然效果不好看,需配合旋转
// m41: X轴平移
// m42: Y轴平移
// m43: 效果不明显,不过我估计是Z轴平移
// m44: 整体缩小
// CATransform3DScale (CATransform3D t, CGFloat sx, CGFloat sy, CGFloat sz) sx sy sz : XYZ轴缩放 范围:0 ~ 1
// CATransform3DRotate (CATransform3D t, CGFloat angle, CGFloat x, CGFloat y, CGFloat z) : XYZ轴旋转弧度的角度
// CATransform3DTranslate (CATransform3D t, CGFloat tx, CGFloat ty, CGFloat tz) : XYZ轴偏移位置