摘要:本文針對“計(jì)算機(jī)圖形學(xué)”課程特點(diǎn)及傳統(tǒng)教學(xué)模式存在的不足,提出“理論知識系統(tǒng)化,教學(xué)過程實(shí)例化,應(yīng)用層次多樣化”的教學(xué)思路,將“計(jì)算機(jī)圖形學(xué)”算法原理與交互式圖形軟件設(shè)計(jì)相結(jié)合,并將算法原理應(yīng)用于實(shí)際問題當(dāng)中,取得了良好的教學(xué)效果。
關(guān)鍵詞:計(jì)算機(jī)圖形學(xué);教學(xué)模式;應(yīng)用層次多樣性
1教學(xué)現(xiàn)狀分析
“計(jì)算機(jī)圖形學(xué)”是一門理論與實(shí)踐結(jié)合很強(qiáng)的課程,是計(jì)算機(jī)各專業(yè)的主干課程。通過學(xué)習(xí)這門課程,學(xué)生應(yīng)掌握計(jì)算機(jī)圖形生成與處理技術(shù)的基礎(chǔ)知識、基本原理和算法[1],具有開發(fā)圖形軟件的設(shè)計(jì)能力,為今后從事計(jì)算機(jī)圖形圖像處理領(lǐng)域的研究和開發(fā)工作打下良好的基礎(chǔ)。在教學(xué)中,教師利用高級語言(例如Visual C++)進(jìn)行程序開發(fā),促進(jìn)學(xué)生熟練掌握高級語言,為開發(fā)圖形應(yīng)用系統(tǒng)打下程序設(shè)計(jì)基礎(chǔ)。然而在多年的教學(xué)中,筆者卻發(fā)現(xiàn)多數(shù)學(xué)生認(rèn)為這門課程算法太抽象,原理太難,編程不易,面對具體問題時不知如何運(yùn)用所學(xué)算法給出切實(shí)可行的解決方案并編寫程序,得出預(yù)期結(jié)果。
產(chǎn)生上述問題的主要原因是[2]:長期以來,受傳統(tǒng)教育的影響,“計(jì)算機(jī)圖形學(xué)”始終沒有擺脫先理論后應(yīng)用的傳統(tǒng)教學(xué)模式,這一方面使學(xué)生在算法及原理學(xué)習(xí)階段缺乏對抽象理論知識的感性認(rèn)識,對內(nèi)容抽象、較難理解的算法只能“死記硬背”,學(xué)習(xí)過程“似懂非懂”,根本談不上“深入理解”,另一方面使學(xué)生進(jìn)入實(shí)踐應(yīng)用學(xué)習(xí)階段時對學(xué)過的算法及原理遺忘甚多,沒有了理論指導(dǎo),實(shí)踐就無從下手。學(xué)生感覺算法及原理和實(shí)踐環(huán)節(jié)是兩張皮,根本無法學(xué)以致用,專業(yè)興趣得不到激發(fā),學(xué)習(xí)積極性難以調(diào)動,越學(xué)越乏味,逐漸失去了信心,嚴(yán)重影響教學(xué)質(zhì)量,難以達(dá)到預(yù)期效果。此外,大部分教材對算法的描述并沒有相應(yīng)的程序代碼,初學(xué)者總有一種不知所措的感覺,認(rèn)為書上的算法及原理只是紙上談兵,根本就無從實(shí)踐,學(xué)完后就將其束之高閣。
如何改進(jìn)教學(xué)方法,解決抽象原理與實(shí)踐相脫節(jié)的問題,讓絕大多數(shù)學(xué)生在有限的時間內(nèi)迅速掌握課程的基礎(chǔ)算法及原理,并運(yùn)用于實(shí)踐中,成為具有真才實(shí)學(xué)的高素質(zhì)人才,是本課程研究的重要課題。
2教學(xué)模式改革
針對傳統(tǒng)教學(xué)模式的不足,為了激發(fā)學(xué)生的學(xué)習(xí)興趣,提高實(shí)踐技能與學(xué)習(xí)效果,教師應(yīng)該從課程的大局出發(fā),為學(xué)生搭建課程的整體構(gòu)架,由易到難,由淺入深把握課程的教學(xué)要求。筆者總結(jié)并提出了教學(xué)過程中自始自終貫穿“理論知識系統(tǒng)化,教學(xué)過程實(shí)例化,應(yīng)用層次多樣化”的教學(xué)思路。
2.1理論知識系統(tǒng)化
“理論知識系統(tǒng)化”是指整個課程中的算法原理遵循由淺入深的講解方式,構(gòu)建出系統(tǒng)化的圖形算法原理的知識架構(gòu)。
“計(jì)算機(jī)圖形學(xué)”涉及的理論知識以算法原理為主,故需要詳細(xì)解讀,因?yàn)樗惴ㄔ碇g相互聯(lián)系,互為支撐,故算法講解應(yīng)由簡入繁,由易到難,搭建出合理的算法架構(gòu)。
2.2教學(xué)過程實(shí)例化
“教學(xué)過程實(shí)例化”是指在課堂教學(xué)過程中打破“重算法,輕實(shí)例”的教學(xué)模式,以教師為主導(dǎo),學(xué)生為主體,運(yùn)用算法的實(shí)例演示、算法對比等方式,讓學(xué)生真切感受到本算法設(shè)計(jì)出的“所見即所得”優(yōu)秀案例。
首先,在學(xué)習(xí)每一種算法之前,教師精心設(shè)計(jì)與現(xiàn)實(shí)生活相關(guān)聯(lián)的、生動直觀的、難易適中的實(shí)際問題,讓學(xué)生思考如何利用現(xiàn)有的知識解決問題;再運(yùn)用將要學(xué)習(xí)的經(jīng)典算法解決同一問題,通過和前面的方法比較分析,讓學(xué)生真正理解所學(xué)算法的優(yōu)勢。
其次,對所用算法的核心代碼進(jìn)行重點(diǎn)剖析。本課程中的主要算法都配有實(shí)現(xiàn)了的程序,但受限于課堂時間,教師不詳細(xì)講解,只對算法的核心代碼作重點(diǎn)剖析,讓學(xué)生深刻領(lǐng)會算法的精髓所在。
通過上述分析講解,學(xué)生獲得“所見即所得”的程序效果圖,加深學(xué)習(xí)印象,達(dá)到了教與學(xué)相互促進(jìn)的目的。
2.3應(yīng)用層次多樣化
在“計(jì)算機(jī)圖形學(xué)”中,學(xué)生從基于光柵掃描顯示器的掃描轉(zhuǎn)換開始,學(xué)習(xí)反走樣技術(shù)、三維坐標(biāo)變換、透視投影變換、Z-Buffer消隱算法、帶有材質(zhì)和紋理的光照模型算法等內(nèi)容,制作出具有光照和紋理的動態(tài)消隱的三維旋轉(zhuǎn)立體圖,最終對圖形進(jìn)行交互式設(shè)計(jì)。
為了使學(xué)生能夠由淺到深,深入理解和靈活掌握教學(xué)內(nèi)容,提高軟件設(shè)計(jì)的綜合能力,教師在課程中遵循“驗(yàn)證性應(yīng)用、設(shè)計(jì)性應(yīng)用、創(chuàng)造性應(yīng)用”三個層次組織實(shí)踐性教學(xué),知識的難度系數(shù)逐級遞增,學(xué)生循序漸進(jìn)提高實(shí)踐技能。
(1) 驗(yàn)證性應(yīng)用。
學(xué)生在課堂學(xué)習(xí)基礎(chǔ)上,通過上機(jī)實(shí)驗(yàn)實(shí)現(xiàn)教師課堂上演示的算法原理,對所學(xué)理論知識進(jìn)行驗(yàn)證,進(jìn)一步加深對所學(xué)算法原理的認(rèn)識。
(2) 設(shè)計(jì)性應(yīng)用。[3]
經(jīng)過驗(yàn)證性應(yīng)用,學(xué)生對算法原理已經(jīng)有了深刻認(rèn)識,接下來的設(shè)計(jì)性應(yīng)用要鍛煉學(xué)生選擇正確的算法解決實(shí)際問題的應(yīng)用能力。
為此,教師在重點(diǎn)章節(jié)的教學(xué)完成后,選取一些特定的應(yīng)用案例,指導(dǎo)學(xué)生選取正確的算法。另外,為了培養(yǎng)學(xué)生良好的工作作風(fēng)和方法,也為后續(xù)課程做鋪墊,對于每一個應(yīng)用案例,教師除了給出實(shí)際要求外,還要按照軟件工程的方法明確實(shí)驗(yàn)步驟,即從問題的需求分析入手,在指定算法原理的基礎(chǔ)上詳細(xì)設(shè)計(jì)問題的求解,最后進(jìn)行編碼及調(diào)試。
在設(shè)計(jì)性應(yīng)用結(jié)束后,教師一定要對學(xué)生完成情況給以充分肯定和評價,還要對不足之處和共性問題加以補(bǔ)充和講解,加深學(xué)生對每一種算法的理解,升華學(xué)生掌握知識的深度和完整性,真正達(dá)到知識正遷移的目的,使學(xué)生掌握的知識成為他們社會實(shí)踐的向?qū)А?/p>
(3) 創(chuàng)造性應(yīng)用。
創(chuàng)造性應(yīng)用層次是本課程結(jié)束后最后一個實(shí)踐環(huán)節(jié),一般以課程設(shè)計(jì)或計(jì)算機(jī)圖形學(xué)大型作業(yè)的形式來體現(xiàn),旨在培養(yǎng)學(xué)生的動手實(shí)踐能力、綜合運(yùn)用能力、開拓創(chuàng)新能力。該層次強(qiáng)調(diào)給學(xué)生提供充分的學(xué)習(xí)自由度和自主性,讓學(xué)生主動實(shí)踐和親身體驗(yàn),為學(xué)生在編寫程序和分析過程中發(fā)揮創(chuàng)造性提供廣闊的空間。
教師應(yīng)著眼于全課程,從學(xué)生學(xué)習(xí)的實(shí)際情況出發(fā),精心挑選一些與實(shí)際應(yīng)用結(jié)合密切的綜合應(yīng)用實(shí)例,具有一定難度的題占30%,中等難度的題占50%,一般難度的題占20%,學(xué)生可根據(jù)自己的實(shí)際情況自由選擇。每一個實(shí)例只需給出實(shí)驗(yàn)要求,學(xué)生則依照實(shí)驗(yàn)要求自行設(shè)計(jì)算法加以解決。
學(xué)生拿到題目及實(shí)驗(yàn)要求后,首先從分析題目的需求入手,經(jīng)過構(gòu)造算法、編程和上機(jī)調(diào)試等若干步驟獨(dú)立完成題目,最終提交完整的大型作業(yè)報告。通過獨(dú)立完成設(shè)計(jì),深化對“計(jì)算機(jī)圖形學(xué)”算法原理的理解,提高對知識理論的獨(dú)立運(yùn)用能力,提高程序設(shè)計(jì)與調(diào)試水平,養(yǎng)成嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度和良好的工作作風(fēng)。
3教學(xué)效果
在計(jì)算機(jī)圖形學(xué)中,變換矩陣是非常基礎(chǔ)和重要的知識,許多資料只羅列出一堆矩陣公式、圖表等,初學(xué)者很難有感性認(rèn)識。學(xué)生通過本課程學(xué)習(xí)后,結(jié)合OpenGL這樣一個非常流行的圖形庫,以實(shí)踐方式闡述3D變換矩陣中最簡單的三種變換:平移、縮放及旋轉(zhuǎn),效果如圖1所示。
要做出具有真實(shí)感的圖形,需要借助顏色模型、光照模型和映射等技術(shù),圖2展示了學(xué)生使用Visual
C++開發(fā)的圓環(huán)在各個方向的光照效果圖。
4結(jié)語
“計(jì)算機(jī)圖形學(xué)”課程是一門對理論和實(shí)踐要求都很高的課程,在夯實(shí)學(xué)生基礎(chǔ)理論知識的同時,培養(yǎng)學(xué)生解決實(shí)際問題的能力。本文提出了在“計(jì)算機(jī)圖形學(xué)”課程教學(xué)中引入“理論知識系統(tǒng)化,教學(xué)過程實(shí)例化,應(yīng)用層次多樣化”的新教學(xué)模式,使該課程的理論知識與交互式圖形軟件設(shè)計(jì)相結(jié)合,學(xué)生在掌握理論和實(shí)踐鍛煉兩方面均感到應(yīng)用自如,取得了良好的教學(xué)效果。
參考文獻(xiàn):
[1] 孔令德. 計(jì)算機(jī)圖形學(xué)基礎(chǔ)教程(Visual C++版)[M]. 北京:清華大學(xué)出版社,2008.
[2] 黃瓊. 在計(jì)算機(jī)應(yīng)用類課程中開展研究性學(xué)習(xí)的探索[J]. 南寧職業(yè)技術(shù)學(xué)院學(xué)報,2005(1):42-44.
[3] 唐世綱. 論案例教學(xué)的實(shí)施及功用[J]. 教學(xué)管理,2005(02):4-7.
Research and Practice of New Model in “Computer Graphics”
LIU Jin-gang, KONG Ling-de, WANG Jin-zhong
(Computer Engineering Department, Taiyuan Institute of Technology, Taiyuan 030008, China)
Abstract: It’s analyzed the characteristic of computer graphics and shortage of traditional model of instruction in the paper. A new teaching model that theory is systemic, teaching process has instances, applied hierarchy is diversification. The scheme combines arithmetic of computer graphics and interactive software design, which apply theories to practice, and has obtained better teaching effect.
Key words: Computer Graphics; teaching pattern; multilevel
(編輯:張玥)