吳 艷,程魯玉
(新疆農(nóng)業(yè)大學(xué)計(jì)算機(jī)與信息工程學(xué)院,新疆烏魯木齊 830052)
Flash MX是目前非常流行的二維動(dòng)畫(huà)制作軟件之一。它集矢量圖編輯和動(dòng)畫(huà)創(chuàng)作為一體,將矢量圖、位圖、音頻、動(dòng)畫(huà)和交互動(dòng)作靈活地結(jié)合在一起,并以簡(jiǎn)單易學(xué)、操作方便等優(yōu)點(diǎn)被廣泛應(yīng)用于互聯(lián)網(wǎng)、多媒體教學(xué)及游戲軟件的制作中。ActionScript是針對(duì)Adobe Flash Player運(yùn)行時(shí)環(huán)境的編程語(yǔ)言,它在Flash內(nèi)容和應(yīng)用程序中實(shí)現(xiàn)了交互性、數(shù)據(jù)處理以及其它許多功能。ActionScrip是由Flash Player中的ActionScript虛擬機(jī)(AVM)來(lái)執(zhí)行的。
本系統(tǒng)主要由4個(gè)界面組成,分別為主界面、DDA法演示界面、Bresenham法演示界面和中點(diǎn)劃線法演示界面。其中主界面起到主菜單的作用,供用戶(hù)選擇,可以跳轉(zhuǎn)到3種演示畫(huà)法的其中一個(gè)指定的界面。
模塊設(shè)計(jì)的主要方法是結(jié)構(gòu)化方法,主導(dǎo)思想是以算法的邏輯流程,采用“自頂向下,逐步求精”的設(shè)計(jì)方法,將本系統(tǒng)分解為功能明確、易于修改、大小適中的模塊結(jié)構(gòu)。本系統(tǒng)由3個(gè)子模塊組成,分別為DDA畫(huà)法演示模塊、Bresenham直線畫(huà)法演示模塊和中點(diǎn)畫(huà)線法演示模塊。
DDA算法演示模塊,本系統(tǒng)的核心模塊之一,能夠動(dòng)態(tài)實(shí)時(shí)地演示DDA算法執(zhí)行過(guò)程,并能夠全程通過(guò)“上一步/下一步”來(lái)查看算法執(zhí)行過(guò)程,演示執(zhí)行過(guò)程中,可隨時(shí)暫停/繼續(xù),方便查看算法偽代碼和演示過(guò)程中對(duì)應(yīng)中間變量的值的計(jì)算結(jié)果。Bresenham算法演示模塊、中點(diǎn)劃線法演示模塊,功能與其類(lèi)似。以上所有模塊中都能指定算法演示速率,動(dòng)態(tài)調(diào)整演示的速度,返回主菜單,重新選擇。
使用數(shù)組arrayX2來(lái)記錄演示過(guò)程中的一系列X點(diǎn)坐標(biāo),使用數(shù)組arrayY2來(lái)記錄演示過(guò)程中的一系列Y點(diǎn)坐標(biāo)。使用arrayCode2來(lái)動(dòng)態(tài)生成算法演示過(guò)程中的中間值的提示信息。
模塊的函數(shù)接口介紹:
Draw_Gird2():本接口實(shí)現(xiàn)坐標(biāo)網(wǎng)格的繪制。
BRE():本接口實(shí)現(xiàn)輸入?yún)?shù)范圍檢測(cè),BRE算法中值的初始化,以及調(diào)用Draw_Gird2()接口繪制坐標(biāo)網(wǎng)格。
BRE_ShowPos():本接口根據(jù)給定的x,y值,在坐標(biāo)區(qū)域動(dòng)態(tài)顯示當(dāng)前坐標(biāo)值標(biāo)簽。
BRE_Draw():Bresenham算法的核心實(shí)現(xiàn),由定時(shí)器定時(shí)調(diào)用,每調(diào)用一次,算法執(zhí)行一步。
gd():本接口實(shí)現(xiàn)中間數(shù)據(jù)框的動(dòng)態(tài)滾動(dòng)。
圖1 Bresenham算法演示模塊核心流程圖
“上一步”功能的核心代碼如下:
if(_root.aIndex2>0)//只有大于0,才能“上一步”
系統(tǒng)運(yùn)行效果如圖2所示。
圖2 系統(tǒng)運(yùn)行效果圖
軟件設(shè)計(jì)完成后,除對(duì)主要功能進(jìn)行測(cè)試外,還對(duì)運(yùn)行環(huán)境、運(yùn)行速度等諸多細(xì)節(jié)進(jìn)行了系統(tǒng)的測(cè)試。測(cè)試結(jié)果說(shuō)明該系統(tǒng)基本滿(mǎn)足最初的設(shè)計(jì)要求。目前該軟件已經(jīng)鏈接到課件中,在課件的相關(guān)知識(shí)點(diǎn)處可以直接點(diǎn)擊與知識(shí)點(diǎn)配套的算法動(dòng)態(tài)演示過(guò)程,增強(qiáng)了課件的可讀性。
[1]銀麗萍,黃同成.《數(shù)據(jù)結(jié)構(gòu)》算法的可視化教學(xué)研究與實(shí)踐[J].邵陽(yáng)學(xué)院學(xué)報(bào):社會(huì)科學(xué)版,2008(Z1).
[2]李冬梅,劉平.淺談《數(shù)據(jù)結(jié)構(gòu)》教學(xué)實(shí)踐與體會(huì)[J].福建電腦,2007(8).
[3]朱燕紅.可視化軟件在數(shù)據(jù)結(jié)構(gòu)教學(xué)中的應(yīng)用[J].遠(yuǎn)程教育雜志,2006(5).
[4]孫家廣.計(jì)算機(jī)圖形學(xué)[M].北京:清華大學(xué)出版社,2000.
[5]劉真.實(shí)用計(jì)算機(jī)圖形與動(dòng)畫(huà)技術(shù)[M].北京:電子工業(yè)出版社,1998.