王莉莉
摘要:“計算機圖形學”是計算機應(yīng)用專業(yè)重要的基礎(chǔ)理論課,本文對課程教學過程中實際遇到的問題進行了總結(jié),并深入分析了“計算機圖形學”這一研究方向的特點。在此基礎(chǔ)上,給出一種“計算機圖形學”課程體系和內(nèi)容設(shè)置的思路,并對多種教學方式進行了初步的探討,以期對“計算機圖形學”及相關(guān)課程的教學工作提供參考。
關(guān)鍵詞:計算機圖形學;課程教學;教學方法;內(nèi)容設(shè)置
中圖分類號:G642 文獻標識碼:B
“計算機圖形學”是計算機科學的重要研究內(nèi)容之一,它借助數(shù)字化手段合成與操作視覺內(nèi)容,將信息直觀地展現(xiàn)給用戶,其應(yīng)用范圍覆蓋軍事仿真、航空航天、文化教育、城市管理、大眾娛樂等諸多領(lǐng)域。隨著軟硬件技術(shù)的不斷發(fā)展,計算機圖形處理能力大大提高,新技術(shù)、新方法不斷涌現(xiàn)使得“計算機圖形學”成為目前發(fā)展最為活躍的計算機技術(shù)之一。因此,國內(nèi)外大學在計算機專業(yè)學生的培養(yǎng)過程中大都開展了相關(guān)的教學工作。北京航空航天大學在計算機專業(yè)本科生、研究生課程教學中也開設(shè)了“計算機圖形學”選修課程。筆者在參與教學工作過程中,對遇到的問題、課程特點、課程內(nèi)容、教學方式等方面進行了一些思考。
1教學中遇到的問題
由于“計算機圖形學”類課程沒有經(jīng)典的教學模式,教學內(nèi)容需根據(jù)授課時間的長短進行裁剪,各個教師的教學過程存在著較大的差異性,因此遇到的問題也會有所不同。筆者就自己在“計算機圖形學”課程教學中遇到的且認為較為重要的幾個問題展開討論。
部分學生沒有明確的學習目的,缺乏興趣?!坝嬎銠C圖形學”通常作為計算機專業(yè)選修課設(shè)置。選修的本科生有大部分為取得學分,少部分是對圖形學有興趣,研究生的情況與此相反。如何通過課程的教學工作,正確引導,激發(fā)他們的興趣,幫助他們樹立明確的學習目標是我們需要解決的重要問題。在感興趣的學生之中,仍存在著一些期望和教學內(nèi)容并不重合的學生,例如某些學生原認為學完圖形學就可以制作動畫效果了,發(fā)現(xiàn)做不到時,就對課程學習的態(tài)度發(fā)生較大的改變;而另外一部分要從事計算機圖形學研究工作的學生,發(fā)先課程內(nèi)容與研究內(nèi)容相差較遠,熱情會受到挫傷。對于這些學生,是否能夠通過在課程中對圖形學相關(guān)領(lǐng)域、相關(guān)軟硬件工具進行較為全面的介紹,給出它們與本課程內(nèi)容的聯(lián)系,在計算機圖形建模繪制中的作用,并點出“計算機圖形學”是該類相關(guān)課程的理論基礎(chǔ),建議介紹一些相關(guān)的書籍和后續(xù)課程的選擇,來填平期望研究應(yīng)用與圖形學課程之間的空隙,使得這些學生始終保持學習熱情也是我們需要努力解決的問題。
課時少,內(nèi)容多?!坝嬎銠C圖形學”涉及的內(nèi)容非常多,既包括最基礎(chǔ)的圖形顯示設(shè)備、二維三維圖形繪制顯示,又包括真實感、非真實感圖形建模與繪制、科學可視化、計算機動畫生成、建模繪制的平臺工具等方面,每一項內(nèi)容又包括了很多的技術(shù)、方法,經(jīng)典算法思路和最新研究成果。因此如果平鋪展開逐個來講,一一列舉,時間安排上不允許,也不利于學生對知識的學習掌握。作為專業(yè)選修課,計算機圖形學的課時通常為36小時。那么,如何在較少的時間內(nèi),使得學生了解完整的圖形學知識體系,掌握部分經(jīng)典算法、代表性算法主要思想,了解當前研究熱點和最近新研究成果,做到點面結(jié)合,還需要進一步的討論。
偏理論與偏實踐。在國內(nèi)大學設(shè)置“計算機圖形學”課程的很長一段時間內(nèi),教師將大部分的精力放在課程內(nèi)容的講授上,沒有對課后作業(yè)進行精心設(shè)計,學生在課堂上接收到大量知識的填充后,沒有自己動手進行實踐來鞏固知識,因此往往得到的是泛泛的概念,不能很好地對實質(zhì)內(nèi)容進行把握,出現(xiàn)“上課聽熱鬧,下課就忘記”的現(xiàn)象。針對這些問題,一些教改項目提出將OpengGL,CG等圖形繪制標準或語言的使用列入教學內(nèi)容,希望通過這種方式來強化學生編程技能,提高動手能力。但這種程序、函數(shù)講授的方式使得課程非常枯燥,往往效果不佳。
2計算機圖形學的特點
“計算機圖形學”與其他計算機專業(yè)課程相比,具有一些特點,了解這些特點可以幫助我們更好地制定教學計劃、改善教學效果。
廣度大、深度深?!坝嬎銠C圖形學”的分支多,內(nèi)容范圍廣泛,并且大部分內(nèi)容都有著從過去到現(xiàn)在大量經(jīng)典、有代表性的方法、技術(shù)、算法。我們以真實感光照計算方法為例,光照計算屬于真實感繪制中的研究內(nèi)容之一。根據(jù)計算方法的不同,它又可分為光線跟蹤方法、輻射度方法、輻射度預(yù)計算方法,隨著顯示硬件的發(fā)展,又出現(xiàn)了圖象映射空間方法等。而單是光線跟蹤方法,除經(jīng)典的方法外,還有蒙特卡洛光線跟蹤、逆向光線跟蹤、圓錐光線跟蹤、分布式光線跟蹤、光束跟蹤、基于并行機制的光線跟蹤、基于GPU加速的光線跟蹤等方法。
理論與實踐并重?!坝嬎銠C圖形學”中基礎(chǔ)理論涉及線性代數(shù)、離散數(shù)學、圖論等內(nèi)容,而一些復(fù)雜算法則涉及到概率論、矩陣論、泛函分析、小波分析、優(yōu)化理論等眾多內(nèi)容。有時為了逼真顯示某個場景,需要對場景中的景物進行物理建模,需要有對應(yīng)的物理知識。例如對水、牛奶類液態(tài)對象進行繪制,需要借助流體力學來進行仿真。又例如對肌肉這類對象進行變形分割時,需要使用有限元的方法進行剖分。“計算機圖形學”理論內(nèi)容涉及的數(shù)學物理知識廣而深。在實踐方面,為了能夠編程實現(xiàn)圖形學算法,要求很好地掌握數(shù)據(jù)結(jié)構(gòu)、C或C++等編程語言,OpenGL/DirectX的圖形標準,某種圖形平臺的SDK/API。目前很多方法是基于圖形硬件可編程流水線的,因此,還需要掌握GLSLHLSLCG這樣的語言。實踐部分對編程能力要求較高。
具有良好的可展示性。圖形學中的技術(shù)和方法通常是在三維空間中進行的,因此,可以通過示意圖等方式直觀的展現(xiàn)給學生,這樣比文字敘述更容易理解。同時,計算結(jié)果、繪制結(jié)果往往是以圖像的方式存在的,具有良好的可展示性,通過算法運用與否繪制結(jié)果的對比,更直接地體現(xiàn)算法特點優(yōu)勢,容易激發(fā)起學習者的興趣。
技術(shù)發(fā)展快、前沿成果多。“計算機圖形學”作為計算機領(lǐng)域的重要內(nèi)容,近年來發(fā)展非常迅速。其分支多,內(nèi)容廣,且具有相當深度的特點吸引了大量的國內(nèi)外高校、研究機構(gòu)的研究者從事相關(guān)的研究工作。每年眾多的國際會議和學術(shù)雜志期刊文章展示了圖形學領(lǐng)域最新的、最有代表性的、創(chuàng)新性的研究成果,例如ACM Siggraph、Eurographics、Pacific Graphics、Graphics Interface 、Computer Graphics International等國際會議,ACM Transaction on Graphics、IEEE Transactions on Visualization and Computer Graphics、IEEE Computer Graphics andApplications、Graphical Models、Computer Aided Design、Computer Aided Geometric Design、Computer Animation and Virtual Worlds等國際期刊。 每一個成果都體現(xiàn)了研究者的創(chuàng)新性思維。
3課程思路、體系和內(nèi)容設(shè)置
根據(jù)“計算機圖形學”的特點和我們在課堂教學中所遇到的問題,需要對圖形學課程教學的思路進行一些調(diào)整。在遵循序漸進的基礎(chǔ)之上,將本科生課程和研究生課程區(qū)別對待。
對于本科生課程,我們設(shè)立圖形學課程的目標是學習計算機專業(yè)領(lǐng)域知識,了解圖形學覆蓋內(nèi)容,激發(fā)進一步學習和從事圖形學相關(guān)研究、工作的興趣。因此我們直接設(shè)置一門“計算機圖形學”選修課,主要進行圖形學最為基礎(chǔ)內(nèi)容的教學工作,引導學生入門。其內(nèi)容以概述性介紹為主,有大量的圖形化用例,部分經(jīng)典、有代表性算法主要思路的介紹。我們以36學時18次課,無課后作業(yè)為例,對教學內(nèi)容可作如下規(guī)劃。
(1)“計算機圖形學”概述(2學時),講述課程目的,然后從一些直觀的例子效果入手,圈定研究范圍,使學生明白圖形學能做什么,不能做什么。
(2) 二維圖形繪制和三維圖形繪制(10學時),包括二維圖元繪制、二維幾何變換、二維觀察、三維對象表示、三維建模與幾何變換、三維觀察等內(nèi)容。
(3) 真實感圖形建模與繪制(6學時),包括紋理映射、光照計算、陰影處理、植物、水波、地形建模繪制方法等。
(4) 實時圖形繪制(4小時),包括層次細節(jié)技術(shù)、模型化簡、并行圖形計算、碰撞檢測、基于圖像的繪制、圖形硬件介紹等。
(5) 科學計算可視化方法(4小時),包括三維規(guī)則數(shù)據(jù)場繪制、等值面構(gòu)造、三維不規(guī)則數(shù)據(jù)場的可視化、散亂數(shù)據(jù)的可視化、三維矢量場可視化等。
(6) 非真實感圖形繪制(2小時),包括著色處理、輪廓邊緣繪制,多風格繪制等內(nèi)容。
(7) 圖形平臺與工具(2小時),介紹圖形應(yīng)用的處理流程,使得學生了解各類圖形平臺系統(tǒng)與工具所處的層次和位置,介紹一些目前較為常用的工具平臺,給出它們的適用范圍。
(8) 實踐與講解(6小時),指導學生上機完成1-2個經(jīng)典算法的編程實踐,例如Z值消隱、光線跟蹤算法等,并對這些算法的實現(xiàn)進行講解,給出一些小的應(yīng)用例子幫助學生學習更好的理解算法應(yīng)用范圍。
對于計算機專業(yè)研究生,設(shè)置圖形學課程的目標應(yīng)為掌握重要的經(jīng)典、代表性算法(思路、概念、術(shù)語),了解圖形學研究的熱點和前沿技術(shù)成果,消除從課程學習到研究工作之間的溝壑。因此,可以建立計算機圖形學課程組(緊耦合),將每一門課的教學范圍收縮,在縱向上更為深入,幫助學生從理論到實踐,從課程學習到課題研究的平滑過渡。課程組包括“計算機圖形學基礎(chǔ)”(如本科時沒學過計算機圖形學課程可選),“真實感建模與繪制”,“實時圖形繪制”、“科學計算數(shù)據(jù)可視化”等課程。“計算機圖形學基礎(chǔ)”與本科課程的相同點是對二維、三維圖形繪制過程及圖形繪制流水線進行介紹,不同點在于更多地側(cè)重于算法的學習和實踐,例如多種直線填充算法、曲線曲面繪制算法等,因為這些內(nèi)容始終是計算機圖形學研究的重點內(nèi)容。在“真實感建模與繪制”,“實時圖形繪制”、“科學計算數(shù)據(jù)可視化”等后續(xù)課程中,除基礎(chǔ)概念術(shù)語、分支內(nèi)容介紹和經(jīng)典方法的講授外,教學重點可以放在自學方法培養(yǎng)的上,包括如何搜索相關(guān)學習資料,如何閱讀該領(lǐng)域論文,如何開展研究實踐(包括相關(guān)軟硬件平臺的使用)。在了解課程內(nèi)容、掌握基礎(chǔ)方法算法后,學生可以通過閱讀指定范圍的論文,對其感興趣的內(nèi)容深入學習,通過師生、同學間課堂交流解決遇到的問題,然后經(jīng)過課后的項目實踐來實現(xiàn)自己的想法,從而完成一個完整的研究過程,為以后的科研工作在研究內(nèi)容知識儲備和研究方法思路兩個方面都打下良好的基礎(chǔ)?!罢鎸嵏薪Ec繪制”,“實時圖形繪制”、“科學計算數(shù)據(jù)可視化”等課程后續(xù)課程的內(nèi)容可作如下規(guī)劃。
(1) 課程概述(2小時),包括課程目的,課程內(nèi)容范圍,課程教學方式,考核方式等。
(2) 課程各主題內(nèi)容(16小時),包括各主題問題的提出,研究的過程,主要是里程碑式方法算法,以及適用于不同場景的演化算法和改進算法。
(3) 課程實踐(18小時,可以安排在課時內(nèi),也可以安排在課后)安排學生閱讀相關(guān)領(lǐng)域國際會議期刊學術(shù)論文,設(shè)置多個實踐性項目(從易到難),指導學生完成。
4教學方式探討
通過閱讀一定數(shù)量圖形學教學相關(guān)的文獻資料,目前存在的教學方式主要包括了以下幾種方式。
(1) 教師講授,教師準備課件教案,在課堂上進行與學生面對面的教授。
(2) 課堂演講,學生閱讀指定專題的學術(shù)論文,然后在課堂上進行問題提出、解決思路、方法具體細節(jié)、實驗設(shè)計、結(jié)果分析、結(jié)論的講解。
(3) 實踐性項目,指導學生完成一個包括問題定位,解決方案規(guī)劃,編程實現(xiàn),結(jié)果分析總結(jié)在內(nèi)的完整研究過程。
(4) 雙語教學,又可分為中文課件+英文講授,英文課件+中文講授,中文核心內(nèi)容+英文總結(jié)等多種形式,其中學生英語水平、教師英文水平和教材的選擇也都會對教學效果產(chǎn)生一定的影響。
根據(jù)“計算機圖形學”上述課程特點、課程思路,以及課程內(nèi)容設(shè)置,我們建議在本科生課程教學中,主要采用教師講授為主,輔以少量實踐性項目,讓學生對圖形學有個全面的了解,并對研究內(nèi)容的難度有感性的認識。對于研究生課程,建議主要采用先課堂教授,然后在學生完成相關(guān)論文閱讀后進行講演、回答問題和討論的方式,使得學生掌握通過閱讀論文獲取解決問題的思路以及當前研究熱點、最新的技術(shù)成果等必需的知識內(nèi)容。也可以在課堂內(nèi)容講授的同時或之后,進行實踐性項目的練習,培養(yǎng)學生解決問題的思路,鍛煉學生的動手能力和創(chuàng)新性思維能力。另外,在研究生課程中,尤其是圖形學相關(guān)的后學課程中,很多的內(nèi)容都存在著國外資料眾多,國內(nèi)資料少的情況,因此對于部分內(nèi)容進行雙語教學,可以幫助學生熟悉相關(guān)的概念術(shù)語,國際上科技論文撰寫思路,使他們在今后的工作學習中更加自如地從國際水平的文章資料中汲取所需要的內(nèi)容,更好地開展研究工作。
5結(jié)束語
在“計算機圖形學”課程教學中,首先需要明確教學目的,根據(jù)課程的特點,對于不同層次的學生區(qū)別對待,包括設(shè)置不同的課程內(nèi)容,采用不同的教學方式等。對于本科生要注意培養(yǎng)學生的學習興趣,熟悉“計算機圖形學”所設(shè)計的范圍、內(nèi)容。對于研究生,則在此基礎(chǔ)之上,進一步引導他們循序漸進地學習專業(yè)知識技能,掌握從事科學研究的方法,為以后將要開展的相關(guān)研究工作做好準備。