美文网首页
矩阵本质-Transform函数详解

矩阵本质-Transform函数详解

作者: 似奔跑的野马 | 来源:发表于2018-10-29 18:58 被阅读0次

    矩阵

    1.CGRectApplyAffineTransform函数

    CGRectrect =CGRectMake(0,1,100,100);
    
    CGRect r = CGRectApplyAffineTransform(rect, CGAffineTransformMakeRotation(M_PI_2));
    
    r =  CGRectMake(-101, 0, 100, 100);
    

    将对应的rect应用矩阵转换,此时的顺时针旋转,是基于原点旋转。

    2.CGAffineTransformConcat 函数

    //A new affine transformation matrix. That is, t’ = t1*t2. 列主序矩阵 t1 * t2( 从左向右看,t1先生效)

        //先平移再缩放(x+tx) * scale
        self.view.transform = CGAffineTransformConcat(CGAffineTransformMakeTranslation(200, 300), CGAffineTransformMakeScale(0.5, 0.5));
    

    3.执行的t1*t2 ,先缩放再平移

    CGAffineTransformTranslate(CGAffineTransformMakeScale(0.5, 0.5), 200, 300);
    

    关于矩阵,表示空间内对象运动的描述。把线性方程的表示形式,变成矩阵来表示,不同的表现方式。本质都是一样的。比如二维坐标
    x' = ax +cy + t_x,
    y'= bx + dy + t_y.
    通过矩阵的表示:



    这个就是仿射矩阵的表现形式。(注意这个是列主序矩阵)

    struct CGAffineTransform {
      CGFloat a, b, c, d;
      CGFloat tx, ty;
    };
    

    矩阵函数理解

    相关文章

      网友评论

          本文标题:矩阵本质-Transform函数详解

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