楊剛 上官大堰 曹衛群

摘要:以計算機圖形學、虛擬現實技術、游戲程序設計、計算機動畫原理與技術4門課程為研究對象,從圖形技術知識模塊的角度出發,系統地分析各課程中教學內容間的體系結構和緊密聯系,并在此基礎上,以北京林業大學為例,對課程教學中存在的問題進行探討,提出相應的調整措施與建議。
關鍵詞:計算機圖形學;虛擬現實;圖形技術類課程;教學內容規劃
0.引言
近20年來,圖形技術獲得了飛速發展,應用日益廣泛。同時其也成為當前教育、培訓的熱點內容。各個大學與教育機構紛紛開設了圖形技術類的課程,有以介紹圖形基礎理論為主的計算機圖形學課程;以介紹圖形技術應用為主的虛擬現實技術、游戲編程技術等;以設計訓練為主的三維圖形設計、計算機動畫設計等。這些課程有著不同的理論深度要求以及不同的技術側重點,但它們都以圖形技術為本,在許多教學內容上是相互連通、相互映照的。并且這些課程分別是從不同的層次上對圖形理論進行闡述,其教學內容在安排上也有著先后順序的要求。因此,為了能夠讓學生由淺入深、循序漸進、理論聯系實踐地系統掌握圖形技術,圖形技術類課程教學內容的統籌規劃和統一設計是非常必要的。
目前,北京林業大學開設的圖形技術類課程包括:計算機圖形學、虛擬現實技術、游戲程序設計、計算機動畫原理與技術4門課程,主要面對計算機科學與技術、數字媒體藝術、動畫及地理信息系統等專業的學生。其中計算機圖形學講授圖形技術的基礎理論與重要算法;動畫原理與技術講授圖形技術中動畫制作的理論與實現技術;而虛擬現實技術、游戲程序設計則在基礎理論和算法的基礎上講授圖形技術在兩個重要領域的應用技術。筆者首先簡要介紹4門圖形技術類課程的教學內容;然后對其教學內容進行綜合分析,系統劃分其知識模塊,并對知識模塊間的聯系進行科學分析;在此基礎上,對課程內容的規劃與調整提出了具體的想法和建議,以供廣大教學工作者參考與討論。
1.圖形技術類課程教學內容介紹
本節簡要介紹4門圖形技術類課程的主要教學內容,并進行一定分析。所介紹的教學內容主要以北京林業大學的課程內容為參考。筆者對計算機圖形學、虛擬現實技術、游戲程序設計、計算機動畫原理與技術這4門課程有多年的教學經驗,在教學過程中依據經典教材,結合自己的心得總結形成了比較系統的教學內容。因此所介紹的教學內容在目前國內相關課程的教學中具有很強的代表性。
1.1計算機圖形學
計算機圖形學主要以介紹圖形基本理論為主,是4門課程中理論性最強,也是掌握難度最大的課程。其主要教學內容包括:
①計算機圖形學及圖形系統概論;②二維圖形算法;③計算機圖形流程;④三維建模技術;⑤真實感圖形學;⑥圖形編程技術——OpenGL介紹。
從以上的教學內容來看,第1、2部分是對圖形理論的基本理解;第3、5部分是有關繪制的技術;第4部分是建模;而第6部分則是圖形編程實踐。建模、繪制和動畫是計算機圖形學的3項主要研究內容。目前的課程內容循序漸進地對基礎圖形概念,以及繪制和建模技術進行了介紹,并配合OpenGL進行深入理解,其教學內容基本合理。之所以沒有涉及動畫技術是因為動畫技術太過于龐雜,很難在有限的課時內進行系統介紹,而且相對于繪制與建模來說,動畫技術是較高級內容,可留在后續課程系統介紹。
1.2計算機動畫原理與技術
與計算機圖形學相呼應,這門課對圖形學中的動畫技術進行系統介紹。通過本課程的學習,使學生對計算機動畫的低層運動控制與高層運動控制技術的基本概念、基本理論以及運動控制技術在計算機動畫中的運用有個基本的認識和理解,并使學生掌握各類動畫制作的基本技術。其主要教學內容包括:
①動畫技術概述與動畫基礎知識;②各類動畫技術的系統介紹,包括參數關鍵幀技術、軌跡驅動動畫技術、變形動畫技術、關節動畫技術、粒子動畫技術等,每種動畫技術都將在介紹基礎理論、算法的基礎上結合3DS Max進行演示與實驗教學;③動畫腳本語言,講授MAXScript腳本語言。
計算機動畫是計算機圖形技術的重要研究內容。該課程從理論到實踐,對計算機動畫的主要技術進行了系統講授,對學生完整掌握計算機圖形技術體系具有補充作用。
1.3虛擬現實技術
虛擬現實技術是指運用計算機生成能夠給人多種感官刺激的虛擬環境的技術。在此虛擬環境中,用戶應該能夠以自然的方式與這個環境交互,從而產生置身于相應的真實環境中的虛幻感、沉浸感和身臨其境的感覺。嚴格說來,虛擬現實技術所包含的技術范圍大于圖形技術范疇,它還涉及聽覺、觸覺、心理學等諸多學科技術。但是由于視覺在人類感知活動中占有絕對優勢地位,因此圖形技術是虛擬現實應用中最關注的技術,而虛擬現實也是圖形技術的一個重要應用領域。虛擬現實技術的主要教學內容包括:
①虛擬現實技術概論;②虛擬現實系統的接口設備;③虛擬現實系統的相關軟件;④虛擬現實系統中的相關圖形技術,包括幾何建模、實時繪制、實時碰撞檢測等。
虛擬現實可以看成圖形技術的一個直接應用領域,其各種虛擬現實平臺軟件,如VRML、Virtools同時也是一種圖形平臺軟件,而虛擬現實中虛擬景觀表現都是三維圖形技術的運用與實現。因此這門課與前述計算機圖形課程緊密相關,其第4部分的教學內容是計算機圖形學的延伸與擴充,而第3部分所介紹的軟件也是圖形技術的應用實踐。
1.4游戲程序設計
該課程講授游戲程序設計理論,并使學生掌握游戲程序的基本框架、游戲中的常用算法原理、游戲策略實施及游戲智能實現的基本方法。在實踐上,該課程的教學將使學生能通過游戲制作環境,制作出實際可玩可用的游戲。其主要教學內容包括:
①計算機游戲概述;②游戲程序設計概述及游戲制作環境介紹;③二維游戲的設計實現,講授二維游戲的基本流程和架構,并涉及一系列重要圖形、圖像概念,如圖像文件格式及存取方法、透明貼圖等;④三維游戲編程基礎,由于三維游戲設計與編程是建立在對三維圖形技術深入理解的基礎上,因此本部分將涉及一系列三維圖形技術,包括三維游戲場景組織技術、三維游戲高級圖形技術等,此外還包括一些音效三維化的技術;⑤游戲中的人工智能技術和人機界面設計。
第4部分是該課程的教授重點,也是學生能否掌握游戲編程的關鍵所在,而這部分的學習與圖形技術密切相關。其講授內容正是圖形技術在游戲場景構建方面的一系列具體應用技術,也是對學生圖形技能的擴充和加深。
2.4門圖形技術類課程教學內容的綜合分析
從以上4門課程的教學內容可以看出,雖然每門課程各有側重,但是其重點的理論基礎和技術難點都在圖形技術的理解和掌握。計算機圖形學給出了基礎理論和算法;計算機動畫原理與技術深入講解了計算機圖形學中計算機動畫的基礎理論和實現技術;虛擬現實技術和游戲編程技術則從2個具體的應用領域對計算機圖形技術中的建模和繪制技術進行了更深入更具體的闡述。4門課程循序漸進、由基礎到實用,形成了對計算機圖形技術主要內容的完整介紹。圖1所示是圖形技術類課程教學內容關系圖,是我們根據圖形技術的研究內容對4門課程的教學內容之間的關系進行的總結。
計算機圖形學中圖形概念和圖形算法眾多,而且由于圖形涉及了三維空間的變換和大量的數學運算,使其學習難度較大。如果僅從算法理論角度來講解很難使學生有深刻的體會,也很難使其僅通過一門課程就完全掌握。同時,計算機圖形學又是一門應用性很強的學科,只有與具體的應用相結合才能使學生真正理解圖形理論。而這4門課程的搭配正好形成了一種先理論后實用、逐漸補充、逐漸深入的格局,這是符合圖形技術教學規律要求的,也符合學生的認知習慣。從圖1中可以看出,學生先學習計算機圖形學課程就建立了圖形技術在建模和繪制方面的理論基礎;之后通過學習計算機動畫原理與技術來補充動畫理論和動畫制作的實用技術;通過學習虛擬現實技術和游戲程序設計不僅掌握了兩種重要的應用技能,而且通過實際應用將對圖形中建模和繪制的理論有更深入、更具體的理解。從課程教學的先后來看,計算機圖形學應當先于其他3門課程的安排,一般安排在三年級上半學期為宜;而其他3門學科可安排在三年級下半學期。
4門課程采用不同的實驗工具,包括OpenGL、3DS Max、VRML、Virtools等。這些工具都是目前最具有代表性的圖形工具,并且涵蓋了圖形技術從基礎編程到高級實用,從通用應用到專業應用的不同方面。其中OpenGL是圖形編程的業界標準之一,適用于專業圖形編程人員;而3DS Max、VRML、Virtools相對更容易掌握,適用于高級應用,并有不同的應用側重點。
3.圖形技術類課程教學的探討與改進
從以上對教學內容的綜合分析可以看出,我們對4門課程的設置基本合理,能夠使學生系統地掌握主要圖形理論和圖形實用技術。但是由于圖形技術本身的復雜性,也由于講授各門課程的教師間缺乏細致的溝通,使得圖形技術類課程在教學上還存在一些問題,如各門課程內容銜接不夠密切、原理與應用聯系不緊、教學枯燥、學生反映學習困難等。經過對問題的分析和對圖形技術類課程教學的綜合考慮,我們對教學內容和實驗內容提出了如下一些調整建議,供大家參考。
1)加強不同課程教學內容的一致性和教學內容的相互呼應。
由于圖形技術的發展日新月異,往往學術界和應用領域對同一概念有不同的稱呼,甚至不同的定義。而各門課程沒有經過統一規劃,往往使得不同課程對同一概念出現不同的叫法或解釋。如目前在計算機圖形學課程中稱rendering為繪制,而虛擬現實技術中則稱為渲染;計算機圖形學課程中提出了片元(fragment)的概念,而游戲程序設計中則統一稱為像素。這些叫法上的差異容易使學生發生混淆,并影響學生對圖形技術的理解。為此我們應當對各門課程的主要概念進行一個統一規劃,保持其叫法和概念上的一致性。
更重要的是,教師在講授各門課程的過程中,應當對其他課程講過的圖形概念進行一個呼應性的介紹,并鼓勵學生回顧相關課程內容,這樣可以大大加深學生對圖形概念的理解。例如虛擬現實技術課程第4部分“虛擬現實系統中的相關圖形技術”涉及了圖形流水線和圖形繪制的大量概念,教師應當在講解這部分內容前對計算機圖形學的相關內容進行回顧,這樣更容易讓學生聯系起所學內容,加深印象。還比如目前在計算機圖形學課程中還沒有安排有關動畫技術的教學內容,如果課時允許的話,可以考慮安排1~2個學時對動畫技術進行概述,這樣一方面使得教學內容更為完整,另一方面也可以對計算機動畫原理與技術課程的教學起到一個先導的作用。
2)任課教師應加強對圖形技術的理論學習。
雖然都是圖形技術類課程,但是有些課程主要以技術應用為主,任課教師并不一定具備對圖形技術理論的深入掌握就可以展開教學。比如虛擬現實技術和游戲程序設計兩門課程更偏重于圖形技術的應用,其所使用的工具往往也屬于高層次設計軟件,使用中不需要涉及基礎的圖形理論。這樣使得任課教師即使沒有系統深入地學習過圖形理論也能夠教授給學生應用技術。但是,如果教師能夠對圖形理論有系統深入的掌握,將會使教學質量有很大提高。一方面教師能夠在教學時有大局觀,能夠對各部分教學內容有更清晰的認識和安排;另一方面,教師能夠更好地引導學生從應用中體會理論,從而加深對基礎理論的理解,提高應用效果。
3)建立統一性、延續性的實驗體系。
實驗是圖形類技術課程中不可或缺的教學環節。由于各門課程有著不同的教學要求和應用側重,各門課程采用了不同的實驗工具,并且在實驗內容的布置上沒有必然的聯系。但是,這些不同的實驗工具都是從不同應用層次體現了共同的圖形技術;并且動畫、游戲、虛擬現實等不同應用技術間也有著相同之處,具有一定的共通性。如果能夠將實驗內容統籌考慮,使不同課程的實驗工具及具體實驗內容有所呼應,可以從一定程度上提高學生的實驗興趣,并加強其對應用技術的掌握。比如,計算機圖形學課程實驗的內容之一是建立一個能夠運動的機器人;而機器人的運動也在計算機動畫原理與技術中關節動畫技術的實驗內容中有所涉及。這樣,在機器人實驗中,完全可以建立不同課程間實驗內容上的連續性。又如,虛擬現實技術和游戲程序設計實驗內容中都涉及了虛擬三維場景的構建,并且采用的建模工具都為3DS Max,如果能將這兩部分實驗內容統一起來,將使學生有更充足的課時完善實驗作品。而計算機動畫原理與技術課程實驗中所涉及的3DS Max軟件及其腳本編程技術也可以對虛擬現實技術和游戲程序設計課程實驗起到輔助作用。由此可見,各門圖形技術類課程的實驗內容間可以進行一個統籌的規劃,建立一個具有一定統一性、延續性的實驗內容體系,這樣不但可以提高實驗效果,還可以加強不同課程教學內容間的呼應。
4.結語
通過以上分析可以發現,4門圖形技術類課程的教學內容有明確的理論教學要求和應用側重點。4門課程由底層理論到高層應用、由基礎編程到交互設計、循序漸進地形成了對計算機圖形技術主要內容的完整介紹,其教學內容設置基本合理;但是由于缺乏統籌規劃,在教學內容的一致性和實驗環節的設計上有一定問題。為此筆者進一步從3個方面提出了相應的改進建議,以作為本學科今后圖形技術類課程教學及實驗內容設計的參考。
參考文獻:
[1]唐榮錫,汪嘉業,彭群生,計算機圖形學教程[M],修訂版,北京:科學出版社,2001:15-26.
[2]齊東旭,馬華東,黃心淵,等,計算機動畫原理與應用[M],北京:科學出版社,1998:12-28.
[3]楊剛,黃心淵,“虛擬現實技術”課程的教學設計與討論[J],計算機教育,2008(2):41-44.
[4]呂建德,游戲程序設計概論[M],北京:中國鐵道出版社,2006:14-22.
(見習編輯:劉麗麗)