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