美文网首页
CATransform3D

CATransform3D

作者: linzaifei | 来源:发表于2017-06-07 22:55 被阅读21次
    参考
    1.一个无任何变换的默认矩阵常量,可用于使变换后的Layer恢复初始状态 (默认矩阵)
    //The identity transform: [1 0 0 0; 0 1 0 0; 0 0 1 0; 0 0 0 1]
    CA_EXTERN const CATransform3D CATransform3DIdentity
    
    2.判断是不是默认矩阵
    CA_EXTERN bool CATransform3DIsIdentity (CATransform3D t)
    
    3.比较两个矩阵是不是相同的
    CA_EXTERN bool CATransform3DEqualToTransform (CATransform3D a,CATransform3D b)
    
    4.矩阵做 x y z 轴动画 平移 转换后的矩阵
     // Returns a transform that translates by '(tx, ty, tz)': t' =  [1 0 0 0; 0 1 0 0; 0 0 1 0; tx ty tz 1]
      CA_EXTERN CATransform3D CATransform3DMakeTranslation (CGFloat tx,CGFloat ty, CGFloat tz)
    
    5.根据 x y z 做缩放 转换后的矩阵
    //Returns a transform that scales by '(sx, sy, sz)': t' = [sx 0 0 0; 0 sy 0 0; 0 0 sz 0; 0 0 0 1]
    CA_EXTERN CATransform3D CATransform3DMakeScale (CGFloat sx, CGFloat sy,CGFloat sz)
    
    6.生成一个依照参数旋转后的矩阵 (angle 角度)
      //Returns a transform that rotates by 'angle' radians about the vector '(x, y, z)'. If the vector has length zero the identity transform is returned.
      CA_EXTERN CATransform3D CATransform3DMakeRotation (CGFloat angle, CGFloat x,CGFloat y, CGFloat z)
    
    7.变换矩阵t -> 新的矩阵(平移)
    //Translate 't' by '(tx, ty, tz)' and return the result: t' = translate(tx, ty, tz) * t.
    CA_EXTERN CATransform3D CATransform3DTranslate (CATransform3D t, CGFloat tx,CGFloat ty, CGFloat tz)
    
    8.变换矩阵t -> 新的矩阵(缩放)
    //Scale 't' by '(sx, sy, sz)' and return the result: t' = scale(sx, sy, sz) * t
    CA_EXTERN CATransform3D CATransform3DScale (CATransform3D t, CGFloat sx,CGFloat sy, CGFloat sz)
    
    9.变换矩阵t -> 新的矩阵(旋转)
    //Rotate 't' by 'angle' radians about the vector '(x, y, z)' and return the result. If the vector has zero length the behavior is undefined: t' = rotation(angle, x, y, z) * t. 
    CA_EXTERN CATransform3D CATransform3DRotate (CATransform3D t, CGFloat angle,CGFloat x, CGFloat y, CGFloat z)
    
    10.计算两个矩阵的乘积
    //Concatenate 'b' to 'a' and return the result: t' = a * b.
    CA_EXTERN CATransform3D CATransform3DConcat (CATransform3D a, CATransform3D b)
    
    11.反转矩阵
    //Invert 't' and return the result. Returns the original matrix if 't'has no inverse.
    CA_EXTERN CATransform3D CATransform3DInvert (CATransform3D t)
    
    12.通过2D得到一个3D矩阵
    //Return a transform with the same effect as affine transform 'm'. 
    CA_EXTERN CATransform3D CATransform3DMakeAffineTransform (CGAffineTransform m)
    
    13.判断3D矩阵是否可以用2D矩阵表示
    //Returns true if 't' can be represented exactly by an affine transform
    CA_EXTERN bool CATransform3DIsAffine (CATransform3D t)
    
    14从3D矩阵中获取2D矩阵
    //Returns the affine transform represented by 't'. If 't' can not be represented exactly by an affine transform the returned value isundefined
    CA_EXTERN CGAffineTransform CATransform3DGetAffineTransform (CATransform3D t)

    相关文章

      网友评论

          本文标题:CATransform3D

          本文链接:https://www.haomeiwen.com/subject/ljzafxtx.html