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,对不同坐标系(相对-绝对或物体-物体)间的点进行转换。常用于游戏/动画场景

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值