CATransform3D

CA_EXTERN const CATransform3D CATransform3DIdentity // 一个无任何变换的默认矩阵常量,可用于使变换后的Layer恢复初始状态
CA_EXTERN bool CATransform3DIsIdentity (CATransform3D t) //判断是否为默认矩阵
CA_EXTERN bool CATransform3DEqualToTransform (CATransform3D a,
    CATransform3D b)//判断两个矩阵是否相同
CA_EXTERN CATransform3D CATransform3DMakeTranslation (CGFloat tx,
    CGFloat ty, CGFloat tz) //生成一个依照参数平移转换后的矩阵
CA_EXTERN CATransform3D CATransform3DMakeScale (CGFloat sx, CGFloat sy,
    CGFloat sz) //生成一个依照参数缩放后的
CA_EXTERN CATransform3D CATransform3DMakeRotation (CGFloat angle, CGFloat x,
    CGFloat y, CGFloat z)  //生成一个依照参数旋转后的矩
CA_EXTERN CATransform3D CATransform3DTranslate (CATransform3D t, CGFloat tx,
    CGFloat ty, CGFloat tz) //变换指定的矩阵
CA_EXTERN CATransform3D CATransform3DScale (CATransform3D t, CGFloat sx,
    CGFloat sy, CGFloat sz)//变换指定的矩阵
CA_EXTERN CATransform3D CATransform3DRotate (CATransform3D t, CGFloat angle,
    CGFloat x, CGFloat y, CGFloat z) //变换指定的矩阵
//需要注意的是x/y/z三个参数均为指定旋转轴,可选值0和1,0代表此轴不做旋转,1代表作旋转。
例如想对x、y轴做45度旋转,则angle = M____PI____4,x = 1,y = 1,z = 0。
另外,旋转角度为弧度制哦,不是角度制

CA_EXTERN CATransform3D CATransform3DConcat (CATransform3D a, CATransform3D b) //计算两个矩阵的乘积
CA_EXTERN CATransform3D CATransform3DInvert (CATransform3D t) //反转矩阵
CA_EXTERN CATransform3D CATransform3DMakeAffineTransform (CGAffineTransform m) //通过2D得到一个3D矩阵
CA_EXTERN bool CATransform3DIsAffine (CATransform3D t) //判断3D矩阵是否可以用2D矩阵表示
CA_EXTERN CGAffineTransform CATransform3DGetAffineTransform (CATransform3D t) //从3D矩阵中获取2D矩阵
+ (NSValue *)valueWithCATransform3D:(CATransform3D)t;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容