尹星云
摘 要:分析了當前國內計算機圖形學教材存在的問題,針對應用型本科院校計算機專業學生的特點,從計算機圖形學課程的教學目標、教學內容和教學方法三個方面進行了改革探索,收到了良好的效果,有效地提高了課堂教學質量。
關鍵詞:計算機圖形學 教材 OpenGL
中圖分類號:G642 文獻標識碼:A 文章編號:1672-3791(2014)10(c)-0178-02
從學科角度來看,計算機圖形學是一門理論和實踐都很強的綜合性學科;從技術層面來看,計算機圖形學是計算機應用領域的一個重要分支,其應用已經滲透到社會的各個方面,例如計算機游戲產業和影視動畫,人們使用手機和計算機時操作的圖形用戶接口,這些應用與人們的生活密不可分。計算機輔助設計與制造、科學數據可視化、虛擬現實等等,計算機圖形學在科學研究、生產實踐和人們的日常生活中均占有重要地位。因此,學生在學習計算機圖形學課程之前對該課程具有一定的好奇和期待,但是如果按照當前市場上流行的教材組織教學會使學生很失望,從而失去學習該課程的熱情。
1 計算機圖形學教材存在的問題
計算機圖形學是研究用計算機生成、處理和顯示圖形的一門學科,本科段的主要教學內容由以下幾個部分組成:光柵圖形學、圖形變換、圖形裁剪、可見面判斷、曲線和曲面、簡單的真實感圖形生成。基于這些內容,國內教材基本上以計算機基本圖形的生成原理及其相應的經典算法為核心,注重算法的推導過程,也就是數學演算過程,使得教材內容理論性很強,對學生的數學基礎要求較高。這樣的教材適合培養學術研究型的學生,所學知識為他們進一步學習、從事計算機圖形學的研究打下堅實的基礎。但是應用型本科院校計算機專業的絕大多數學生畢業后走向職場,即使考上研究生進一步深造的學生,選擇計算機圖形學作為研究方向的可以說是鳳毛麟角。更加重要的是,應用型本科院校計算機專業的學生普遍數學基礎比較差,沒有數學基礎來學習這種數學演算式的算法推導過程。由于計算機軟硬件技術的飛速發展,當前在軟件開發領域也用不到教材中這樣底層的經典圖形算法,一般的圖形軟件開發都是基于某種圖形軟件標準,例如實際的業界標準OpenGL(Application Programming Interface),微軟公司的DirectX。基于軟件標準,學生可以學到開發圖形學軟件的一些實用技術,掌握繪制真實感圖形的完整流程。因此,當前急需解決應用型本科院校計算機圖形學的教材問題,以及由此帶來的該課程在應用型本科院校的定位問題。
2 計算機圖形學教學改革探索
應用型本科院校的學生普遍數學基礎比較差,優點是動手能力比較強,其中不乏玩游戲的高手。絕大多數認真學習的學生都對程序開發比較感興趣,并且學得快。但是由于數學基礎和抽象思維能力比較差,對理論性強的教學內容不感興趣,學起來吃力。針對計算機圖形學教材的現狀和應用型本科院校學生的特點,對計算機圖形學課程的教學目標、教學內容和教學方法進行了一定的研究探索。將教學目標定位為使學生通過該課程的學習,對計算機圖形學有一個概括性的全面了解,理解計算機基本圖形的生成原理及其相應的經典算法的基本思路,掌握其中的重要技術;學習一種圖形軟件標準,加大實際動手能力的培養力度,使學生通過該課程的學習,能夠設計簡單的圖形場景,掌握繪制真實感圖形的基本流程。對于教學內容,采用一本教材為主,多本參考書為輔,在吃透這些教材的基礎上重新整合教學內容,力求使學生能夠學到實際有用的知識和技術,掌握必要的計算機圖形學的理論基礎和開發圖形應用軟件的初步能力。OpenGL是一種跨平臺的應用程序接口,已經成為實際的業界標準,而微軟公司的DirectX僅適用于Windows操作系統。另外,OpenGLES是OpenGL的子集,應用于多種嵌入式系統,如控制臺、移動電話、手持設備、家電設備和汽車等。把JavaScript和OpenGL ES 2.0結合在一起構成了WebGL,為HTML5 Canvas提供硬件3D加速渲染,Web開發人員可以用WebGL構建具有豐富圖形的網站頁面和設計網頁游戲等。所以教學中選用了OpenGL作為實驗平臺。
教學內容整合以教材為依據,對應每個教學模塊增加相應的OpenGL內容,例如光柵圖形學模塊增加OpenGL的基本圖元繪制、圖形變換模塊增加OpenGL實現圖形變換的內容、曲線和曲面模塊增加利用OpenGL繪制Beizer曲線曲面和B樣條曲線曲面的方法、真實感圖形生成模塊增加OpenGL的光照(包括光源的位置、光的類型)和材質內容,等等。整合后的教學內容體現了理論與實踐并重、理論與實踐相結合的教育思想,每一次課的教學內容由兩部分組成:一是理論部分,講授計算機圖形學基本原理和概念、經典算法的設計;二是實踐部分,講授與理論教學內容相關的OpenGL繪圖程序設計。對于理論教學內容突出重點,精選有代表性的算法講解透徹,使學生掌握算法思想的精髓、主要技術手段,對類似算法能夠舉一反三,自行學習。實踐教學部分強化培養學生的創新思維和實際動手能力,針對教學內容演示基于OpenGL繪制的圖形或者場景,引導學生分析設計過程以及實現各個功能的OpenGL函數,以便學生通過學習能夠獨立自主地設計出具有真實感的圖形或者簡單場景。由于教學內容由理論和實踐兩個主題構成,所以教學過程中要特別注意將這兩個部分有機地融合在一起,具體做法是講清楚OpenGL函數在計算機系統內的實現機制,下面以圖形的幾何變換為例說明。圖形的幾何變換以齊次坐標為基礎,用矩陣表示變換,將變換矩陣乘以點的原始坐標,運算結果即為變換后的點的坐標;OpenGL的變換函數是以程序員給定的參數、按照函數功能先構造相應的變換矩陣,然后將變換矩陣與點坐標相乘得到變換后的點坐標。通過這種剖析將理論知識與實踐技術有機地結合起來,使學生知其然,也知其所以然,極大地激發了學生學習理論基礎知識的熱情。
教學過程以建構主義教學理念為指導,以任務驅動教學法為主結合多種教學方法以提高課堂教學質量。建構主義教育思想認為學習的本質是知識的建構過程,教學的目的在于幫助學生實現知識建構,而不是單向的給學生傳授知識,教師的作用是引導學生對原有知識進行改造和重組,實現新知識建構。任務驅動教學法的核心是以任務驅動教學過程,教師根據教學目標和教學內容設計合適的任務,通過分析這個任務引導學生建構知識。例如,講授真實感圖形生成時,首先演示一個編程繪制的具有真實感的圖形,在光照的作用下圖形逼真、美觀,極大地激發了學生的學習興趣。通過分析這個圖形的生成原理和技術,引出光照模型和顏色理論的基礎知識,通過設問、啟發等多種教學方法引導學生建構相關的理論知識;通過分析OpenGL實現光照、材質的技術,完成利用計算機繪制真實感圖形的教學任務。endprint
最近幾年,市場上出現了一些面向應用型本科院校的計算機圖形學教材,其中計算機圖形學基礎理論的深度和難度都比傳統教材降低了,闡述也比較通俗易懂,但是沒有配套的上機實踐教材。因此,編寫了基于OpenGL的電子版實驗指導書,實驗內容由以下模塊組成:熟悉編程環境、基本圖元生成、二維圖形變換、三維圖形變換、光照和材質、曲線和曲面。實驗類型分為驗證型,設計型和綜合型。每次上機實驗課的內容分為兩個部分:一是運行課堂教學中講授的OpenGL程序、分析運行結果,然后修改這個程序生成新的圖形,從而加深對所學知識的理解;二是利用所學知識設計一個物體或者簡單的場景。課外作業是根據所學知識自由創造一個具有真實感的場景,從第一次上機實驗開始,從簡單到復雜構造一個場景,每次上機后增加本次實驗所學知識的內容,上機實驗課結束時上交,作為該課程的實驗考試成績。這樣,學生不僅學習了利用計算機生成真實感圖形的完整流程,而且親自實踐了這個完整流程。
4 結語
通過教學內容的整合,使學生能夠學到利用計算機生成真實感圖形的完整流程,有效地培養了學生的軟件開發能力,如果不進行上述教學改革是不可能達到這個目的的。當前國內教材太注重經典算法的剖析,學生即使努力學習,也是只見樹木不見森林,非常不適合應用型本科院校的學生使用。由于OpenGL的強大功能,教學中可以演示利用OpenGL編程繪制的逼真圖形,學生通過學習也可以自行設計、編程繪制這樣具有真實感的圖形,極大地激發了學生的求知欲,使得學生想學計算機圖形學課程,有效地提高了該課程的教學質量。
參考文獻
[1] 王艷春,張金政,李紹靜.計算機圖形學課程教學思考[J].計算機教育,2011(14):63-66
[2] 孔令德,劉晉鋼.應用型工科院校計算機圖形學教學模式改革[J].計算機教育,2011(18):20-22
[3] Francis S Hill,Jr,Sstephen mkelly,著.計算機圖形學(OpenGL版)[M].3版,胡事民,劉利剛,劉永進,等,譯.北京:清華大學出版社,2009.
[4] 王歡.基于建構主義的新型教學模式和教學改革的結合[J].鞍山師范學院學報,2005(2):82-85.
[5] 張松敏,王國強.案例-任務驅動模式的計算機程序語言教學探究[J].計算機教育,2010(1):132-134.endprint