美文网首页
CGAffineTransform矩阵中第三列

CGAffineTransform矩阵中第三列

作者: 碟枫 | 来源:发表于2017-09-23 13:11 被阅读14次

CGAffineTransform的定义中只有6个数据,可为什么背后的矩阵有第三列,且是固定值 0, 0, 1

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

CGAffineTransform实际上是通过矩阵来计算的,而矩阵背后的数学就是矩阵的相乘.


坐标的矩阵公式
坐标的计算

如果第三列去掉,公式和结果是没有什么影响的,那为什么还要第三列呢?


去掉第三列
但是如果多种平移和缩放的矩阵相结合,那就不一样了,如果同样是3行2列的矩阵,就无法相乘,为了能够使不同的transform矩阵相乘,那就需要第三列,把他们都变成3*3矩阵来计算,本来第三列的数值就没什么用,那就给个固定值0,0,1。

参考:Transforms:The Math Behind the Matrices

相关文章

  • CGAffineTransform矩阵中第三列

    CGAffineTransform的定义中只有6个数据,可为什么背后的矩阵有第三列,且是固定值 0, 0, 1 C...

  • 【iOS】 变换:CGAffineTransform 和 CAT

    矩阵乘法 A(j 行 m列) * B(m行k列)= C(m 行 m 列) CGAffineTransform 仿射...

  • CGAffineTransform的矩阵变换

    CGAffineTransform介绍 CGAffineTransform数据结构表示用于仿射变换的矩阵。 tra...

  • CGAffineTransform

    CGAffineTransform此类是一个3*3矩阵的变换。 - (void)transformImageVie...

  • CATransform3D介绍

    CATransform3D:和CGAffineTransform矩阵类似,它是一个4x4的矩阵构成,和CGAffi...

  • 图像

    用代码来实现你喜欢的动画效果 — 虫儿跑 理解iOS中CGAffineTransform与矩阵的关系 平面向量旋转...

  • 第3课 乘法和逆矩阵

    大纲 矩阵乘法 逆矩阵 矩阵乘法 例:方法一:方法二:(C中各列就是A中各列的线性组合)方法三:(C中的各行是B中...

  • CGAffineTransform

    CGAffineTransform用于绘制2D图形的仿射变换矩阵。 仿射变换矩阵用于旋转,缩放,平移或倾斜在图形上...

  • 3.矩阵和列表

    ①变换向量在数据库或矩阵中的顺序 将第四列gene向量变成第一列 矩阵创建,查看矩阵行列数,矩阵取子集,矩阵行列置...

  • 详细解析 CGAffineTransform 矩阵

    CGAffineTransform 是对于仿射变换矩阵进行了封装,而要理解仿射变换(affine transfor...

网友评论

      本文标题:CGAffineTransform矩阵中第三列

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