卜華龍 曹騫
(巢湖學(xué)院計算機與信息工程學(xué)院,安徽 巢湖 238000)
計算機圖形學(xué)是一門用計算機生成、處理和顯示圖形的課程,該課程中包含了大量的計算機圖形學(xué)相關(guān)算法、流程等較抽象的內(nèi)容。我們在教學(xué)中發(fā)現(xiàn),由于它們難于理解、枯燥、難學(xué),很多學(xué)生被一些必須掌握的圖形學(xué)算法所困擾,從而學(xué)習(xí)算法的積極性和主動性受到影響,增加了教學(xué)的難度。算法類課程教學(xué)的困難就是學(xué)生在學(xué)習(xí)時無法真實看到,必須通過想象以理解算法及其動態(tài)變化。通常教材及傳統(tǒng)的教學(xué)方法由于受到篇幅的限制,常常只能給出一些主要流程、呈現(xiàn)一些關(guān)鍵圖示,細節(jié)部分無法展開,這些都不利于學(xué)生學(xué)習(xí)和掌握算法。為了解決這一教學(xué)問題,人們開始研究與教學(xué)有關(guān)的可視化技術(shù),將不直觀的信息轉(zhuǎn)換成直觀的圖形或圖像信息顯示在計算機屏幕上[1,2,3,4]。
然而多媒體教學(xué)并不等同于可視化。傳統(tǒng)的多媒體技術(shù)如POWERPOINT由于軟件本身功能的局限性,其圖形化往往通過照片體現(xiàn),由其制作的課件往往是課本上的文字、圖像的簡單羅列,無法完全體現(xiàn)出可視化教學(xué)的精髓,即多媒體教材只是黑板教學(xué)過程的重現(xiàn)[5,6]。
可視化技術(shù)于1986年提出,立刻引起了廣泛的興趣和重視,很多研究者開展了相關(guān)的研究工作[7-12],其中最典型的是 Brown等人開發(fā)的基于工作站的 Balsa可視化系統(tǒng),這一系統(tǒng)已經(jīng)應(yīng)用于布朗大學(xué)教育計算實驗室,成為計算機相關(guān)學(xué)科的常規(guī)教學(xué)手段之一[8]。隨后Stasko研制出Tango的可視化系統(tǒng),使算法可視化應(yīng)用于課堂的教學(xué)演示[9]。教學(xué)內(nèi)容的可視化是當(dāng)今現(xiàn)代化教育的一個前沿?zé)衢T課題[10-12]。結(jié)合可視化技術(shù)的多媒體教學(xué),為傳統(tǒng)教學(xué)注入了新的生機與活力,展現(xiàn)出強大的優(yōu)勢。
在國內(nèi)由于各種客觀條件的限制,這方面的研究剛剛開始。隨著計算機相關(guān)技術(shù)的發(fā)展,可視化教學(xué)軟件、教學(xué)模塊、課件等研制已是大勢所趨[1-6]。FLASH軟件具有動態(tài)展示性和可視化性質(zhì),本文利用FLASH軟件制作了常見計算機圖形學(xué)算法的可視化模塊,利用其動態(tài)展示算法詳細執(zhí)行過程,拋棄以往如POWERPOINT課件簡單羅列文字和圖片的制作方式,學(xué)生在學(xué)習(xí)時通過動畫直接觀察算法的執(zhí)行過程以及深層結(jié)構(gòu),可以從具體的圖形動畫中理解算法,詳細了解具體執(zhí)行步驟和執(zhí)行順序。本文將算法可視化程序模塊與傳統(tǒng)的多媒體教學(xué)模塊結(jié)合,提高了教學(xué)效率,更適合大專院校理科類教學(xué)的特點。
目前我們完成了常見的抽象性較高的算法可視化模塊,如直線、圓、橢圓等生成、復(fù)雜多邊形生成,圖形處理,光柵化及分形模擬等。目標(biāo)是生成具有如下特點的可視化教學(xué)輔助軟件:
2.1 界面設(shè)計簡單、高效。以用戶的操作便捷性為前提,用戶不必過多考慮軟件模塊的使用方法問題。
2.2 提供可控性。便于用戶控制軟件執(zhí)行流程,應(yīng)該提供一些接口便于用戶調(diào)用或者輸入一些數(shù)據(jù),且對結(jié)果也有相關(guān)的判斷。
2.3 提供相應(yīng)代碼。通過提供算法偽代碼,可以通過對比加深學(xué)生的理解深度,幫助學(xué)習(xí)記憶算法思路,而不只是單純可視化算法執(zhí)行過程。
我們構(gòu)建如下圖所示計算機圖形學(xué)可視化框架,具體步驟如下:首先,采用FLASH這一可視化編程工具制作算法每步的關(guān)鍵幀,以實現(xiàn)算法執(zhí)行過程分步可視化的目的,然后利用相關(guān)技術(shù)得到算法動畫演示模塊。其次,使用常用的多媒體教學(xué)軟件 (如PowerPoint、Authorware等)串聯(lián)已得的可視化算法模塊。最后加強人機交互設(shè)計。最終形成具有可視化效果的教學(xué)軟件。這一框架既提高了教學(xué)的可理解性,也保證了教學(xué)軟件使用的便捷性。
圖1 可視化教學(xué)框架模型
本文以四分之一圓弧生成法為例,算法原理是:利用其函數(shù)方程,圓的函數(shù)方程為:x2+y2=R2,我們以下列公式構(gòu)造每個像素逼近點,從而構(gòu)造圓弧。
為了直觀體現(xiàn)上述算法的執(zhí)行過程,我們通過FLASH軟件制作其可視化模塊,生成結(jié)果如圖2所示。
在制作時,我們考慮了界面設(shè)計的便捷性,可視化模塊一目了然,在教學(xué)時,不需要花時間摸索軟件模塊的執(zhí)行方法。為了便于教學(xué)控制,我們提供了三個按鈕,并且FLASH軟件本身提供一些控制方法,在使用時只要在軟件上單擊右鍵就能看到。同時,為了讓學(xué)生對照理解算法實現(xiàn)原理,我們也提供了關(guān)鍵的代碼執(zhí)行動態(tài)演示。
圖2 圓弧生成法效果圖
傳統(tǒng)的教學(xué)工具如POWERPOINT等由于其軟件特點,無法體現(xiàn)算法類課程(如計算機圖形學(xué))的動態(tài)性、抽象性特點。為了解決這一教學(xué)問題,人們開始研究、開發(fā)相關(guān)的可視化工具、軟件。如前所述,可視化技術(shù)兼顧圖形生成和圖像理解功能,既可理解輸入的圖像數(shù)據(jù),也可利用特征描述生成圖形,且具有良好的人機交互功能。另外,計算機圖形學(xué)就是一門利用描述數(shù)據(jù)產(chǎn)生圖形的學(xué)科。因此,在計算機圖形學(xué)課程教學(xué)中引入可視化技術(shù),一方面能輔助學(xué)生理解課程中概念和算法,另一方面其本身也是生動地幫助學(xué)生理解計算機圖形學(xué)用途的例子。
[1]唐棣,郭禾.計算機圖形學(xué)算法可視化教學(xué)研究與實踐[J].電化教育研究,2009,(1):33-37.
[2]閻雙.計算機圖形學(xué)算法可視化教學(xué)研究與實現(xiàn)[D].大連:遼寧師范大學(xué),2007.
[3]張玉新,張月清,卜治國.《計算機圖形學(xué)》算法可視化教學(xué)研究與實現(xiàn)[J].河北農(nóng)業(yè)大學(xué)學(xué)報(農(nóng)林教育版),2009,(02):44-46.
[4]邵曉艷,李向,王素立.計算機圖形學(xué)可視化教學(xué)研究與實踐[J].河南機電高等??茖W(xué)校學(xué)報,2010,(05):63-67.
[5]張恩成.計算機多媒體教學(xué)實況評析[J].電化教育研究,1999,(5):52~55.
[6]謝維,沈大林.關(guān)于多媒體 CAI課件設(shè)計的分析與思考[J].教育科學(xué)研究,2002,(5):40~42.
[7]Gitta domik.Visualization Viewpoints:Do We NeedFormal Education inVisualization?[J].IEEE Computer Graphics and Applications.2000(July/August).
[8]Brain John Foley.Visualization Tools:Models,Representations and Knowledge Integration[D].Dissertation for Doctor Degree,University of California,Berkeley1999.
[9]J.T.Stasko.Tango.A framework and system for algorithm animation[J].IEEE Computer,1990,23(9):27~39.
[10]Tao Chen,Tarek Sobh,A Tool for Data Structure Visualization and User-Defined Algorithm Animation[C].31th ASEE/IEEE Frontiers in Education Conference,2001(TID).
[11]Hermann Hartel, Michael Ludke:3D Simulations of Interacting Particles[J].Computing in Science Engineering,2000(July/August)
[12]Byrne,M.D.,Catrambone,R.and Stasko,J.T.Do Algorithm Animations Aid Learning[T].Technical Report GIT-GVU-96-18,Georgia Tech Graphics,Visualization,andUsability Center,1996.