8.7.9 位移向量运算

  通过分析flip_V_3()函数运行时在Output窗口输出的trace()信息,可以理解concat()方法和AS3矩阵运算的内部逻辑:

//第一周期

flipmatrix:(a=1 b=0 c=0 d=0.995 tx=0 ty=0)

OriginalMatrix:(a=1 b=0 c=0 d=1 tx=-50 ty=50)

Concat result matrix:(a=1 b=0 c=0 d=0.995 tx=-50 ty=49.750)

……

 

//第三周期

flipmatrix:(a=1 b=0 c=0 d=0.955 tx=0 ty=0)

OriginalMatrix:(a=1 b=0 c=0 d=1 tx=-50 ty=50)

Concat result matrix:(a=1 b=0 c=0 d=0.955 tx=-50 ty=47.766)

 

//5个周期

flipmatrix:(a=1 b=0 c=0 d=0.877 tx=0 ty=0)

OriginalMatrix:(a=1 b=0 c=0 d=1 tx=-50 ty=50)

Concat result matrix:(a=1 b=0 c=0 d=0.877 tx=-50 ty=43.879)

……

显然,显示对象的txty参与了运算,其运算原理十分有趣:在矩阵相乘时(A×B)AS3对矩阵A和矩阵Btxty的处理比较特殊,过程如图所示:

在运算中既不是将两个矩阵的txty向量相加,也不是将两者相乘。而是按照仿射变形公式f(x)=Ax+b,把矩阵A中的txty看作一个向量代入公式,把矩阵B中的txty看作位移向量。因此运算就变为矩阵A中的txty同矩阵B相乘,再与矩阵B中的txty相加。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值