王春 華
(黃淮學(xué)院 計(jì)算機(jī)科學(xué)系,河南 駐馬店 463000)
關(guān)于計(jì)算機(jī)圖形學(xué)課程教學(xué)的思考
王春 華
(黃淮學(xué)院 計(jì)算機(jī)科學(xué)系,河南 駐馬店 463000)
計(jì)算機(jī)圖形學(xué)是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的一門重要的專業(yè)課程,其基本特點(diǎn)是數(shù)學(xué)公式多、抽象性強(qiáng).為了激發(fā)學(xué)生的學(xué)習(xí)興趣,調(diào)動(dòng)學(xué)生的學(xué)習(xí)主動(dòng)性,培養(yǎng)學(xué)生的創(chuàng)新精神和編程能力,在教學(xué)中教師應(yīng)注意:重視第一節(jié)課,讓學(xué)生全面了解并接受圖形學(xué);理清課程內(nèi)容的脈絡(luò),避免學(xué)生“只見樹木,不見森林”;盡量采用可視化教學(xué)方式,變抽象為直觀;盡量采用啟發(fā)式教學(xué)方式,充分調(diào)動(dòng)學(xué)生的學(xué)習(xí)積極性;改進(jìn)上機(jī)實(shí)驗(yàn)環(huán)境,使學(xué)生適應(yīng)業(yè)界的需求;充分考慮學(xué)生在學(xué)習(xí)能力、愛好特長(zhǎng)及實(shí)踐能力方面的差異,設(shè)置多層次的上機(jī)實(shí)踐題目.
計(jì)算機(jī)圖形學(xué);可視化教學(xué);上機(jī)實(shí)踐
通常,非計(jì)算機(jī)專業(yè)的教師和學(xué)生對(duì)計(jì)算機(jī)圖形學(xué)的研究?jī)?nèi)容存在一個(gè)誤解,認(rèn)為該課程就是研究如何利用圖形軟件(如 Flash等)進(jìn)行圖形的創(chuàng)作.其實(shí)不然,計(jì)算機(jī)圖形學(xué)的主要內(nèi)容是研究如何在計(jì)算機(jī)中表示圖形以及利用計(jì)算機(jī)進(jìn)行圖形的計(jì)算、處理和顯示的相關(guān)原理與算法,是一門理論性和實(shí)踐性要求較強(qiáng)的課程[1].
計(jì)算機(jī)圖形學(xué)作為計(jì)算機(jī)及其相近專業(yè)的專業(yè)課程,一般在大學(xué)三年級(jí)上學(xué)期或下學(xué)期開設(shè),這個(gè)時(shí)間段上的學(xué)生有如下2個(gè)特點(diǎn):(1)學(xué)生在大學(xué)一、二年級(jí)剛剛學(xué)過(guò)圖形學(xué)所需要的數(shù)學(xué)知識(shí),在理解圖形學(xué)的原理方面困難不大;(2)學(xué)生在一年級(jí)和二年級(jí)主要學(xué)習(xí)物理、高等代數(shù)、電路、數(shù)據(jù)結(jié)構(gòu)等課程,C語(yǔ)言或C++語(yǔ)言的學(xué)習(xí)通常停留在語(yǔ)言功能的掌握階段,基本上沒有真實(shí)設(shè)計(jì)過(guò)中等規(guī)模的項(xiàng)目,大部分學(xué)生的編程能力較弱.盡管學(xué)生此時(shí)有了學(xué)習(xí)計(jì)算機(jī)圖形學(xué)課程的基礎(chǔ),但是由于不少教師在教學(xué)中過(guò)分強(qiáng)調(diào)圖形學(xué)的數(shù)學(xué)基礎(chǔ),使得計(jì)算機(jī)圖形學(xué)成為計(jì)算機(jī)及其相近專業(yè)學(xué)生很難掌握的一門課程.這種強(qiáng)調(diào)數(shù)學(xué)基礎(chǔ)的教學(xué)方式適合數(shù)學(xué)基礎(chǔ)優(yōu)秀的學(xué)生,難以適合數(shù)學(xué)基礎(chǔ)一般的學(xué)生,它使得計(jì)算機(jī)圖形學(xué)變得深?yuàn)W、抽象而難于理解,往往造成很多學(xué)生有畏難、厭學(xué)的情緒[2―3].
為了有效地提高計(jì)算機(jī)圖形學(xué)課程的教學(xué)質(zhì)量,我們必須綜合考慮該課程的特點(diǎn)和學(xué)生的數(shù)學(xué)及計(jì)算機(jī)語(yǔ)言基礎(chǔ),對(duì)課堂教學(xué)、上機(jī)實(shí)踐等進(jìn)行精心的設(shè)計(jì),使抽象的內(nèi)容形象化,激發(fā)學(xué)生的學(xué)習(xí)興趣.
1.1 重視第一節(jié)課,讓學(xué)生全面了解并接受圖形學(xué)
受先入為主的影響,第一節(jié)課尤為重要.在多數(shù)“過(guò)來(lái)人”的印象中,計(jì)算機(jī)圖形學(xué)和其他專業(yè)課相比,數(shù)學(xué)公式太多,難以學(xué)習(xí)和理解.要使學(xué)生對(duì)該課程產(chǎn)生興趣,第一節(jié)課教學(xué)內(nèi)容的設(shè)計(jì)非常關(guān)鍵.圖形學(xué)理論本身雖然抽象,但基于圖形學(xué)理論的一些作品卻很形象.因此,第一節(jié)課可讓學(xué)生觀看若干個(gè)動(dòng)畫短片或游戲片段,通過(guò)這些動(dòng)畫、游戲所涉及的圖形學(xué)知識(shí),讓學(xué)生在不知不覺中了解圖形學(xué),接受圖形學(xué),喜歡圖形學(xué).
雖然計(jì)算機(jī)圖形學(xué)已經(jīng)廣泛地應(yīng)用于CAD、計(jì)算機(jī)美術(shù)與設(shè)計(jì)、計(jì)算機(jī)動(dòng)畫藝術(shù)、科學(xué)計(jì)算可視化、虛擬現(xiàn)實(shí)等領(lǐng)域,但仍有很多問(wèn)題還有待解決.為了進(jìn)一步提高學(xué)生的學(xué)習(xí)興趣,教師可接著介紹圖形學(xué)的前沿問(wèn)題,例如:實(shí)時(shí)高真實(shí)感、高分辨率渲染的技術(shù)難點(diǎn),和諧自然的三維模型建模方法,具有高度物理真實(shí)的動(dòng)態(tài)仿真,高精度數(shù)據(jù)的獲取與處理技術(shù),計(jì)算機(jī)圖形學(xué)與圖像視頻處理技術(shù)的結(jié)合,等等.另外,教師還可要求學(xué)生通過(guò)互聯(lián)網(wǎng)調(diào)查采用什么圖形技術(shù)可制作出煙花、瀑布、火焰、山川、植物等效果,并提交報(bào)告,其目的仍在于讓學(xué)生了解并接受圖形學(xué),提高學(xué)生的學(xué)習(xí)興趣.
1.2 理清思路,避免學(xué)生“只見樹木,不見森林”
計(jì)算機(jī)圖形學(xué)涉及的算法和變換很多,如各種直線段的繪制算法、各種圖元的填充算法、各種圖元的裁剪算法,世界變換、視圖變換、透視變換等.筆者發(fā)現(xiàn),有些學(xué)生對(duì)各種算法的理解不透徹,沒有一個(gè)清晰的思路,容易混淆各種算法的用途.究其原因,主要是學(xué)生在學(xué)習(xí)一個(gè)知識(shí)點(diǎn)的時(shí)候,不清楚其所處的位置,“只見樹木,不見森林”.
計(jì)算機(jī)圖形學(xué)其實(shí)就是研究如何利用計(jì)算機(jī)產(chǎn)生有真實(shí)感的圖形,而產(chǎn)生圖形的過(guò)程可以用圖形管線來(lái)表示,如圖1所示.將教材中各章節(jié)的內(nèi)容與圖形管線對(duì)應(yīng)起來(lái),有利于學(xué)生對(duì)各部分內(nèi)容有一個(gè)清晰的認(rèn)識(shí).同時(shí),采用圖形管線順序組織課程內(nèi)容,符合學(xué)生理解問(wèn)題的邏輯順序,有利于學(xué)生理解課程的知識(shí)結(jié)構(gòu),便于學(xué)生掌握各知識(shí)點(diǎn)之間的關(guān)系,提高學(xué)習(xí)效率.
圖1 圖形繪制管線及相應(yīng)的學(xué)習(xí)內(nèi)容[4]
整體的教學(xué)思路可按照?qǐng)D1進(jìn)行,而在具體講解各知識(shí)點(diǎn)時(shí),可采用對(duì)比分析、歸納總結(jié)的方式讓學(xué)生深入理解解決同一問(wèn)題的各種算法之間的區(qū)別.例如:對(duì)于直線段繪制算法,有 DDA、中點(diǎn)畫線法和Bresenham等算法;Bresenham算法既包括直線段生成算法,也包括圓生成算法.
1.3 采用可視化教學(xué),變抽象為直觀
計(jì)算機(jī)圖形學(xué)的一大特點(diǎn)是算法眾多.在教學(xué)中筆者發(fā)現(xiàn),不少學(xué)生往往被一些必須掌握的算法所困擾,感到它們難以理解、枯燥、難學(xué),從而學(xué)習(xí)該課程的積極性和主動(dòng)性受到影響.算法教學(xué)的復(fù)雜和困難,最主要因素是學(xué)生無(wú)法實(shí)際看到或想象出教師在課堂上口頭講授的算法,而必須通過(guò)思考執(zhí)行靜態(tài)的程序代碼來(lái)了解數(shù)據(jù)結(jié)構(gòu)的動(dòng)態(tài)變化[5].由于受篇幅限制,教材上通常只呈現(xiàn)關(guān)鍵概念的圖示,忽略了某些算法的細(xì)節(jié)內(nèi)容,因此學(xué)生閱讀時(shí)必須通過(guò)自己的理解去補(bǔ)足省略的細(xì)節(jié),這會(huì)為學(xué)生學(xué)習(xí)和掌握算法帶來(lái)一定的困難.為了解決這一教學(xué)問(wèn)題,筆者嘗試在備課時(shí)編程制作出各種算法的運(yùn)行動(dòng)畫(圖2所示為筆者制作的一種三維觀察動(dòng)畫的截圖),用于在講解算法內(nèi)容后運(yùn)用多媒體平臺(tái)演示算法的運(yùn)行結(jié)果及各參數(shù)變化對(duì)算法結(jié)果的影響.教學(xué)實(shí)踐表明,通過(guò)實(shí)現(xiàn)算法的可視化將算法的執(zhí)行過(guò)程動(dòng)態(tài)地演示出來(lái),能夠克服以往教學(xué)軟件只是簡(jiǎn)單重復(fù)課本內(nèi)容的弊端,幫助學(xué)生輕松地理解算法的執(zhí)行過(guò)程和結(jié)構(gòu),使學(xué)生的悟性和靈感在不知不覺中得到升華,實(shí)踐能力和創(chuàng)新能力逐漸得到提高.算法、幾何變換(平移、旋轉(zhuǎn)、縮放等變換)和觀察變換是計(jì)算機(jī)圖形學(xué)的核心內(nèi)容,也是應(yīng)用計(jì)算機(jī)圖形學(xué)解決具體問(wèn)題的基礎(chǔ),這些內(nèi)容的教學(xué)都適于采用可視化教學(xué)手段.盡管可視化的教學(xué)手段要求教師花費(fèi)更多的時(shí)間、精力去備課,但這種付出能夠產(chǎn)生顯著的教學(xué)效果.
圖2 一種三維觀察動(dòng)畫的截圖
1.4 采用啟發(fā)式教學(xué),充分調(diào)動(dòng)學(xué)生的學(xué)習(xí)積極性
計(jì)算機(jī)圖形學(xué)算法(包括矩陣運(yùn)算、解析幾何等內(nèi)容)需要以數(shù)學(xué)知識(shí)為支撐,而學(xué)生對(duì)數(shù)學(xué)知識(shí)的掌握是純數(shù)學(xué)思維,教師在教學(xué)中必須把學(xué)生的這種純數(shù)學(xué)思考引導(dǎo)到利用數(shù)學(xué)知識(shí)實(shí)現(xiàn)圖形學(xué)算法、提高算法效率上.在算法教學(xué)上,筆者嘗試采用“提出問(wèn)題→幫助學(xué)生分析問(wèn)題→找到問(wèn)題的解決方案→比較解決方案的優(yōu)缺點(diǎn)”的啟發(fā)式教學(xué)模式.以直線段的繪制算法為例,講授思路如下:(1)讓學(xué)生自行設(shè)計(jì)出一個(gè)繪制直線段的算法,這時(shí)大多數(shù)學(xué)生會(huì)想到直接利用直線方程 y=ax+b,即在直線段的 x取值范圍[x0,x1]內(nèi)將一系列的點(diǎn)(x,y)作為屏幕坐標(biāo),從而把直線段顯示出來(lái)(這里將該算法命名為普通算法);(2)教師指出普通算法存在的問(wèn)題,如正確性、效率低下等(這可能是學(xué)生始料未及的,他們會(huì)對(duì)接下來(lái)的內(nèi)容表現(xiàn)出強(qiáng)烈的學(xué)習(xí)興趣);(3)介紹直線段的繪制算法,包括DDA算法、中點(diǎn)算法和Bresenham算法,并說(shuō)明這些算法為什么比普通算法高效;(4)引導(dǎo)學(xué)生分析上述3種直線段繪制算法的優(yōu)缺點(diǎn)及輸入條件、迭代條件、終止條件等,進(jìn)一步鞏固教學(xué)成果.
學(xué)生扎實(shí)掌握基礎(chǔ)知識(shí)和基本技能的同時(shí),還要重視發(fā)展動(dòng)手能力,這樣才能保證他們?cè)谌魏螘r(shí)候都能快速獲取新知識(shí),適應(yīng)新情況.傳統(tǒng)的上機(jī)實(shí)驗(yàn)題目只是課堂上所講算法的實(shí)現(xiàn),這種驗(yàn)證性實(shí)驗(yàn)無(wú)疑將學(xué)生的行為方式和思維方式束縛在課堂的基本知識(shí)框架內(nèi),在一定程度上制約著學(xué)生創(chuàng)新能力的培養(yǎng).為了培養(yǎng)創(chuàng)新型人才,在計(jì)算機(jī)圖形學(xué)的實(shí)踐環(huán)節(jié)上可從以下2個(gè)方面著手:
(1)改進(jìn)上機(jī)實(shí)驗(yàn)環(huán)境,適應(yīng)業(yè)界新需求
應(yīng)盡量采用 IT界主流的軟硬件并配置多種軟件開發(fā)環(huán)境,包括目前工業(yè)界廣泛使用的OpenGL和娛樂界使用的 DirectX等,以滿足不同學(xué)生的興趣和需要.同時(shí),應(yīng)提供高質(zhì)量的圖形代碼供有能力的學(xué)生進(jìn)一步學(xué)習(xí),引導(dǎo)學(xué)生去實(shí)踐一些常見的圖形算法,如粒子算法、分形算法等.
(2)設(shè)置多層次的上機(jī)實(shí)踐題目
根據(jù)學(xué)生在學(xué)習(xí)能力、愛好特長(zhǎng)及實(shí)踐能力方面的差異,可以將上機(jī)實(shí)驗(yàn)內(nèi)容分為驗(yàn)證型、設(shè)計(jì)性和綜合性3類.驗(yàn)證性實(shí)驗(yàn)是讓學(xué)生對(duì)理論課程學(xué)習(xí)的圖形學(xué)基本算法和 OpenGL的基本語(yǔ)法進(jìn)行編程驗(yàn)證;綜合性實(shí)驗(yàn)是在學(xué)生經(jīng)過(guò)一個(gè)階段的學(xué)習(xí)并具有一定的基本知識(shí)和基本技能的基礎(chǔ)上,讓學(xué)生綜合運(yùn)用圖形學(xué)知識(shí),對(duì)實(shí)驗(yàn)技能和方法進(jìn)行綜合訓(xùn)練的一種復(fù)合型實(shí)驗(yàn);設(shè)計(jì)性實(shí)驗(yàn)是一種探索性的實(shí)驗(yàn),即在教師的指導(dǎo)或引導(dǎo)下由學(xué)生自己選題、設(shè)計(jì),最大限度發(fā)揮學(xué)生學(xué)習(xí)的主動(dòng)性,它不但要求學(xué)生能綜合運(yùn)用多種知識(shí)來(lái)設(shè)計(jì)實(shí)驗(yàn)方案,而且要求學(xué)生能充分運(yùn)用已學(xué)知識(shí)去發(fā)現(xiàn)和解決問(wèn)題.學(xué)生根據(jù)自己的實(shí)際情況選擇實(shí)踐題目,能夠避免題目難度相同所造成的部分學(xué)生難以發(fā)揮特長(zhǎng)、部分學(xué)生因難度太大難以完成而挫傷學(xué)習(xí)積極性的不足.
教學(xué)是一門藝術(shù),追求更卓越的教學(xué)效果是所有教育工作者孜孜不倦的職業(yè)目標(biāo).本文中筆者結(jié)合自己的教學(xué)實(shí)踐,探討了計(jì)算機(jī)圖形學(xué)課程的教學(xué)改革問(wèn)題.隨著計(jì)算機(jī)技術(shù)的發(fā)展,計(jì)算機(jī)圖形學(xué)課程的內(nèi)容必然會(huì)不斷地得到充實(shí)和更新,其適用的教學(xué)方法也不可能一成不變,這就需要我們根據(jù)該課程的特點(diǎn)不斷地進(jìn)行教學(xué)改革,最大限度地提高教學(xué)質(zhì)量和教學(xué)效率.
[1] 嚴(yán)圣華.計(jì)算機(jī)圖形學(xué)的教學(xué)模式探討[J].長(zhǎng)江大學(xué)學(xué)報(bào):自然科學(xué)版,2009,6(2):375―376.
[2] 袁國(guó)武,徐丹,趙楊.“計(jì)算機(jī)圖形學(xué)”實(shí)驗(yàn)課程改革經(jīng)驗(yàn)與探索[J].計(jì)算機(jī)教育,2009(15):29―32.
[3] 陳國(guó)軍.工科《計(jì)算機(jī)圖形學(xué)》教學(xué)改革探索[J].中國(guó)石油大學(xué)勝利學(xué)院學(xué)報(bào),2009,23(2):81―83.
[4] 劉輝.對(duì)“計(jì)算機(jī)圖形學(xué)”選修課教學(xué)的思考[J].計(jì)算機(jī)教育,2009(13):164―166.
[5] 張玉新,張?jiān)虑澹分螄?guó),等.《計(jì)算機(jī)圖形學(xué)》算法可視化教學(xué)研究與實(shí)現(xiàn)[J].河北農(nóng)業(yè)大學(xué)學(xué)報(bào):農(nóng)林教育版,2009,11(2):236―239.
〔責(zé)任編輯 張繼金〕
G642.421
A
1006-5261(2010)05-0089-03
2010-03-01
王春華(1980―),女,四川仁壽人,講師,博士.