2d变更矩阵

2d变更矩阵

2d变更矩阵总共有6个可动的参数,这六个参数离别掌握差别的变更

| a  b  0 |
| c  d  0 |
| tx ty 1 |

a 程度缩放

b 程度拉伸

c 垂直拉伸

d 垂直缩放

tx 程度位移

ty 垂直位移

当矩阵为1的单位矩阵的时刻

表明该图形没有变更

一致结果

  • 缩放:scale(sx, sy) 等同于 matrix(sx, 0, 0, sy, 0, 0);
  • 平移:translate(tx, ty) 等同于 matrix(1, 0, 0, 1, tx, ty);
  • 扭转:rotate(deg) 等同于 matrix(cos(deg), sin(deg), -sin(deg), cos(deg), 0, 0);
  • 拉伸:skew(degx, degy) 等同于 matrix(1, tan(degy), tan(degx), 1, 0, 0);

转换后的点的盘算

x’ = a * x + c * y + tx;

y’ = b * x + d * y + ty;

作用

能够经由过程差别matrix,对差别坐标系(相对-相对或物体-物体)间的点举行转换。常用于游戏/动画场景

    原文作者:有把但没什么卵用
    原文地址: https://segmentfault.com/a/1190000009036596
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞