国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

“計(jì)算機(jī)圖形學(xué)”教改實(shí)踐

2010-12-31 00:00:00楊長(zhǎng)強(qiáng)鄭永果
計(jì)算機(jī)教育 2010年24期


  摘要:分析計(jì)算機(jī)圖形學(xué)教學(xué)過程中出現(xiàn)的問題,提出改進(jìn)的教學(xué)方法,包括案例教學(xué)、在課堂教學(xué)中應(yīng)用OpenGL、為不同層次的學(xué)生制定不同的開發(fā)環(huán)境和要求,開發(fā)教學(xué)演示軟件等,教學(xué)效果顯著。
  關(guān)鍵詞:計(jì)算機(jī)圖形學(xué);教學(xué)改革;教學(xué)演示軟件
  
  計(jì)算機(jī)圖形學(xué)是計(jì)算機(jī)應(yīng)用的重要分支之一,其主要內(nèi)容是用計(jì)算機(jī)表示、生成、處理和顯示圖形[1-2]。我院計(jì)算機(jī)圖形學(xué)課程的培養(yǎng)目標(biāo)是:學(xué)習(xí)圖形的計(jì)算機(jī)生成算法,處理方法和顯示流程;進(jìn)一步培養(yǎng)學(xué)生的程序開發(fā)能力;對(duì)計(jì)算機(jī)圖形學(xué)的主要分支和發(fā)展動(dòng)向有一定的了解。
  1教學(xué)過程中存在的問題
  在計(jì)算機(jī)圖形學(xué)教學(xué)中,如果按照傳統(tǒng)的教學(xué)方法在課堂上講解圖形的各種生成算法、處理技術(shù)和顯示過程,必然涉及到大量的公式推導(dǎo),并要求有比較強(qiáng)的空間想象能力,同學(xué)們學(xué)習(xí)比較困難,興趣不高,教學(xué)效果很差[3-4]。通過課下與同學(xué)們進(jìn)行交流,筆者發(fā)現(xiàn)他們對(duì)計(jì)算機(jī)圖形學(xué)這門課程缺乏足夠的認(rèn)識(shí),不了解計(jì)算機(jī)圖形學(xué)在計(jì)算機(jī)科學(xué)中所處的位置,不知道如何使用課堂上學(xué)習(xí)過的各種算法。仔細(xì)分析上述問題,筆者認(rèn)為其中的重要原因是理論教學(xué)與實(shí)踐嚴(yán)重脫節(jié)。為了改變這種狀況,提高教學(xué)效果,我們改進(jìn)了教學(xué)方法。
  
  2教學(xué)方法的改進(jìn)
  2.1課堂教學(xué)中引入應(yīng)用實(shí)例
  隨著計(jì)算機(jī)軟、硬件的飛速發(fā)展,計(jì)算機(jī)圖形在我們的周圍已經(jīng)得到了廣泛的應(yīng)用,如廣告設(shè)計(jì)、家庭裝飾設(shè)計(jì)、網(wǎng)站制作、娛樂領(lǐng)域的各種游戲制作、電影后期處理等。于是在每堂課教學(xué)前,有意識(shí)的搜集一些與本節(jié)課程內(nèi)容相關(guān)的應(yīng)用實(shí)例,在教學(xué)過程中將這些實(shí)例引入課堂,既可以提高同學(xué)對(duì)本節(jié)課內(nèi)容應(yīng)用的認(rèn)識(shí),又可以提高他們的學(xué)習(xí)興趣。例如在教授圖形變換一節(jié)時(shí),首先打開幾個(gè)圖形應(yīng)用軟件(如AutoCAD2000、3DS MAX等),演示其中的平移命令、比例命令、旋轉(zhuǎn)命令等幾個(gè)與平移變換、比例變換、旋轉(zhuǎn)變換相關(guān)的操作,然后啟發(fā)同學(xué)們思考這些命令在計(jì)算機(jī)中是如何實(shí)現(xiàn)的。這樣,同學(xué)們?cè)谂d趣的引導(dǎo)下,仔細(xì)分析了各種變換的推導(dǎo)過程,理解了這些變換的作用。課堂的舉例甚至可以涉及到當(dāng)前流行游戲(如反恐精英、魔獸等),引導(dǎo)他們理解場(chǎng)景在計(jì)算機(jī)中是如何變換的,游戲中角色的走動(dòng)是如何實(shí)現(xiàn)的,等等。同學(xué)們明白游戲的制作原理的同時(shí),還學(xué)會(huì)了計(jì)算機(jī)圖形學(xué)的理論知識(shí),也深刻地體會(huì)到計(jì)算機(jī)圖形學(xué)在現(xiàn)實(shí)應(yīng)用中的重要作用。
  2.2課堂教學(xué)中引入相關(guān)OpenGL函數(shù)
  計(jì)算機(jī)圖形學(xué)幾乎所有的章節(jié)都有對(duì)應(yīng)的OpenGL實(shí)現(xiàn)函數(shù),將OpenGL引入課堂,不但可以幫助同學(xué)們理解課堂上的理論知識(shí),還可以讓同學(xué)們掌握具體的開發(fā)手段。計(jì)算機(jī)圖形學(xué)中二維圖元的生成算法一般可以用傳統(tǒng)的教學(xué)方法解釋清楚,對(duì)于圖形變換、投影、三維實(shí)體表示、曲線曲面、光照模型與真實(shí)感圖形繪制等圖形學(xué)教學(xué)內(nèi)容,僅利用課堂講解很難產(chǎn)生好的教學(xué)效果,因?yàn)檫@部分內(nèi)容涉及較多的數(shù)學(xué)推導(dǎo),并且要求同學(xué)們要有較好的空間想象能力,以便理解由數(shù)學(xué)推導(dǎo)得出的實(shí)際空間結(jié)果,同學(xué)們掌握起來難度較大。將OpenGL引入課堂后,我們可以利用其相關(guān)的函數(shù)將數(shù)學(xué)推導(dǎo)的中間結(jié)果和最終結(jié)果展示出來,幫助同學(xué)們理解相關(guān)的理論推導(dǎo)。同時(shí)可以使同學(xué)們掌握一定的OpenGL知識(shí),提高其開發(fā)能力。
  例如,在教授投影變換一節(jié)時(shí),由于該節(jié)涉及到多種投影變換,課堂上首先要解釋清楚各種投影變換的本質(zhì)區(qū)別,接下來要推導(dǎo)各種投影的投影坐標(biāo)計(jì)算公式,這些推導(dǎo)涉及到大量的矩陣運(yùn)算,并且很難想象出其最終的空間結(jié)果,很容易使同學(xué)們產(chǎn)生枯燥的情緒。我們?cè)诮虒W(xué)過程中,利用OpenGL程序?qū)崿F(xiàn)各種投影變換的空間結(jié)果,幫助同學(xué)們理解各種變換。比如,在講解平行投影與透視投影的概念區(qū)別時(shí),在OpenGL中分別由gluPerspective()與glOrtho() 兩個(gè)函數(shù)生成圖1的結(jié)果幫助同學(xué)們理解相關(guān)概念。
  對(duì)于較難理解的滅點(diǎn)的演示可以利用函數(shù)glRotate()實(shí)現(xiàn),結(jié)果如圖2所示。
  對(duì)于不太好想象出投影結(jié)果的正軸測(cè)投影,利用glOrtho()生成平行投影環(huán)境,然后設(shè)置gluLookAt()函數(shù)中的參數(shù),使之生成出各種投影所要求的投影面,就可以產(chǎn)生出我們需要的投影結(jié)果。圖3為等軸測(cè)、等二測(cè)和等三測(cè)的投影結(jié)果。其中等二測(cè)和等三測(cè)結(jié)果并不唯一。
  在課堂上演示具體的程序及其運(yùn)行結(jié)果,既可以幫助同學(xué)們理解相關(guān)的概念,又提高了他們的程序開發(fā)能力和學(xué)習(xí)主動(dòng)性。
  2.3為各種層次的學(xué)生提供不同的開發(fā)環(huán)境
  單純要求同學(xué)們掌握理論知識(shí)并不是教學(xué)的最終目的,如果同學(xué)們能夠?qū)崿F(xiàn)這些算法,不但能夠加深對(duì)算法的理解,還能夠培養(yǎng)同學(xué)們的開發(fā)能力,使他們能夠更加自信地走向社會(huì)。所以充分利用好計(jì)算機(jī)圖形學(xué)自帶的實(shí)驗(yàn)課時(shí),對(duì)加強(qiáng)課程理論理解和學(xué)生能力培養(yǎng)有著很重要的作用。
  在實(shí)驗(yàn)課上,由于專業(yè)的不同,同學(xué)們的編程能力差別很大,信息班有的同學(xué)可以用VC++進(jìn)行算法實(shí)現(xiàn),數(shù)學(xué)班有的同學(xué)甚至還沒有C語(yǔ)言編程的經(jīng)驗(yàn),這給實(shí)驗(yàn)課的安排帶來了一定的難度。對(duì)此,我們采用的解決方法是首先確保底線,使同學(xué)們至少可以先進(jìn)行算法實(shí)現(xiàn)。為此,我們統(tǒng)一提供了初始化好的繪圖環(huán)境和DEMO程序,這樣初次編程的同學(xué)可以直接進(jìn)入該環(huán)境中進(jìn)行算法的編寫與調(diào)試,當(dāng)這些初次編程的同學(xué)們可以編寫和運(yùn)行自己的程序時(shí),無疑
  
  使他們的能力培養(yǎng)進(jìn)入了一個(gè)新的起點(diǎn)。對(duì)于已經(jīng)有相當(dāng)程序開發(fā)能力的同學(xué),在要求他們完成算法實(shí)現(xiàn)的基礎(chǔ)上,引導(dǎo)他們自學(xué)OpenGL,給他們介紹一些高級(jí)的開發(fā)手段,比如VC++結(jié)合OpenGL進(jìn)行產(chǎn)品開發(fā)等,為他們的開發(fā)能力進(jìn)一步發(fā)展指明方向。這樣的安排使得各個(gè)層次同學(xué)的能力培養(yǎng)和學(xué)習(xí)熱情得到很大的提高。
  2.4制作教學(xué)演示系統(tǒng)[5]
  雖然針對(duì)各個(gè)算法在課堂上進(jìn)行單獨(dú)的程序演示有其獨(dú)特的優(yōu)勢(shì),但這種教學(xué)方法首先要求教師本人有一定的開發(fā)能力,并且由于多媒體教室并不專用,程序的運(yùn)行環(huán)境得不到保證。為了進(jìn)一步提高教學(xué)效果,我們?cè)趯W(xué)校教務(wù)處和學(xué)院的支持下進(jìn)行了《計(jì)算機(jī)圖形學(xué)教學(xué)演示系統(tǒng)》的開發(fā),該系統(tǒng)包含了計(jì)算機(jī)圖形學(xué)這門課程大部分基本算法,并且可以方便添加新的算法實(shí)現(xiàn)代碼。
  由于該系統(tǒng)主要用來進(jìn)行輔助教學(xué),因此它必須與教學(xué)實(shí)踐相適應(yīng)。此系統(tǒng)以可見點(diǎn)模擬象素,以分步形式完成算法,算法實(shí)現(xiàn)過程中變量的變化也在對(duì)話框中給出。系統(tǒng)界面及直線生成算法、填充算法和幾何變換的實(shí)現(xiàn)示例見圖4。
  3結(jié)語(yǔ)
  通過教學(xué)改革,同學(xué)們不但深入理解課堂上教授的算法,還積極查閱其他教材的相關(guān)算法,有的同學(xué)甚至對(duì)某些算法給出自己的改進(jìn)想法。給筆者印象很深的是在實(shí)現(xiàn)直線的逐點(diǎn)比較生成算法時(shí),幾位數(shù)學(xué)班的同學(xué)提出,如果將“從起點(diǎn)到終點(diǎn)進(jìn)行比較”改為“從起點(diǎn)和終點(diǎn)同時(shí)向中點(diǎn)進(jìn)行比較”,算法效率將提高一倍,在此基礎(chǔ)上增加步長(zhǎng),則可以進(jìn)一步提高效率。同學(xué)們的思路對(duì)筆者也產(chǎn)生了很大的啟發(fā)。通過和同學(xué)們的討論,達(dá)到了“教學(xué)相長(zhǎng)”的效果。實(shí)驗(yàn)課上同學(xué)們通過自己的理論知識(shí)和開發(fā)手段,陸續(xù)完成了自由曲線、填充與裁剪等內(nèi)容的各種算法的實(shí)現(xiàn)。新教學(xué)方法的實(shí)施,提高了課堂教學(xué)效果,為達(dá)到課程的培養(yǎng)目標(biāo)提供了有力的保障。
  
  參考文獻(xiàn):
  [1]

大洼县| 泗阳县| 瑞丽市| 织金县| 淮安市| 兰州市| 舞钢市| 五家渠市| 遂宁市| 伊宁县| 绥棱县| 天柱县| 栾城县| 津南区| 朝阳市| 阿巴嘎旗| 莱州市| 巧家县| 常宁市| 潍坊市| 镶黄旗| 五寨县| 昌宁县| 和平县| 抚州市| 静乐县| 察隅县| 晋江市| 镇原县| 英山县| 喀喇沁旗| 荥经县| 大城县| 明溪县| 澄城县| 石楼县| 武夷山市| 宝兴县| 鄢陵县| 沁阳市| 蓬莱市|