现在的位置: 首页 > 综合 > 正文

flash as3.0 Matrix

2013年08月12日 ⁄ 综合 ⁄ 共 565字 ⁄ 字号 评论关闭

一般网上看到的矩阵A*B = C 符合A列==B行 否侧没有效果

比如 1 0 1                 1 0 0                                     2 1 1

          0 0 1         *       0 1 0                      =           1 1 1        

                   (3列)         1 1 1    (3行)

实际就是A行对应数字 *B列 对应数字 想加

1*1+0*0+1*1        1*0+0*1+1*1       1*0+0*0+1*1

0*1+0*0+1*1         0*0+0*1+1*1      1*0+1*0+1*1

看完之口研究了下flash Matrix 里面的concat 组合矩阵 

 var m:Matrix = new Matrix(1,1,1,1,0,1);
var _m:Matrix = new Matrix(1,0,1,3,0,1);
m.concat(_m);

输出 (a=2, b=3, c=2, d=3, tx=1, ty=4) 百思不得其解 后来看资源才知道 ,原来flash 的矩阵 是一般情况下矩阵的转置矩阵(行列互换)

a b tx

c d ty

0 0 1

原先带入公式,计算始终跟输出不一致 输出 2 3 2 3 0 1

应该带入公式

a b 0

c d 0

tx ty 1

这样计算出来就对啦

抱歉!评论已关闭.