劉婷婷 張洪艷
[摘要]“計(jì)算機(jī)圖形學(xué)”課程的教學(xué)和上機(jī)實(shí)踐能使學(xué)生全面地了解計(jì)算機(jī)圖形系統(tǒng)軟硬件技術(shù),掌握?qǐng)D形生成與處理技術(shù)的基礎(chǔ)知識(shí)、原理和方法,并培養(yǎng)學(xué)生利用計(jì)算機(jī)解決圖形問(wèn)題的程序設(shè)計(jì)能力。
[關(guān)鍵詞]計(jì)算機(jī)圖形學(xué)遙感專業(yè)教學(xué)改革
[中圖分類號(hào)]G642.0[文獻(xiàn)標(biāo)識(shí)碼]A[文章編號(hào)]2095-3437(2014)11-0138-02“計(jì)算機(jī)圖形學(xué)”是建立在傳統(tǒng)圖形學(xué)理論、現(xiàn)代數(shù)學(xué)和計(jì)算機(jī)等學(xué)科上的一門(mén)新興學(xué)科,并且隨著計(jì)算機(jī)軟硬件的發(fā)展而不斷拓展。[1]“計(jì)算機(jī)圖形學(xué)”的軟硬件已經(jīng)發(fā)展為一個(gè)巨大的產(chǎn)業(yè),從事該行業(yè)研發(fā)的團(tuán)隊(duì)也日漸龐大,因此“計(jì)算機(jī)圖形學(xué)”已成為計(jì)算機(jī)專業(yè)的必修課。同時(shí),由于計(jì)算機(jī)圖形學(xué)應(yīng)用范圍廣,也逐漸成為相關(guān)學(xué)科的必修或?qū)I(yè)選修課程。
一、“計(jì)算機(jī)圖形學(xué)”課程的教學(xué)現(xiàn)狀
“計(jì)算機(jī)圖形學(xué)”內(nèi)容豐富、理論性強(qiáng)、算法體系龐大等特點(diǎn)造成該課程的理論枯燥且方法難懂,[2]在一定程度上影響了學(xué)生學(xué)習(xí)該課程的積極性和主動(dòng)性。同時(shí),該課程是一門(mén)理論與實(shí)踐相結(jié)合的課程,僅重視理論講授而忽略了上機(jī)實(shí)踐,往往容易造成理論與實(shí)踐脫節(jié)。此外,現(xiàn)在大部分圖形生成、變換等的編程都可以利用一些便捷的函數(shù)庫(kù)實(shí)現(xiàn),如OpenGL、GDAL等,如果不有效利用這些函數(shù)庫(kù)則在一定程度上降低了編程的效率。
針對(duì)遙感專業(yè)的本科學(xué)生開(kāi)設(shè)“計(jì)算機(jī)圖形學(xué)”這門(mén)課程,主要希望學(xué)生建立計(jì)算機(jī)圖形與遙感影像之間的聯(lián)系,為“數(shù)字圖像處理”課程等遙感影像處理類課程打基礎(chǔ)。然而,大部分遙感專業(yè)的本科生計(jì)算機(jī)基礎(chǔ)較差且編程能力較弱,使得對(duì)于“計(jì)算機(jī)圖形學(xué)”的一些方法、算法的理解較片面,理論算法無(wú)法利用編程實(shí)現(xiàn),“計(jì)算機(jī)圖形學(xué)”與遙感影像的聯(lián)系無(wú)法建立。
通過(guò)以上分析可以發(fā)現(xiàn),針對(duì)“計(jì)算機(jī)圖形學(xué)”課程采用傳統(tǒng)的課堂講授理論,課下讓學(xué)生去做實(shí)驗(yàn)的教學(xué)方式很難達(dá)到預(yù)期的教學(xué)效果,急切需要探討新的教學(xué)思路和教學(xué)方法。
二、“計(jì)算機(jī)圖形學(xué)”課程的教學(xué)改革
(一)教學(xué)內(nèi)容改革
國(guó)內(nèi)大部分教材的編排順序是從底層圖像輸入、顯示等設(shè)備、系統(tǒng)、標(biāo)準(zhǔn)、交互技術(shù)及用戶接口等內(nèi)容開(kāi)始,然后過(guò)渡至基本圖形生成算法、曲線曲面等圖形繪制方法,最后介紹真實(shí)圖形的處理算法。雖然全書(shū)的知識(shí)結(jié)構(gòu)是由底層至高層的學(xué)習(xí)過(guò)程,但是知識(shí)點(diǎn)相對(duì)獨(dú)立、不連貫,使得學(xué)生無(wú)法清晰地把握課程的總體結(jié)構(gòu),因此需要對(duì)課程的教學(xué)內(nèi)容進(jìn)行重新組織。以“基本圖形生成算法”一章為例,可利用以下方式進(jìn)行組織講解:
1.空間的三要素是點(diǎn)、線和面,任一直線和面都可由單一的像素點(diǎn)構(gòu)成;
2.直線、圓和橢圓可以通過(guò)掃描轉(zhuǎn)換的方式生成,生成過(guò)程中需要考慮邊寬;
3.多邊形(二維平面)可通過(guò)區(qū)域填充的方式生成,生成過(guò)程中需要考慮各像素的顏色;
4.由于會(huì)受到屏幕、視圖窗口等大小的限制,生成的點(diǎn)、線或者面可能超出邊界范圍,可通過(guò)裁剪的方式優(yōu)化圖形顯示;
5.由于受到顯示器分辨率的限制,使得圖形邊緣發(fā)生鋸齒狀形變,一味地通過(guò)提高顯示器分辨率解決這一問(wèn)題將會(huì)導(dǎo)致硬件的投入無(wú)限制地增加,因此可通過(guò)反走樣這一軟件方式優(yōu)化圖形顯示效果。
(二)教學(xué)方式的探索
為提高教學(xué)質(zhì)量,讓學(xué)生牢固地掌握知識(shí)結(jié)構(gòu)中重要的知識(shí)點(diǎn),課堂授課必須采用多種形式。
1.多媒體教學(xué)
采用多媒體教學(xué)與傳統(tǒng)教學(xué)相結(jié)合的方式,充分發(fā)揮多媒體的優(yōu)勢(shì),使得教學(xué)更形象生動(dòng)。例如,展示計(jì)算機(jī)圖形學(xué)在各行各業(yè)應(yīng)用的圖片,播放基于虛擬現(xiàn)實(shí)技術(shù)的虛擬校園視頻,使得枯燥的“計(jì)算機(jī)圖形學(xué)”發(fā)展歷程介紹變成生動(dòng)的圖片和影像片段等。
2.對(duì)比式教學(xué)
對(duì)比式教學(xué)即對(duì)解決同一問(wèn)題的不同方法進(jìn)行比較,通過(guò)分析不同方法的異同點(diǎn),加深學(xué)生對(duì)方法的理解。例如,可以比較Bezier及B樣條曲線曲面的基本概念、性質(zhì)和構(gòu)造公式,并采用圖示的方式比較它們的平滑效果和彎曲程度等。[3]
3.自主式學(xué)習(xí)
本科生已經(jīng)可以在老師的指導(dǎo)下自主地完成一部分學(xué)習(xí)任務(wù)。例如,在詳細(xì)介紹直線的生成算法后,老師和學(xué)生以問(wèn)答的形式完成圓的生成算法學(xué)習(xí),并鼓勵(lì)學(xué)生課后自學(xué)橢圓的生成算法,下一次課由某位學(xué)生上臺(tái)講解,老師再對(duì)該算法的重要步驟進(jìn)行強(qiáng)調(diào)。通過(guò)自主式學(xué)習(xí)方式,其一能夠提高學(xué)生的自學(xué)能力,其二能夠加深學(xué)生對(duì)學(xué)習(xí)內(nèi)容的理解。
4.多學(xué)科相結(jié)合式教學(xué)
“計(jì)算機(jī)圖形學(xué)”和遙感圖形處理研究的內(nèi)容具有很大的差異?!坝?jì)算機(jī)圖形學(xué)”是研究怎樣利用計(jì)算機(jī)生成、處理和實(shí)現(xiàn)圖形的學(xué)科,而遙感影像處理則研究影像的量化、濾波、邊緣提取、特征增強(qiáng)等?!坝?jì)算機(jī)圖形學(xué)”課程的學(xué)習(xí)如何為“遙感影像處理”等后續(xù)課程的學(xué)習(xí)做鋪墊,已成為開(kāi)設(shè)該課程的目的之一,因此需要在講授時(shí)將兩門(mén)課程的部分內(nèi)容相結(jié)合。以圖形裁剪為例:“計(jì)算機(jī)圖形學(xué)”中圖形裁剪即將超出顯示邊界的部分裁剪,保留顯示邊界內(nèi)的部分;而利用遙感影像進(jìn)行地圖顯示與漫游時(shí),通常設(shè)置一個(gè)虛擬顯示區(qū)域,該區(qū)域通常比顯示區(qū)域大,主要考慮在影像漫游時(shí)讀取數(shù)據(jù)更快。
(三)上機(jī)實(shí)踐改革
利用OpenGL開(kāi)展“計(jì)算機(jī)圖形學(xué)”的實(shí)驗(yàn),對(duì)學(xué)生理解圖形學(xué)的相關(guān)知識(shí)、提高學(xué)生的學(xué)習(xí)興趣及提升學(xué)生在圖形圖像方面的程序開(kāi)發(fā)能力都非常有好處。因此,將OpenGL函數(shù)庫(kù)引入“計(jì)算機(jī)圖形學(xué)”的上機(jī)實(shí)踐中,要求所有的上機(jī)實(shí)踐都在安裝了GLUT的Visual C++6.0環(huán)境下進(jìn)行。
由于“計(jì)算機(jī)圖形學(xué)”課程的上機(jī)實(shí)踐時(shí)間非常有限,不能全面而深入地講解OpenGL的技術(shù)框架及后續(xù)應(yīng)用,需要結(jié)合“計(jì)算機(jī)圖形學(xué)”課程中的相關(guān)圖形算法進(jìn)行有針對(duì)性的講解與上機(jī)實(shí)踐,具體需要注意以下兩個(gè)方面:
1.合理安排上機(jī)實(shí)踐內(nèi)容及時(shí)間
由于有限的上機(jī)時(shí)間,既不能跳過(guò)OpenGL編程初步又不能壓縮圖形算法的實(shí)踐時(shí)間,需對(duì)上機(jī)實(shí)踐項(xiàng)目做合理安排。
(1)該實(shí)驗(yàn)內(nèi)容為:OpenGL的安裝;GLUT框架的使用;基本內(nèi)容講解;DDA、Bresenham 直線生成算法的實(shí)現(xiàn);中點(diǎn)圓算法的實(shí)現(xiàn)。通過(guò)該實(shí)驗(yàn)使學(xué)生了解OpenGL定義圖形的機(jī)制、GLUT框架的使用方法,驗(yàn)證課本中的DDA、Bresenham 直線生成算法以及中點(diǎn)圓算法并通過(guò)OpenGL GLUT框架的顯示回調(diào)函數(shù)進(jìn)行調(diào)用;
(2)該實(shí)驗(yàn)內(nèi)容為:熟悉 OpenGL 中對(duì)顏色的設(shè)置;邊界填充算法的理解與實(shí)現(xiàn);掃描線填充算法的理解與實(shí)現(xiàn)。實(shí)驗(yàn)2意在讓學(xué)生驗(yàn)證邊界填充算法和掃描線填充算法的編碼實(shí)現(xiàn),通過(guò)逐點(diǎn)顯示區(qū)域填充更直觀地了解填充算法,體會(huì)填充算法的思想;
(3)該實(shí)驗(yàn)內(nèi)容為:掌握 OpenGL 下的平移、旋轉(zhuǎn)、縮放變換方法及組合變換;梁友棟-Barskey 線段裁減算法的實(shí)現(xiàn)。實(shí)驗(yàn)3意在讓學(xué)生驗(yàn)證平移、旋轉(zhuǎn)、縮放變換的原理,學(xué)習(xí) OpenGL 下的幾何變換函數(shù)glTranslate、glRotate和glScale等,然后驗(yàn)證梁友棟-Barskey 線段裁減算法并介紹OpenGL 中的裁剪窗口函數(shù)gluOrtho2D 與視區(qū)函數(shù) glViewport。
2.靈活調(diào)整學(xué)生上機(jī)實(shí)踐的難易
計(jì)算機(jī)圖形學(xué)課程中有很多經(jīng)典算法,通過(guò)上機(jī)實(shí)踐能夠促進(jìn)學(xué)生理解算法的原理、累計(jì)圖形編程的技巧。[4]但是,冗長(zhǎng)的算法代碼、復(fù)雜的數(shù)據(jù)結(jié)構(gòu)使得學(xué)生很難獨(dú)立地在有限的上機(jī)實(shí)踐時(shí)間中完成,如果學(xué)生畢業(yè)后從事“計(jì)算機(jī)圖形學(xué)”方面的軟件開(kāi)發(fā)等工作,也不再利用這類底層算法而是建立在高層API基礎(chǔ)上進(jìn)行開(kāi)發(fā)。因此,可針對(duì)學(xué)生個(gè)人編程能力的差異,靈活地調(diào)整實(shí)踐內(nèi)容的難易程度,或者給出一個(gè)不完整的錯(cuò)誤程序讓學(xué)生進(jìn)行補(bǔ)充修改,提高他們的個(gè)人能力及主觀積極性。
三、結(jié)語(yǔ)
“計(jì)算機(jī)圖形學(xué)”課程的改革是一個(gè)長(zhǎng)期的過(guò)程,改革實(shí)踐交替向前的過(guò)程。新技術(shù)的產(chǎn)生、交叉學(xué)科的發(fā)展等都將促進(jìn)“計(jì)算機(jī)圖形學(xué)”課程的教學(xué)向著全新的方向發(fā)展。同時(shí),教師也應(yīng)充分發(fā)揮自身的創(chuàng)造性,通過(guò)教學(xué)不斷地總結(jié)經(jīng)驗(yàn),進(jìn)行突破創(chuàng)新,不斷地激發(fā)學(xué)生的潛能,提高學(xué)生學(xué)習(xí)的主觀能動(dòng)性。
[參考文獻(xiàn)]
[1]段江.“計(jì)算機(jī)圖形學(xué)”教改研究與實(shí)踐[J].計(jì)算機(jī)教育,2008(13):80-82.
[2]張玉新,張?jiān)虑?卜治國(guó),等.“計(jì)算機(jī)圖形學(xué)”算法可視化教學(xué)研究與實(shí)現(xiàn)[J]. 河北農(nóng)業(yè)大學(xué)學(xué)報(bào)(農(nóng)林教育版),2009(11):236-239.
[3]周芳芳,趙穎.高校“計(jì)算機(jī)圖形學(xué)”教學(xué)改革探索[J].科技信息,2008(15):11-14.
[4]袁國(guó)武,徐丹,趙楊.“計(jì)算機(jī)圖形學(xué)”實(shí)驗(yàn)課程改革經(jīng)驗(yàn)與探索[J].教改縱橫, 2009(15):29-32.
[責(zé)任編輯:鐘嵐]