码迷,mamicode.com
首页 > 其他好文 > 详细

ActionScript3游戏中的图像编程(连载六十一)

时间:2014-09-02 15:50:34      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:actionscript 3.0   flash   图像处理   游戏   数学   

4.1.4 田忌赛马中矩阵乘法的体现


      下面再来看看孙膑对矩阵都做了哪些操作:


       bubuko.com,布布扣————bubuko.com,布布扣


      在这一变换中,马匹的总属性没有发生任何更改,孙膑不需要换马,也无需提升任何一匹马的档次即可反败为胜:

 

      bubuko.com,布布扣
 
      该变换一举打破了数乘与加减法的常规,运用矩阵布局的思想,充分调度了矩阵内的各个元素,奠定了比赛的胜局。孙膑的足智多谋让齐威王心悦诚服,赛后不久便成为齐威王手下的一名得力军师。

 

      调整位置无法用四则运算来表示,但可以把结果中的数值都看作包含了系数1:

 

      bubuko.com,布布扣


      我们再假设,如果齐威王也深谙矩阵之道,及时调整阵型,将上下等马的出场顺序对调一下,他就能再下一城,守住胜局,而田忌则仍以失败告终。

 
      齐威王的矩阵变换可表示如下:

 

      bubuko.com,布布扣

 
      从孙膑和齐威王的变换可以看出,布阵的方法存在很大的灵活性,a,b,c的位置应根据战况的不同及对手的实际布局进行有针对性的调整,它们的最终位置出现在哪一行都有可能。所以,只对单一元素进行运算是不可能把以上布阵方法都表达出来。


      我们将a,b,c写入到孙膑结果矩阵中的每一行,没有在对应行出现的元素附上系数0:

 

       bubuko.com,布布扣——bubuko.com,布布扣

 
      而齐威王的调整策略则可表示如下:


       bubuko.com,布布扣——bubuko.com,布布扣

 
      转换过程都出现了3*3=9个系数,我把它们抽取出来并排列成矩阵:


      孙膑的布局矩阵:bubuko.com,布布扣


      
      齐威王的布局矩阵:bubuko.com,布布扣


 
      以孙膑为例,这一运算过程可表示如下:

 

      bubuko.com,布布扣

 
      我们把上面式子中的&连接符改为×,便可抽象出矩阵的另一种运算——乘法:

 

      bubuko.com,布布扣


      如果第一个矩阵包含多行,则每行都进行同样的运算:

 

      bubuko.com,布布扣
 
      与加减法相类似,矩阵乘法也可以推广到m行n列,但是,矩阵乘法要求第一个矩阵的行数与第二个矩阵的列数相等,否则无法运算。因为矩阵的乘法需要将第一个矩阵中第n行的数与第二个矩阵中第n列的数进行相乘(图 4.1),如果数量不匹配,运算将会失效。

 

 bubuko.com,布布扣

图 4.1 图解矩阵的乘法运算


      有了矩阵这一工具以后,我们就可以表达任意的马匹布阵转换了。比如,想要将三匹马布阵成【中,下,上】,则矩阵的变换过程可表示为:

 

      bubuko.com,布布扣
 
      您可以这样理解,加入您想把第3匹马安排到第2位,您就把变换矩阵第3行第2列的数值设置为1,而该列的其他元素都设置为0。

 


 

ActionScript3游戏中的图像编程(连载六十一)

标签:actionscript 3.0   flash   图像处理   游戏   数学   

原文地址:http://blog.csdn.net/iloveas2014/article/details/39006987

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!