转换矩阵 Matrix详解

做UI少不了图形处理,转换矩阵是图形学里的基础,flash中更是常用,
Matrix 类表示一个转换矩阵,它确定如何将点从一个坐标空间映射到另一个坐标空间.
先来看一个二维矩阵的几何意义:
2      1
-1      2
代表了二维坐标中的两个向量p = [2,1],q = [-1,2],为了方便理解写成如下:
 x        y
2         1
-1        2
可以看出矩阵第一列表示X轴,第二列表示Y轴,那么在x轴的基向量p' =[1, 0]就是第一行,在y轴上的基向量是q' =[0, 1]就是第二行,正好是一个单位矩阵:
1    0
0     1
那么由单位矩阵变到上面的二维矩阵,可以看成是:
x轴变换成向量p,y轴变换成向量q,  也就有了缩放和旋转效果,我这没有图可能不好理解,可以想象一样或在纸上画一下向量p'变到p的过程。
在Matrix类中表示成了:
a     b
c      d
在加上平移列就表示成了:
a     b     tx
c     d     ty
0     0     1
看看缩放的矩阵变换表示:
Sx      0        0
0        Sy      0
0        0        1
就是x轴向量p'=[1,0] 变成 p=[Sx, 0]了, x轴变大了,y轴同理,如果是显示对象就是宽高变了,所以是缩放。

倾斜的矩阵变换:
0      skewY      0
skewX    0        0
0        0        1
旋转的矩阵变换:
cos(a)    sin(a)   0
-sin(a)   cos(a)   0
  0         0      1

在Matrix3D中原理是一样,只是加了一个z轴,3维的单位矩阵如下:
x轴   y轴    z轴

1      0      0
0      1      0
0      0      1

其实都是些向量运算,向量加减,点积,叉积,可以在坐标系中画一画向量的变化比较直观。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值