時間:2023-03-16 17:34:23
導言:作為寫作愛好者,不可錯過為您精心挑選的10篇計算機圖形學課程,它們將為您的寫作提供全新的視角,我們衷心期待您的閱讀,并希望這些內容能為您提供靈感和參考。
\[3\]楊開城,李文光,胡學農.現代教學設計的理論體系初探\[J\].中國電化教育,2002(2).
\[4\]張貴芹.以“學習活動”為中心的《課程理論》課的教學設計\[EB/OL\]..
\[5\]楊開城.教學設計理論新探索\[M\].北京:電子工業出版社,2005.
\[6\]王楠.在線學習活動設計策略研究\[J\].中國遠程教育,2011 (2).
計算機圖形學是伴隨著計算機及其他設備的發展而產生的,是一門研究怎樣利用計算機表示、生成、處理和顯示圖形的原理、算法、方法和技術的學科[1-2]。目前,計算機圖形學已經成為計算機學科中發展最活躍、應用最廣泛的分支之一,成為許多計算機從業人員的必備素質之一,也是計算機及相關專業本科生的一門專業選修課。該課程在我校已經開設了多年,其教學任務是本著理論與實踐相結合的原則,以基本概念、算法原理和實踐技術為主線,使學生掌握計算機圖形生成與處理技術的基礎知識、基本原理和方法,培養學生的實際動手能力。然而,歷年的教學工作中發現,由于該課程學科內容豐富、理論難度大、實踐性強,且作為專業限選課學時又有限,導致了學生對所學內容不易掌握,疲于應付,甚至產生學生厭學、教學低效等現象。
因此,如何提高學生的學習興趣,增加課堂信息量,解決課時少與內容多的矛盾、理論與實踐的矛盾,是計算機圖形學教學工作中一個非常值得思考的問題。本文面向計算機科學與技術專業,在分析計算機圖形學教學中存在問題的基礎上,針對該課程的學科特點和學生的特點,根據筆者近年來在教學實踐中的親身體會,探討一種新的教學思路和方法。
1計算機圖形學的學科特點
計算機圖形學是一門理論和實踐兼顧、綜合性很強的交叉學科,涉及內容和應用領域都很廣泛。它涵蓋了計算機科學、數學、物理學等其他相關學科的知識,學科交叉繁雜,且整個學科的發展日新月異。同時,該課程對高等數學、線性代數等基礎數學有較高的要求,以數據結構、計算機高級語言、圖形基本原理等為先導課程。因此,要將這樣一門課的內容保質保量地傳授給學生,不是一件容易的事,需要積極探討新的教學方法和教學思路。
2教學中存在的問題
在教學實踐中,筆者發現該課程的教學問題主要體現在以下幾個方面:
1) 理論基礎要求高,教學效果差。計算機圖形學理論性強,部分算法抽象且以數學為依托,教學過程中過分強調課程的數學基礎,側重于算法原理的推導,而多數學生數學功底薄弱,故在學習過程中表現出畏難情緒;同時,其先修課程都是在低年級開設的,容易遺忘,而在計算機圖形學的課堂上又不可能花太多的時間進行先修課程的復習,從而使其成為部分學生難以逾越的障礙。
2) 教學內容多,知識點分散。計算機圖形學涉及的方法原理很多,教學內容易面面俱到,導致學生只掌握了分散的知識點,沒有形成一條完整的知識鏈,學生對所學知識無所適從,失去學習的目標,極大影響了學生的學習熱情;同時,教學內容只局限于經典的算法原理,面向學科前沿動態的內容涉及較少,不利于開闊學生視野,激發他們自主學習的意識和興趣。
3) 實驗課比例較小且實踐環節滯后。計算機圖形學也是一門實踐性很強的學科[3-4],上機實踐是培養學生動手能力的主要手段,也是學好這門課的必要手段。但是,由于總課時的壓縮,實驗課時很少,僅提供8學時,使原本很重要的實踐活動變成了搭配;上機實習平臺采用的是目前已不作為主要開發工具的Turbo C,致使學生不能在實驗中獲得將來就業環境下需要掌握的編程知識,上機興趣不高,同時大部分學生本身的編程能力也不強,最終導致學生喪失編程的興趣和能力。
4) 學生積極性不高。計算機圖形學開設在大三上學期,大部分同學把精力用在考研和考公務員等方面,而這門課不是考研的必考課,學分也不高,因此,大多數同學認為圖形學不重要,學習的積極性不高,整個學習過程都很被動。
3教學思路探討
計算機圖形學的教學目標之一,就是通過本課程的學習,使學生對計算機圖形學有一個全面、感性的認識,理解并掌握部分經典算法,了解當前的研究熱點。根據這一實際要求,提出了計算機圖形學課程的總體教學思路。在教學中,以基本理論和算法原理為主線,以Turbo C、OpenGL等軟件為載體,對圖形學內容進行整體優化,加以創新處理,采用多種教學方式,加強理論與實踐的結合,通過正確引導,激發學生的興趣,挖掘學生的潛能,最終培養學生的邏輯思維能力和實際動手能力。以下筆者將根據自身的教學實踐來闡述該課程教學過程中的認識和做法。
3.1上好緒論課,激發學生的學習興趣
教學過程中調查發現,大多數學生對計算機圖形學采取的是一種敬而遠之的態度。首先,他們通過計算機圖形學在娛樂、廣告等領域的廣泛應用充分感受到該課程的生動有趣及實用性,對該課程飽含熱情;而與此同時,在他們的印象中,計算機圖形學涉及學科很多,尤其數學公式很多,很多內容難以理解和掌握,故他們又對學好這門課充滿懷疑。也正是這種期望與現實的失衡成為打擊學生學習熱情的“元兇”。因此,我們應該重視緒論課,并以此作為突破口,通過查閱大量資料,結合目前圖形學的發展動向,根據所講授內容,充分利用多種教學手段,將圖形學知識融匯貫通起來,讓學生在不知不覺中了解并接受計算機圖形學,解除他們的疑惑,鼓舞他們的熱情。如在介紹圖形學在虛擬現實的應用時,可以插入一段視頻,模擬人在虛擬場景中漫步,不但可以講明具體應用,而且學生易于接受,印象深刻。
3.2教學內容
計算機圖形學內容深而廣,知識更新快,教學工作者需要在有限的學時內,即兼顧基礎知識又能反映計算機圖形學的研究進展,因此,教學過程中,在教學內容上要注意以下幾點:
1) 根據學生的接受程度,精選核心內容,壓縮或屏蔽部分知識,使學生專注于必要知識的學習,從而提高教學效率和教學質量。我們的教學內容主要包括:圖形變換、光柵圖形學、幾何造型、圖形裁剪及真實感圖形繪制。其中,前兩部分相比較而言,是基礎,內容較簡單,講解要深入一些,保證該部分理論具有“點”的深度,如幾何變換,包括;平移、旋轉、縮放等變換,以及幾何變換的矩陣表示形式和復合變換的多矩陣組合形式,此外還要說明齊次坐標引入的必要性;幾何造型中,尤其是曲線曲面造型部分,要根據學生的實際情況來決定內容的深淺。對于曲面,難度較大,理解起來比較困難,不適合本科生的學習,故其生成算法完全被屏蔽;而曲線的生成算法雖較曲面易理解,但也不能過于深入,這里只重點介紹B樣條曲線和貝塞爾曲線的生成技術和特點,并且講解過程中,結合現實生活的例子,引入具體應用,如在汽車、飛機外形設計中的應用;裁減計算,也是計算機圖形學的核心,這里重點講解直線段的裁剪算法和多邊形裁剪算法;對于真實感圖形繪制部分,由于涉及的知識面廣,理論深,同樣不適合本科生的學習,故這一部分內容只介紹一些基本概念。總之,上述的內容涉及許多概念和算法,要求學生把重點放在基本概念和算法的思想上,不強調學生去掌握和實現算法的具體細節,但要求掌握幾個經典的算法。
2) 注重基礎,強調基本原理和基本概念的理解,同時還要突出重點、重視應用。對一些要求學生掌握的經典算法,如Bresenhan算法,掃描線填充算法等,要重點講授,仔細分析,強調其基本原理和基本思想,并在學生理解掌握的基礎上,結合具體實例的剖析,告訴學生理論和實際應用的切入點,給予學生理論結合實際的基點,激發學生興趣,逐步培養他們的科研能力。
3) 制定教學內容時還應跟上時代步伐,介紹一些最新的學科前沿和研究進展,一方面增加理論教學的趣味性,另一方面使學生對學科前沿有一個概念性的直觀理解,增加學習興趣,拓寬他們的知識面,從而為學生從事該領域的應用開發或研究工作打下良好基礎。
3.3理論教學
計算機圖形學的教學應采取課堂講授為主、上機實驗為輔、以學生為主體、教師為主導的教學模式。為達到教學效果,理論教學應從以下幾方面加強:
1) 加強可視化教學。
計算機圖形學的很多算法理論性很強,數學模型也比較抽象,單純采用文字敘述附以靜態圖片的PPT形式的教學手段,教學效果并不理想,尤其是對于一些經典或復雜的算法,效果更差。因此,應充分利用目前流行的課件制作工具,如Flash、OpenGL等,制作經典算法的仿真演示,使晦澀難懂的原理公式變成栩栩如生的畫面。筆者在講授經典算法時,將其原理用Flash做成動畫插入到PPT中,使學生可以直觀感受到算法的效果,提高了課堂氣氛,增加了學生的學習興趣。
2) 注重啟發式教學。
平鋪直敘、滿堂灌的教學方法只會讓學生感到枯燥、乏味,從而影響他們的學習積極性和主動性。尤其在講授以數學知識為支撐的算法時,切忌繁瑣復雜的公式推導和連篇累牘的算法分析,避免學生的煩躁情緒,而應采用啟發式教學方法,通過“提出問題同學解答問題分析問題解決問題分析解決方法的優缺點”的思路,引導學生思考,層層深入、逐步展開,充分調動學生的學習積極性。例如在講解多邊形裁剪時,首先啟發學生多邊形是由線段組成的,是否可以將線段裁剪方法用于多邊形裁剪?學生點點頭,然后接著問,那么是否適用呢?學生進入了思考的狀態,這時借助課件給出采用線段裁剪算法對多邊形進行裁剪得到的裁剪結果,并給出一個否定的答案,繼續提問為什么會不適用?引導學生進一步思考,然后進行分析,給出不適用的原因,在線段裁剪算法中,是把一條線段的兩個端點孤立地加以考慮,而多邊形是由一些有序的線段組成,要求裁剪后的多邊形仍保持原多邊形各邊的連接順序。既然這個算法不適用,就應該尋找一種有效的裁剪算法,接著引入多邊形的逐邊裁剪算法。介紹完逐邊裁剪算法后,繼續啟發學生思考,這種算法是否適用于所有的多邊形?學生會給出肯定的回答,這時進一步啟發,如果是凹多邊形,逐邊裁減算法是否適用,如果不適用,如何改進?這可能是學生沒有預料到的,他們會對接下來的內容表現出濃厚的學習興趣,進一步分析,當多邊形為凹多邊形,且裁剪后的多邊形有兩個或多個分離部分的時候,由于只有一個輸出頂點表,表中最后一個頂點總是連著第一個頂點,會出現多余連線的現象,這就是下一步需要改進的地方,而邊界裁剪算法則可以避免這一問題。再如,在講解直線段的繪制時,首先讓學生自己設計一個算法,這時幾乎全部的學生都會給出直線段生成的普通算法,即根據直線方程,通過設置x取值范圍,求出屏幕的一系列點,然后提問學生,從算法效率角度來看,普通算法存在怎樣的問題,引導學生思考,最后引入直線段的繪制算法。因此,啟發式教學方法可以給學生主動思維和積極思維的空間,將學生一步步帶入算法設計中,有效提高教學質量。
3) 做好課前回顧。
以目前課程開設時間和學生的實際情況,要求學生課后復習課前預習似乎是強人所難。為了加強知識的連貫性,鞏固所學知識,應該在課前拿出較短時間對上堂課的學習內容進行簡單回顧,然后過渡到新的教學內容。
3.4實踐教學
實踐教學是理論教學的深化和補充,是學好計算機圖形學的重要保證,也是培養學生動手能力的有力武器。因此,教學過程中要加強實踐教學,將理論教學和實踐教學密切結合起來。
1) 實驗題目層次化。
根據大綱要求,結合學生的實際情況,將實踐教學由淺到深分層次進行。我們共有8個學時的實驗,按照由淺到深的原則安排了4個小實驗:直線生成、圖形變換、裁剪計算、曲線生成,以及1個綜合性實驗。對于驗證型實驗,即那些有代表性的算法,如直線生成、裁剪計算等,要求每個學生根據教材的子程序親自動手實現,加強對課堂所學基本算法的理解,培養他們的成就感,并且,題目的要求也隨著難易程度發生變化,如直線生成算法比較簡單,要求學生實現的算法必須具有通用性,同時,為增加學生的學習興趣,可以巧妙設計實驗內容,如在實現直線生成算法時,可以讓學生畫線生成漢字;圖形變換主要讓學生實現二維圖形的變換,包括平移、旋轉、縮放及復合變換等內容,由于這一實驗包含多個操作,要求學生增加菜單選擇功能;裁剪計算要求實現線段裁剪算法,從易操作的角度出發,要求算法采用交互式的畫線方法;曲線生成算法要求學生采用根據參數曲線定義的方法來實現,對于編程能力強的同學,在曲線生成的基礎上,增加鼠標拖動控制點改變曲線形狀的要求。對于綜合型實驗項目,學生可根據自身學習能力和實踐能力選擇獨立完成或合作完成,通過綜合型實踐訓練,不但培養了學生的動手能力和創新意識,而且還培養了他們的團隊協作精神。
2) 開發環境多元化。
完善教學內容,擴展學生的知識面,實踐教學采用開發環境的聯合。對于驗證性實驗,學生可在Turbo C環境中實現,而對于綜合性實驗,鼓勵學生基于OpenGL進行編程。讓學生提前介入到使用OpenGL編寫“應用軟件”,不但可以滿足學生的興趣,還可以提高學生的實際動手能力。
4結語
計算機圖形學是一門不斷發展的交叉學科,其教學方法需要在實踐中不斷探索。我們教學工作者在研究高效率的教學手段和教學方法的同時,還應積極參與教學內容相關的科研工作,從而更加明確教學重點和難點,做到在教學過程中有的放矢,激發學生學習和思考的積極性和主動性。
參考文獻:
[1] 何援軍. 計算機圖形學[M]. 2版. 北京:機械工業出版社,2009:2.
[2] 吳元斌.“計算機圖形學”教學的幾點體會[J]. 安康師專學報,2004(4):119-121.
[3] 魯敏,于慧穎,鄭平剛. 信息工程專業計算機圖形學教學模式思考[J]. 高等教育研究學報,2006,29(3):31-33.
[4] 潘革生,何援軍,趙峻穎. 計算機圖形學教學理念的研究與實踐[R]. 煙臺:第一屆中國圖學大會,2007:476-479.
The Thinking of Teaching on Computer Graphics
WANG Yanchun, ZHANG Jinzheng, LI Shaojing
關鍵詞:雙語教學;專業英語閱讀;計算機圖形學
中圖分類號:G642
文獻標識碼:B
在當今社會全球化發展的時代背景下,計算機和英語已經成為學生必須掌握的工具。對于計算機專業的學生來講,計算機的很多技術文獻(指令)都是英文的,能熟練閱讀英文資料、文獻和書籍是順利完成計算機專業課程學習的一個必要條件。
1計算機圖形學課程實施雙語教學的目標
計算機圖形學(Computer Graphics)是計算機科學學科發展最活躍的分支之一,在國民發展的各個領域中發揮著重要的作用,2002年該課程被批準成為北京工業大學十門首批設立的雙語教學課程之一。
雙語教學是指使用漢語和英語這兩種語言進行教學,而不是純英語教學,它應該是兩種語言的合理應用,包括講授內容的針對性、學生的理解性、專業知識的主導性,主要目的不是學習英語,而是為了使學生通過外語這一語言工具探索世界,并適應社會多樣化的需求。
在教育部舉辦的一次有關雙語教學的研討會上有專家指出,高校開展雙語教學可以得到三個層面的收獲:一是外文專業詞匯和外文水平的提高,二是學科知識和能力的掌握,三是吸收國外先進的理念。
要在計算機圖形學課程中有效實施雙語教學并取得良好效果,必須首先清楚雙語教學的目標,并在教材選擇、教學方式、課堂母語使用度、雙語教師的選擇及考核方法等具體實施過程中貫徹執行。
傳統的英語教學往往以生活語言及文學語言為主要教學內容,強調學生的生活交際能力。很多學生雖然通過了四、六級英語考試,但在閱讀很普通的英文專業資料時仍然困難重重,畢業論文的摘要破綻百出。因此,專業課雙語教學應致力于為學生創造使用外語進行學術思維和交流的氛圍,作為傳統英語教學的有效補充,提升學生應用英語進行工作交流的能力。
具體而言,課程開展過程中,學生逐步能聽懂英文授課、英文學術報告,進而參與和主持英文學術討論和辯論;準確、全面地理解教材內容,流暢地閱讀專業文獻,用英文撰寫作業或與專業相關的描述性、說明性、敘述性和論述性文章。
學生通過語言關后,還要通過英語這一工具獲得新的知識并將知識化為實際工作能力。計算機專業的雙語教學要致力于在專業教育上保證教學內容的先進性,教學內容與國際接軌,激發學生雙語學習的積極性,同時要開拓學生專業知識的深度和廣度,這就對雙語教學的專業課任課教師提出了更高的要求。
2計算機圖形學雙語教學的模式
通過這些年在雙語教學中的實踐探索,作者摸索出了一些有效的教學方法,并對其中一些必須面對的問題進行了深入的思考。
(1) 教材的選擇。原版教材的使用可以幫助教師學習和借鑒國外現代的教學理念、先進的教學方法和手段,有選擇地吸收新的教育思想和與國際接軌的人才培養新體系。尤其該學科專業領域的資深學者所編寫的教材,往往具有獨特的邏輯結構和思維方式,使學生能夠清晰準確地理解所學課程的內容。
從目前國內進行的雙語教學實踐來看,學生更歡迎原版教材,普遍認為原版教材內容更加實用,更能采用符合國際慣例的方式處理專業事務和信息。但是,原版教材在某些方面脫離我國國情,不適合高校原有教學體系的情況,影響了學生專業知識的系統性和完整性。這就需要任課老師認真選擇適合學生使用的教材。
(2) 大綱的制定和學時的調整。由于使用兩種語言授課,且學生接受能力有限,雙語教學過程中為了讓學生理解透徹所授內容,難免出現課程進度減緩的情形。因此,教學大綱可以允許與純母語教學有一定出入,任課教師可根據經驗確定向學生傳授的知識系統結構。對國外教材沒有必要照搬,對基礎理論和重點內容一定要講清、講透,就是多占用一些課時也在所不惜。
(3) 講授的方式。目前學生間英語水平相差較大,在講課時要由淺入深,一開始可以適當使用較多的中文,循序漸進地增加英文內容。作者在每次上課時總要抽出十分鐘的時間用英文回顧一下上次課所講的主要內容,讓學生對所學知識有一個整體回顧,又能在熟悉的語言環境中鍛煉英文的理解能力。由于計算機圖形學是基礎課程,以學習基礎知識為主,一些專業術語采用漸進式加入,簡單的內容用全英文講解,在算法、原理等核心內容部分用中文講解,最后用英文對所講內容進行總結。這樣既營造出一個英文學習的環境,又用中文讓學生很好地理解本章節所學的重要知識點。隨著學生英文學習能力的增加,在課件中加大英文的內容,直到全部使用英文課件。這樣學生在學習過程中不會因為外語水平而失去對這門功課的學習興趣。
當然這也需要任課教師具備很好的技巧,在適當的語境中完成英文的轉化,讓學生學會專業知識的同時又提高了專業英語水平。在一些較難的知識點中,作者會通過肢體語言、板書等方式來幫助學生理解概念,避免由于語言滯后造成學生的思維障礙。教師還需循序漸進地增加專業詞匯,在課堂上有針對性地把原版教材中的基礎理論、關鍵概念和詞匯提取出來進行講解。通過老師細致的觀察及時捕捉學生的反饋,若發現學生沒有很好地反饋,就要用中文及時講解一下,使學生充分理解這一知識點,再用英文來講授。
3雙語教學的思考
(1) 教師隊伍。盡管國內多數高校在試行雙語教學的過程中不斷強調要重視雙語教師師資的培養,但是即使是有留學經歷的教師,完全用英語授課也有困難。教師水平成為順利推廣雙語教學的瓶頸之一,這將是一個長期努力探索的過程。
值得注意的是,雙語教師的培養不同于一般的專業授課教師的培養,也不應等同于英語專業的教師培養,必須兩者兼顧。專業課英語大多屬于科技英語,準確無誤地使用專業英語進行口頭和書面表達應當是雙語教師在自我提升過程中必須做到的。
另外,雙語教師本身應是熱愛雙語教學的,能夠以最大的熱情投入到雙語教學中去。雙語教學具有很大的難度,不是業務水平高或是英文底子好就可以勝任的。因為,雙語課程除了要講好一門課,還要運用好一門外語,更重要的是,必須將兩者都很好的兼顧。熟練運用兩種語言授課,合理分配兩種語言整合知識點,必須成為雙語教師對自身的要求。如果雙語教師的熱情不夠,往往會造成虎頭蛇尾的情況。
中圖分類號:TP391.9 文獻標識碼:A 文章編號:1009-3044(2014)01-0209-04
1 概述
虛擬現實(Virtual Reality)也稱虛擬現實環境,是指用計算機技術生成一個逼真的三維視覺、聽覺、觸覺或嗅覺等感覺世界,讓用戶可以從自己的視點出發,利用自然的技能和某些設備對這一生成的虛擬世界客體進行瀏覽和交互考察。簡單的說,虛擬現實是一種可以創建和體驗虛擬世界的計算機系統,提供了先進的人機交流技術。目前虛擬現實技術已被廣泛應用視景仿真現實、軍事駕駛模擬、3D游戲開發、虛擬設計與規劃、仿真培訓、遠程操作控制等領域之中[1]。
虛擬現實技術同時也是一項綜合性計算機圖形交互技術。計算機圖形學中的一些方法,如三維造型與變換、光照模型、科學計算可視化等為虛擬現實技術提供了理論和技術基礎。計算機圖形學的發展帶動了虛擬現實技術的進步,同時虛擬現實技術在各領域中的廣泛應用也使圖形學的各個研究方向得到充分發展[2]。在高校計算機專業的計算機圖形學課件的教學中,虛擬現實不算是一個重要的、必修的知識點,但如能在掌握三維造型方法的基礎上輔以虛擬現實的運用,那么將能有效地提升實踐操作的實際應用意義,激發學生研究探索興趣,令圖形學課程的相關知識綜合運用起來,達到學以致用,相得益彰。
2 虛擬實現技術簡介
虛擬現實有四個主要特征:多感性;沉浸感;交互性;自主性。理想的、最高境界的VR技術是:虛擬場景具備與真實環境一樣的真實感、能調動一切人所具有的感知功能、操作者完全感受與自然環境一樣的自由度和人-物交互感應。但實現中由于技術的限制,達到高度逼真的虛擬現實比較困難。目前,從技術難度和體驗程度來劃分,虛擬現實技術主要分成以下三類:
1) 桌面虛擬現實(Desktop VR):利用個人計算機和工作站進行仿真,將計算機的屏幕作為用戶觀察虛擬境界的一個窗口,通過各種輸入設備實現與虛擬現實世界的充分交互。
2) 沉浸式虛擬現實(Immersive VR):利用頭盔式顯示器、位置跟蹤器、數據手套等多種交互設備,為參與者提供一個新的、虛擬的感覺空間,并產生一種身臨其境、全心投入和沉浸其中的感覺。
3) 分布式虛擬現實(Distributed VR):將不同用戶通過計算機網絡連接在一起,共享同一個虛擬空間并協同工作達到一個更高的參與協作境界[3]。
其中,桌面虛擬現實是最基礎的VR方式,雖然現實體驗真實感不足,但該方式成本低最易容實現,且其應用也最為廣泛。在計算機圖形學教學實踐中,根據學習程度的不同,可以引導學生通過以下三種方式實踐桌面虛擬現實的實驗:(1) 基于VRML的VR實現;(2) 基于三維建模技術的VR實現;(3) 基于Web3D技術的VR實現。
3 計算機圖形學的虛擬現實實驗探索
3.1 基于VRML的VR實現
VRML(Vritual Reality modeling Language,虛擬實現建模語言)于1997年作為國標標準正式,它揭開VR技術在互聯網上的應用序幕,也推動了后來Web3D技術的發展更新。
VRML提供對三維基本對象如長方體、球體、圓錐、圓柱等的描述,同時定義了三維應用中常用的語言描述,如層次變換、光源、視點、材質和紋理映射等,并且有簡單的行為特征描述功能。一個VRML文件一般由文件頭、腳本和路由組成,其基本語法結構如下:
#VRML V2.0 utf8 #文件頭,放在第一行,是VRML文件的標志
節點名{
域 域值
… …
}Script{ #腳本節點
… …
}
ROUTE … … #路由,把入事件與出事件相關聯
以一個簡單的程序實例說明VRML的編程模式。該程序建立了三個3D對象:長方體、球體和圓錐并賦予了不同的方位、顏色等屬性。
#VRML V2.0 utf8
DEF box Transform{ #定義一個變換節點box
translation -5 0 0 #設置空間坐標位置
children [ #定義節點的子節點
Shape { #定義形狀
geometry Box{size 2.0 3.0 1.0} #長方體定義
appearance Appearance{ #定義外觀
material Material{ #定義材質
diffuseColor 1 0 0 #設置漫射色顏色
} } } ] }
DEF sphere Transform{
translation 0 0 0
children [
Shape {
geometry Sphere{} #定義一個球體
appearance Appearance{
material Material{ diffuseColor 0 1 0 }
} } ] }
DEF cone Transform{
translation 5 0 0
children [
Shape {
geometry Cone{ } #定義一個圓錐體
appearance Appearance{
material Material{ diffuseColor 0 0 1 }
} } ] }
VRML程序保存成.wrl文件格式。另外,要使瀏覽器提供VRML的瀏覽功能,還必須安裝VRML插件,常用的插件有Contact、Cosmoplayer、Cortona等,圖1是上述程序在安裝了BS Contact VRML插件的IE瀏覽器中的顯示效果。在瀏覽器中用戶可通過系統提供的工具實現對三維對象的交互式顯示操作。
基于VRML的虛擬實現技術可展示虛擬場景中各部件的位置及相互之間的關系,其文件短小,適用于網絡應用。但其不足之處是三維圖象質量一般,難以實現復雜場景展示及交互,與外界的通信能力也比較差。
3.2 基于三維建模技術的VR實現
在掌握一定三維建模方法的基礎上,也可借助三維建模軟件的功能進行VR實現。三維建模軟件能夠提供虛擬現實中所需要的各種三維模型,較常用的軟件有3DSmax、Maya及Creator等,這些軟件把復雜的建模過程變得非常簡單和易于理解。以下以3DSmax實現擺球仿真為例介紹VR實現方法:(1)在軟件平臺中建立了仿真擺球模型,并實現擺球的運動動畫,如圖2如示。(2)使用3DSmax“導出”功能將該模型導出為VRML97(*.WRL)格式文件。(3)使用安裝了VRML插件的瀏覽器打開該wrl文件實現擺球的虛擬運動展示及交互。圖3為擺球在IE瀏覽器中的VR顯示效果,用戶可用工且以任意方位和角度觀察擺球的運動。
該方法可在實現較復雜模型、動態模型的基礎上現實VR。其最終顯示方式仍是VRML描述模式,由于受插件的限制,瀏覽器達不到理想的實時展示和實時交互效果。
3.3 基于Web3D技術的VR實現
目前更主流的虛擬現實技術是憑借Unity3D、Wirefusion、Cult 3D、Virtools、C3d、Truntool等一類引擎下實現的Web3d技術。這些軟件使用專用的文件格式和瀏覽器插件,在實現實時渲染、圖像質量、造型技術、交互性以及數據的壓縮與優化上均優于VRML。此外,這些軟件也可與3DSmax等三維建模軟件配合使用。
以Unity3D為例,它是一款VR應用程序開發引擎,具有跨平臺、強大的地形編輯功能、高效高質渲染效果、支持用戶定制交互要求等特點,非常適合開發高逼真虛擬和交互展示的需求。基于Unity3D的虛擬現實是用Unity3D引擎開發的一個能夠實現動態加載和展現3D模型的Web Player應用。通過安裝Unity3D插件就可以實現在瀏覽器上運行Web Player來加載產品模型展示[4]。
在虛擬展示系統中,用戶對場景中具體的產品的選取及操作是交互性最充分的體現,即當用戶在虛擬場景中用鼠標點擊或指向某一產品時,系統應做出相應設定的響應[5]。Unity3D 的GUI接口提供了各種控件(如按鈕、窗口等)以支持編輯用戶交互界面;通過重寫鼠標事件可以檢測用戶的各種輸入信息并作出相應的響應;通過變換組件又可以完成產品的平移、旋轉、比例變換等各種操作。圖4及圖5是運用Unity3D和3Dsmax開發的“運動與健康虛擬現實展廳”。作品通過VR技術實現主題為“運動與健康”的漫游展廳,并以Web3D網頁形式提供了一個實時交互的參觀平臺,使用戶可以身臨其境地感受展廳內的景觀。
就目前而言,大多數的Web3D技術主要用于三維顯示技術的網絡應用開發,這也決定了Web3D技術主要特點就是對3D模型的網上三維交互演示。
4 結束語
虛擬現實技術與圖形學技術緊密關聯,圖形學三維造型等技術是虛擬現實的一個堅實臺階,VR技術又是圖形學的拓展延伸,具有廣泛的應用前景。該文嘗試在高校計算機圖形學教學中引入桌面虛擬現實的實驗,并由淺入深地提出三種VR實現方法,旨以使計算機圖形學的實驗開展更具實用及研究意義。
參考文獻:
[1] 陸楓,何云峰. 計算機圖形學基礎[M].2版.北京:電子工業出版社,2008:11-12.
[2] 石玉玲.虛擬現實技術與圖形學[J]. 職大學報,2008(2):90-91
Abstract At present, computer graphics has become an important part of undergraduate computer education, and it is also plays an important role to cultivate innovative talents to adapt to the information age. Based on the teaching of computer graphics course by the author as an example, analyzes the existing problems in the teaching of computer graphics, and put forward improvement ideas from three aspects: according to the different needs of students utilizing the third party demonstration teaching and cross curriculum interpretation, introducing course group to replace single course, employing group practice examination instead of individual, and other forms to improve the quality of teaching.
Keywords computer graphics; third party demonstration; course group; group practic
計算機圖形學是一門介紹顯示、生成和處理計算機圖形的原理和方法的課程。它在計算機總體教學體系中屬內容綜合性較強且發展迅速的方向之一。該課程既有具體的圖形軟硬件實現,又有抽象的理論和算法,旨在為學生從事相關工作打下堅實基礎。學生須以高等數學和線性代數的基本理論和較熟練的程序設計能力作為本課程學習的基礎。課程的難點在于計算機圖形學研究范圍廣,與其他學科交叉性強,且知識不斷更新變化。在教學實施過程中,難點是理解和掌握相應的基礎理論和算法,以及利用計算機圖形學相關工具進行圖形學實際問題的解決。
本課程對學生的培養學生圍繞以下三個方面展開: (1)建立對計算機圖形學的基本認識,理解圖形的表示與數據結構、曲線曲面的基本概念。(2)理解并掌握基本圖形的生成算法,并能對現有的算法進行改進,理解圖形的變換和裁減算法。 (3)面向算機圖形的程序設計能力,以底層圖形生成算法為核心構建應用程序。相應的考查方式由理論授課、上機實習和課外作業三個單元構成。從近年的授課實踐和考試情況分析,該教學內容難度設置合理,深入淺出且相互承接成為體系,學生總體反饋良好。但也存在一些矛盾和問題。以下將對幾個問題進行重點闡述與思考,并提出課程改革思路。
1 計算機圖形學與計算機輔助設計銜接問題
筆者所在院校是具有航空航天背景的工科院校,“CAD計算機輔助設計”是飛行器設計、機械設計與制造等多學科的重要課程。相關學科學生期望通過對計算機圖形學知識的深入理解,促進CAD設計工具諸如Catia、Solidwork和Rhino等先進工具的運用能力。然而,目前的計算機圖形學課程的教學和考察環節倚重低層算法講解與基于OPENGL等的程序設計,除綜述外并未具體引入CAD相關內容。產生的問題是,一方面,飛行器設計及機械設計與制造等專業的學生由于程序設計能力不足,難以駕馭較復雜的程序設計任務,在學習過程中心理壓力較大;另一方面,由于授課均為教師為計算機相關專業背景,該課程的講授并未銜接CAD相關技術,學生難以構建二者之間的聯系。
解決方案:
本質上,該問題是由于選課學生的學習動機和基礎不同造成的。以單一的教學和考查方式難以兼顧這類面向具體應用的學習需求。在教學方法上,采用第三方案例教學法和交叉講解法相結合以解決此問題。具體的,將CAD等應用場合以具體案例形式講解,授課教師邀請飛行器、機械設計相關教研組研究生以4~6學時的講臺演示的形式呈現CAD工具完整設計過程。授課教師則以交叉講解方式為學生講解運用到的計算機圖形學知識點,同時與學生交互式的問答和探討。在考查形式上,考慮到不同的學習動機和基礎,采用多樣化實踐環節考查。計算機專業學生以OPENGL程序設計為考點,而外專業學生以CAD等面向應用的實踐工具為考點,以兼顧各專業的學習需求。
2 計算機圖形學與計算機視覺相結合的問題
當前,虛擬現實技術(VR)和人工智能技術(AI)兩個最重要最熱門的研究領域。虛擬現實的基礎理論支撐是計算機圖形學,例如三維場景的生成與顯示。而人工智能的一個重要應用場景是計算機視覺,例如基于圖像智能識別的自動駕駛技術和場景理解技術。很多學生對以計算機視覺為代表的人工智能技術懷有濃厚興趣,同時,學生又難以區分計算機圖形學和計算機視覺的關系。同時,二者在近年來的研究中呈現相互融合的趨勢。如基于三維立體視覺的機器人與場景實時定位與重建。如何在計算機圖形學課程中,很好地體現兩門課程的不同,避免學生的混淆,拓展學生的知識面,都是具有現實意義的課題。
解決方案:
實際上,計算機圖形學和計算機視覺可不失一般性的概括為互逆的關系:計算機圖形學是由概念設計到模型生成,最終繪制圖形圖像的過程;而計算機視覺則是從原始圖像中再加工并分析理解、以產生新圖像(如二維到三維)或輸出語義信息(如圖像自動標注與理解、目標檢測與識別)。將計算機圖形學納入“視覺處理課程群”框架,使學生首先掌握課程群中各課程的側重點,著重理解圖形學在課程群中的作用。精心選取2~3個計算機視覺和圖形學交叉的當前主流研究方向,展開概念層面的演示講解,不深究具體算法,著重闡述兩種技術的相互依賴關系并對比二者的區別。相關領域的演示還包括增強現實、人機交互、計算機輔助診斷等等。鼓勵學生自主學習,最終使學生在做中學、用中學,提高獨立分析新問題和綜合運用知識解決問題的能力。
3 如何平衡算法講解和程序應用技能
計算機圖形學涉及的算法多,核心算法是該課程的必講內容,在算法細節的講解過程中學生容易產生畏難厭學情緒,注意教學方法以調動學生的興趣尤為重要。另一方面,對學生的考察方式最終是通過編程實踐完成。學生在編程實踐中常常遇到大量調試問題,同時要閱讀大量文檔以了解OPENGL接口函數的調用方法,這個過程占用了很大工作量。
解決方案:
在理論教學部分,著重講清計算機圖形學原理和概念、全面解析經典算法思想。課程強調對理論核心思想的闡述,用通俗易懂的語言,條例清晰的邏輯,進行簡明透徹的闡述,附以直觀、形象的動態演示系統,力圖使學生在較短的時間內、有效地掌握基本理論。分析圖形學各種經典算法的原理、可行性及幾何復雜性,盡可能多地比較算法之間的思想差異,分別指出它們的優缺點和應用場合,并促進學生思考如何在保證算法的準確性、可靠性的前提下,提高算法的效率。同時注重接近國際前沿的研究內容,注重講授經典知識和最新進展相結合,以激發學生的學習興趣,提高課堂效率和活躍度,力爭以較少的課時闡述計算機圖形學的基本原理、基本方法,加大實踐環節比重。通過往年學生完成的優秀課程作業作品的展示,激發學生的創造熱情。改革實踐環節的考查方式,以項目小組形式取代對個體的考查。原則上每組3~5人,自由組合。在課程結束前,采用小組現場演示講解的方式,展示小組成員通過編程實踐環節完成的一個項目。學生在項目小M中鍛煉了團隊協作能力,降低了個人工作強度,同時互相學習和督促的氛圍使課程作業的質量得以大幅提高。以基礎實驗――目標性重建實驗――自主性訓練的層次化實踐框架模式,逐步培養學生自主研究,獨立解決問題、分析問題,確定解決方案的能力,樹立正確的科學研究習慣,培養學生的科學研究能力。
總之,合理設計實踐教學案例,進一步實現課程體系和實踐內容的統一,建立一個多層次、立體化的實踐教學體系,注重學生的參與性與實踐性,引導和鼓勵學生進行創新實踐和課外研學。改革考核方式和考試形式,加大實踐環節在成績中的比重,強化實踐能力培養,寓教于樂的同時引導學生追求卓越。此外,計算機圖形學技術是發展非常快的一個研究及應用領域,且對編程要求較高,應注重實驗室機房投入更新必要硬件,并保障軟件編程環境的正常運行。
L鼙疚氖苤泄┦亢蠡YBA15035,江蘇省教改項目JGLX13_008資助
參考文獻
[1] 孫家廣,胡事民.計算機圖形學基礎教程.北京:清華大學出版社,2005.2.
[2] 唐榮錫,汪嘉業,彭群生等.計算機圖形學教程(修訂版).北京:科學出版社,2000.
[3] LIU Hailan.On development and application of computer graphics[J].Computer Knowledge and Technology,2010(3):9551-9552.
計算機圖形學是近年來發展最快的計算機學科方向之一,是計算機應用專業的必修課程。但在實際的教學過程中,按照傳統的教學方式,我們發現計算機圖形學涉及到大量的數學知識,包括各種生成算法、處理技術和顯示過程,涉及到數學模型和復雜的公式推導,在理解上要求具有比較強的空間想象力,學生理解上比較困難。本文結合二類本科院校培養具有一定創新能力的應用型人才的要求,根據十多年的教學實踐,提出了圖形系統案例教學方法,將計算機圖形學知識和實現圖形系統結合起來,從現有系統中找靈感,從計算機圖形學課程中學理論,搭建自己的圖形系統,使學生真正理解計算機圖形學的本質,達到理論與實踐雙豐收,取得了比較明顯的教學效果。
一、課程特點和教學模式
1.課程特點
(1) 計算機圖形學不僅涉及到圖形硬件、軟件和大量的實現算法,而且與微電子學、信息科學、幾何學、圖論學等專業學科密切相關,并在發展中逐步與圖像處理、模式識別、人工智能、計算機網絡和計算機語音處理結合起來,要求授課教師具有比較全面的知識結構,講解有所側重,合理取舍。
(2) 計算機圖形學需要用到大量的數學模型和算法。計算機圖形學作為圖形顯示和處理的一門學科,具有很深的數學理論基礎和實用技術。計算機圖形學的基礎是數學,任何圖形的顯示都必須首先構造出數學模型,然后再通過算法程序實現圖形的顯示和處理。另一方面,為了在計算機上顯示和處理復雜的圖形,要求人們不斷地學習和研究數學,構造精巧的數學模型和實現算法,這就是計算機圖形學的實質。但對于初學者來說,應當講授較少的數學知識,或者直接采用數學結論,而簡略中間繁瑣的數學推導過程。在講課過程中,如果過分注重圖形學所涉及到的理論知識、數學模型和構造算法,學生就會感到比較抽象和難懂。
(3) 計算機圖形學是一門實踐性很強的課程,不僅要求學量的理論知識,而且更多的是要求算法的實現,要求程序的編寫和調式能力,因此需要更加重視實驗環節。學習計算機圖形學的目的在于構建圖形系統,包括計算機圖形硬件的搭建和圖形軟件的編寫。計算機圖形學是設計AutoCAD、Photoshop、CoreDraw等圖形系統軟件的理論基礎。
學習計算機圖形學,要與使用圖形系統軟件區分開來。計算機圖形學是設計圖形系統軟件的基礎,而學習現有的圖形軟件則是為了進行計算機平面設計、動畫設計、影視制作、CAD等具體的應用領域。反過來,參考和學習這些現有的圖形系統軟件可以幫助理解計算機圖形學的知識和方法。
根據用戶和計算機圖形系統的關系,可以把利用計算機圖形學的用戶分為三類:一是圖形理論研究,二是系統設計程序員,三是圖形系統的操作員。
計算機圖形學的目標在于培養前兩種人才,即圖形理論研究與圖形系統實現者,研究圖形學新的理論和技術,編寫各種專業圖形處理軟件,品設計人員使用。
2.系統案例教學模式
案例教學作為一種教學手段已經得到廣大師生的認可。該教學法是在教師的精心策劃和指導下,根據教學目的和教學內容的要求,運用典型案例,將學生引入到特定實踐環節情境中,并以學生為中心對案例進行交互式討論和探索的過程。案例教學具有下面四個共同的特點:一是真實性,案例必須是真實可靠的事件;二是典型性,必須是包括特殊情境和具有代表性的問題;三是濃縮性,必須多角度地呈現問題,提供足夠的信息;四是啟發性,必須是經過研究,能夠引起討論,提供分析和反思。
系統案例教學法是以設計實際的系統為目標,制定系統總體框架,結合理論教學,布置相關實驗任務和實踐環節,最后將各個獨立的實驗程序整合在一起,搭建起一個小型實用系統。系統案例教學法要求學習目標要明確,方案設計要合理,理論與實踐要一致。針對計算機圖形學課程,采用系統案例教學法還要注意以下事項:
(1) 以學生為中心,充分發揮學生能動性。由于所定目標軟件系統功能復雜,而課堂教學時間有限,不可能面面俱到。因此,要充分調動學生學習興趣,發揮主觀能動性。學生是案例教學的主角,老師在講授理論基礎上,更重要的是啟發和輔導。
(2) 系統案例教學法是一種模擬系統實踐的教學過程。雖然類似的軟件系統市面上已經有很多,但我們的目的是學生模仿實現,所用到的理論知識在課堂上同步學習,加強學生對理論課程學習興趣,并結合學生自己的理解和體會,親自動手實現自己的系統。
(3) 系統案例教學又是一種動態的、開放的教學方式。課堂上講授的系統理論相同,但系統實現的方法可以不同,在系統實現的過程中鍛煉學生運用各種理論知識、綜合分析和解決實際問題的能力。
(4) 系統案例教學注重的是系統實現的過程,要的是結果,但這樣的要求也反過來促進學生對理論知識的學習,同時也鍛煉了學生實際動手能力。
二、系統案例教學方案實施
計算機圖形學課程內容包括了圖形學的基本概念、圖形系統和圖形標準、基本圖形生成技術、圖形幾何變換、曲線和曲面、真實圖形和計算機動畫等,這些內容是設計一個圖形系統必備的理論體系。為了實現系統案例教學,實施方案如下:
第一步:明確目標、搭建平臺。計算機圖形學第一章概述部分主要講解課程目標和目的、國內外的發展狀況和應用領域,加深學生對課程的認識。圖形系統和圖形標準則是實現圖形系統所用到的硬件設備和軟件系統,以及圖形系統的國際標準。這兩部分為學生明確學習目標、搭建系統平臺奠定了基礎。為了編寫圖形系統,在第三部分講解了Visual C++圖形程序設計,主要介紹Visual C++集成編成環境的使用、圖形設備接口、圖形程序設計方法、鼠標編程以及菜單設計等基礎,目的是通過對Visual C++的學習,掌握Visual C++圖形程序設計的方法,為計算機圖形學原理部分的算法實現提供程序工具和方法。
第二步:系統設計、分步實施。按照課程體系和實際圖形系統的要求,我們精心設計10個實驗項目,覆蓋了計算機圖形學大部分的知識點,包括:
(1) Visual C++圖形程序設計。主要學習Visual C++圖形程序設計的方法,掌握Visual C++集成編成環境的使用、圖形設備接口和常用圖形程序設計、鼠標編程、橡皮筋交互技術、畫刷與畫筆以及菜單設計等,使學生能夠熟練掌握Visual C++圖形程序設計。
(2) 直線的生成。理解直線生成算法思想,寫出實現程序;添加鼠標功能,實現交互式畫直線程序;將10個像素作為步距單位,編出Bresenham算法的示例。
(3) 圓與橢圓的生成。編寫中點畫圓法的掃描轉換程序,考慮原點在(x0,y0)處程序的改動;添加鼠標程序,實現交互式畫圓;編寫中點畫橢圓法的掃描轉換程序;添加鼠標程序,實現交互式畫橢圓;
(4) 區域填充算法。多邊形有序邊表算法程序設計;邊填充算法和邊標志填充算法;簡單的種子填充算法和掃描線填充算法;區域填充圖案程序設計;要求實現種子填充算法、掃描線填充算法和圖案填充算法。
(5) 裁剪算法。編碼裁剪算法程序設計;要求用鼠標畫線技術,實現交互式裁剪效果;
(6) 交互式技術和用戶接口。學習VC++菜單資源編輯器,菜單程序設計舉例;學習Autocad繪圖的基本方法,了解常用的交互式技術;
(7) 曲線與曲面;拋物線程序設計;Hermite曲線程序設計;Bezier曲線的算法實現;B樣條曲線的程序設計。要求加入鼠標和橡皮筋技術,實現交互式生成曲線,并且可以通過調整控制點來隨意修改曲線的形狀。
(8) 二維幾何變換。通過二維幾何變換的數學模型,編寫平移、旋轉、放縮、對稱變換;加入鼠標功能,實現交互式移動圖形;
(9) 真實圖形技術。實現一種消隱技術和光照模型。
(10) 計算機動畫。利用一種動畫技術,實現一個小型動畫。
每個實驗都詳細地列出了實驗目的、實驗任務、實驗步驟、實驗結果分析和實驗總結和思考,通過改進程序和算法,提高學生的思考問題和編程動手能力。
第三步:系統整合、實現系統。利用Visual C++菜單編程、工具欄和圖標技術,選擇實用的繪圖實驗程序,掛在累累菜單上,并設計出工具欄,就可以進行簡易的圖形繪制。
第四步:綜合評價,創新考核。我們學校開設的計算機圖形學是考查課(必修課),主講教師可以比較方便的安排最后的考核方式。按照系統案例法的思想,我們注重理論結合實踐,看重的是系統設計的過程和最后的結果,不能采用一張試卷定成績的方式,而是采用了50+30+20的考核方式,即最后的系統設計技術報告和系統軟件演示占50分,要求技術報告撰寫規范,總體設計和分步實施詳細,總結部分包括理論學習的知識點、系統實現的優缺點以及系統的擴展和展望等。平時的分步實驗結果和實驗報告占30分,督促學生課下及時預習和準備實驗,并寫好實驗報告。平時上課考核和作業占20分。這種考核方式可以將學生的考試壓力分散到平時,也可以保證系統案例教學的效果。
三、效果分析
經過三年系統案例教學方法的實踐,明顯地達到了以下教學效果:
關鍵詞:計算機圖形學;游戲開發;課程建設
中圖分類號:G642
文獻標識碼:B
1引言
“計算機圖形學”是計算機領域一門重要的學科,也是計算機學科方向的核心課程之一,作為一門不斷發展的學科,“計算機圖形學”的教學應該跟上學科的快速發展以及社會對本學科的人才需求。當前,伴隨著計算機科學與媒體技術的相互融合,形成了數字媒體技術這一新的學科,越來越多的國內外高校開始開設數字媒體技術專業,而相當多的高校將“游戲開發”作為數字媒體技術專業的一個主要方向進行發展。游戲設計以高質量的3D技術來展現游戲畫面,從角色建模、燈光、渲染、紋理等,無不是基于計算機圖形學的算法和理論,因此,“計算機圖形學”也成為數字媒體技術專業重要的一門專業基礎課。
如何在講授“計算機圖形學”課程的同時,考慮游戲專業人才的培養目標,結合游戲設計的實例來進行實踐,使得學生不至于因為算法和理論的枯燥而產生厭學情緒,同時又能將圖形學理論和游戲設計實踐很好地結合起來,是一個值得深入探討的問題。
本文分析了“計算機圖形學”課程的特點及其在游戲開發專業培養課程體系中的地位以及圖形學授課過程中存在的問題,給出了面向游戲設計專業的“計算機圖形學”課程教學改革的思路。
2 “計算機圖形學”課程的特點及其在游戲開發專業培養課程體系中的地位
游戲開發專業的教育目標是幫助學生了解游戲從策劃、設計、開發、測試、運營過程的整個環節,使學生獲得扎實的理論基礎,同時使學生具備較強的實踐能力,掌握最先進的主流游戲開發技術。
“計算機圖形學”是游戲設計專業的一門重要專業基礎課,當前的主流圖形API是對圖形學的基本原理和算法的實現,因此,對圖形學算法和原理的掌握,能夠幫助學生更快更好地理解和掌握主流的圖形API,而這些主流的圖形API也是當前游戲開發過程中必不可少的工具。
由此也可看出,“計算機圖形學”課程應該理論與實踐并重,既要講解清楚圖形學的基本理論和算法,又能給學生充分的實踐機會和時間,為學生后續學習游戲開發技術打下堅實的基礎。
處理好圖形學授課過程中的理論講授和實踐的關系,對于這門課程的學習效果至關重要。
當前的圖形學的教學現狀與游戲專業的教學目標相比,存在如下一些問題。
3 “計算機圖形學”授課過程中存在的問題
(1) 傳統的計算機圖形學的內容可以分為二維、三維兩部分,其中二維部分即光柵圖形學部分,包括:基本圖形(直線、圓弧、橢圓等)的生成算法、二維裁剪算法、填充算法、曲線曲面、圖形反走樣等內容。三維圖形學算法則圍繞三維物體的建模、運動、三維場景的建立組織,包括:物體建模(物體在計算機內的表示模型、幾何造型)、三維圖形的顯示(三維圖形的幾何變換、三維圖形的投影變換、三維裁剪)、真實感圖形學(消隱算法、光照模型、光線跟蹤技術、陰影、紋理、輻射度算法等),有些圖形學教材還增加了計算機動畫技術、交互技術、圖形處理高級技術等內容。
分析上述內容,其中與游戲設計關系最為密切的部分是:基本的圖形學數學算法,包括向量部分的內容、圖形變換、視圖變換、圖形渲染、材質、紋理貼圖、模型動畫等三維圖形學的內容;而二維圖形學的內容在游戲開發中使用的相對較少。
而在傳統的圖形學教材中,二維圖形學的內容占據相當大的比例,學生在學習這一部分內容的時候,普遍感到算法較為枯燥,而無法和實際應用聯系起來,易產生厭學的情緒。
(2) 對于當前主流圖形庫的學習安排
為了更好的開發出具有豐富3D效果的游戲,必須學會使用3D技術,而當前主流的3D圖形API為OpenGL和DirectX,早期的很多游戲的底層引擎是基于OpenGL開發的,如“3D游戲之父”Carmack的經典游戲“DOOM”、“Quake”,在當前的游戲行業中,微軟開發的DirectX多媒體引擎大有后來居上之勢,當前基于Windows操作系統的游戲絕大多數都是基于DirectX開發。雖然如此,在其他操作系統的游戲開發和工作站上的圖形應用程序開發,OpenGL仍然是不二的選擇。
因此掌握好這兩種圖形庫,是游戲專業的學生必須掌握的技能;在兩種圖形庫的偏重上,DirectX所占的分量應該更重一些,而當前的圖形學理論和實踐教材基本上都是基于OpenGL,缺少合適的基于DirectX的計算機圖形學實驗指導教材。
(3) 對于圖形學課程理論和實踐的安排
一般圖形學課程的安排是先講授圖形學理論,之后進行圖形學課程設計,目的是在課程設計環節讓學生應用所學的理論知識,鍛煉實踐能力。但也存在一些弊病:理論講授和實踐環節割裂,學生在學習圖形學算法和理論時對枯燥的內容感到較難,缺少實踐,而在實踐環節,由于時間有限,很難真正掌握開發工具并作出具有一定深度的作品。
基于上述問題,結合游戲開發專業的特點,我們認為必須從以下幾方面入手做工作,確保“計算機圖形學”課程的教學效果,加快課程建設。
4面向游戲開發專業方向的計算機圖形學課程建設思路
(1) 針對游戲專業的特色,在內容選擇上,應有所取舍,有所補充,不拘泥于某本計算機圖形學教材的具體內容作為授課內容,而是根據培養目標和專業特色,靈活安排。
首先,重點講授三維圖形學的內容;另外,將一些游戲開發過程中較為關鍵的圖形學相關算法和內容補充到圖形學的授課內容中,例如以下兩種算法:
場景管理及相關算法:場景管理是3D游戲引擎最核心的部分,對于一個3D場景來說,有很多的物體,最簡單的組織方法就是把它們用一個List連接起來,然后在繪制每一幀的時候一次送入渲染器進行處理,這樣的方法即使處理一個簡單的場景都會顯得非常慢。因此,如何合理有效地管理3D場景中物體之間的相關、從屬、互相影響的關系,如何組織這些關系,并將它們與3D引擎的其他部分的功能聯系起來,就是場景管理需要完成的工作。牽涉到空間排序,有多種算法來實現,基本的方法為:N叉樹算法,包括:二叉樹算法、四叉樹算法和八叉樹算法。
現有的各種圖形學教材,有些根本沒有提到上述算法,有些在圖形消隱的章節講授其中的某種算法。而上述算法是游戲引擎的核心算法,對游戲專業學生這一部分的內容應補充進授課內容。
三維模型動畫及動力學的基礎知識:在游戲開發過程中,有了模型之后,需要為三維模型添加相應的動作,實現游戲效果。對于當前的三維圖形庫,比如Direct3D,也支持豐富的三維模型動畫,包括:關節動畫、單一網格模型動畫、骨骼動畫和Morp。這一部分內容對于游戲開發人員來說也是必須掌握的一部分,但在現有的《計算機圖形學》教材中,絕大多數沒有涉及這部分內容,但也有一些《計算機圖形學》課本增加了三維模型動畫及動力學的內容,如美國加州州立大學斯坦尼斯洛斯分校Steve Cunningham所著的《計算機圖形學》一書中,就將動力學和動畫作為專門的一章內容進行介紹。
(2) 理清圖形學各部分內容和具體的游戲應用之間的關系,采用多種方式,有針對性地講述。
游戲專業方向的“計算機圖形學”課程在講授的時候,不能完全沿用傳統的“計算機圖形學”的授課方式,而應該找出相關內容和具體的游戲開發實踐之間的關系,教師在講述相關理論和算法的時候,應將游戲開發過程中如何應用該算法或理論以及如何實現該算法和理論進行講解,將相對枯燥的理論和實際聯系起來,讓學生能學以致用。
下表對圖形學的內容和游戲開發實踐中的應用作了粗略的總結。
教師在具體講授時可以在此基礎上進行豐富,使得授課內容生動起來。并在課程結束的時候,按照構造游戲的流程,從角色建模講起,用游戲設計這一根主線找出各部分內容之間的聯系,使得學生對課程的內容和游戲開發之間的關系有一個全貌性的認識。
(3) 在理論環節和實踐環節的安排上,采用理論課+實驗課+課程設計的方式,在平時圖形學理論講授的過程中,穿插實驗課,在最后安排課程設計,加大實踐環節所占比重。
(4) 建設與開發面向游戲方向的圖形學案例庫
欲使課堂講授的內容生動起來,必須有實際的案例支撐,因此建設面向游戲方向的圖形學案例庫,使得學生能夠快速理解和掌握相關理論和技術,對于提高圖形學課程的授課質量至關重要。
(5) 教材建設方面
編制面向游戲開發專業的計算機圖形學教材以及編制面向游戲開發專業的圖形學課程設計指導書是非常緊迫和必須的任務。
5總結
本文結合圖形學教學的實際以及游戲開發專業方向的培養目標,對于面向游戲設計專業的“計算機圖形學”課程教學改革進行了一些探討,希望能對游戲開發專業的教學和課程建設有所促進。
參考文獻:
[1] 培養具有創新意識的復合型數字媒體技術人才――山東大學軟件學院數字媒體系人才培養[J]. 計算機教育,2008,(15).
[2] 博采眾家智慧,培育復合型、創新型人才――山東大學軟件學院孟祥旭院長談數字媒體技術專業人才培養[J]. 計算機教育,2008,(15).
[3] 徐延寧. 計算機游戲課程體系建設[J]. 計算機教育,2008,(15).
[4] 尹義龍. 數字媒體技術專業的教學實踐體系探討[J]. 計算機教育,2008,(15).
[5] 向輝. 數字媒體技術專業課程體系探討[J]. 計算機教育,2008,(15).
[6] 潘榮江. 揚長補短的 “2+X” 數字媒體技術專業培養模式[J]. 計算機教育,2008,(15).
[7] 龐曉溪. 游戲引擎教程[M]. 北京:中國水利水電出版社,2008.
[中圖分類號] G642 [文獻標志碼] A [文章編號] 1008-2549(2016) 07-0106-02
一 計算機圖形學課程教學中存在的問題
本科的計算機圖形學教學對數學理論有一定要求,往往體現為公式推導、演化等形式,同時也涉及算法設計及其代碼實現。而傳統計算機圖形學教學重點一般側重于考核學生對知識點的掌握,課程實踐所占比例較低。因此傳統的教學模式不適用于計算機圖形學課程,若仍沿用傳統教學模式,則不僅不利于維持學生的學習興趣,更不利于學生發現問題、解決問題以及創新能力的培養。
1 計算機圖形學教學內容與學生的學習興趣
傳統的計算機圖形學內容主要有:計算機圖形系統概述;二維圖形生成和變換技術;三維圖形生成和變換技術;真實感圖形生成技術;計算機動畫技術與實踐。該課程入門階段需要的數學知識主要涉及代數、三角學和線性代數,數學原理與圖形的結合在理論教學中占據了一定比重。
傳統的計算機圖形學教學目標是側重于培養學生對計算機圖形學理論知識的了解與掌握,在教學內容的設置上主要強調圖形學知識、概念的系統性與整體性,重點是概念解釋與原理講解,體現為大量的公式推導。
未進入圖形學教學前,學生們對該課程的理解大致分為兩類:一類認為該課程主要講述游戲開發。另一類認為是藝術設計。實際上,在本科階段開設的計算機圖形學課程,通常立足于計算機圖形學科的入門,教學內容主要是理解與掌握基本的圖形繪制原理及其實現算法,能進行基本圖形的程序設計。由此,學習內容的枯燥、教學內容與現實應用的巨大落差會導致部分學生的學習興趣隨課程的深入而有所下降。
2 計算機圖形學課程實驗的設置
計算機圖形學的實驗內容主要集中于基本圖形算法的實現,需要學生運用高級程序語言進行編程,然而作為專業基礎課程學習的此類高級程序設計課程,往往以基本知識、程序設計、數據組織三方面為主要內容,一般不涉及圖形庫編程接口(API)。這導致在本課程的實驗教學時,需要針對授課學生原先所學的高級程序語言,補充對應的圖形庫編程知識,這使得實際的有效實驗學時被縮減,而且增大了學生實現算法的難度,以至于進一步加劇了理論與實踐脫節的現象。
二 理論教學與實踐教學的改革方法與目標
我們在大學本科的第7個學期開設計算機圖形學課程,并將其分為理論課與實驗課兩門課程,兩門課程單獨核算成績。其中理論課為32學時,2.0學分;實驗課為16學時,0.5學分。在理論課程完成后開始實驗課程,計算機圖形學的實驗不再是傳統教學中對理論課知識點的簡單重復與驗證,而是對所學知識的綜合運用與深化。由此,需要合理選擇理論課教學內容,以完成與實驗課程的銜接。同時,設計合適的實驗項目使學生掌握課程基礎知識,提高學生的動手能力,以提升計算機圖形學的教學質量。
1 理論課教學內容的設計
計算機圖形學技術在快速的發展著,與之相適應,圖形學課程的教學也發生著變化。現階段,在計算機圖形學教學中主要有3種教學體系,大致分為:理論為主、編程為主、問題為主。其中,理論為主是傳統的教學體系,強調對計算機圖形學理論的理解與掌握,以公式推導為主要呈現方式,國內外此類教材有Floey的《計算機圖形學原理及實踐――C語言描述(原書第2版)》,孫家廣的《計算機圖形學》等。編程為主的教學體系側重于培養學生初步掌握一種典型的圖形學API,以圖形學使用者的角度講授計算機圖形學所需的理論與概念,去除非必需的數學原理與公式推導。國內外此類教材有Donald的《計算機圖形學(第四版)》,徐文鵬的《計算機圖形學基礎(OpenGL版)》等。問題為主教學體系的教學目標著重于培養利用計算機圖形學知識建立與用戶交流的能力,從而實現問題的圖形化建模并解決問題。相應的教學內容既涵蓋了圖形學中的基本概念和技術,也涉及了實現這些概念和技術的圖形學工具,然而重點在于介紹如何使用計算機圖形學知識來解決實際問題以及如何有效地進行結果展示,Steve Cunningham的《計算機圖形學》是此類教學體系的典型教材。此類問題為主的教學體系近年來在美國興起。
在我們的本科教學中,考慮到學生前期課程的設置與掌握情況,采用了結合OpenGL實現算法的編程為主的教學體系。在實際教學中,既要保證計算機圖形學基本概念、理論的完整講述,也為后續的實踐課程做鋪墊,有針對性地介紹圖形支撐軟件,使學生在掌握圖形學基本知識的同時,能夠在一定程度上自主實踐,保持與激發學生的學習興趣。
2 以思維導圖優化圖形學教學的實踐應用
思維導圖(又稱心智圖),是英國教育學家東尼?博贊在20世紀60年代創造的,它作為模擬放射性思維的圖形工具,能激發大腦的潛力。在人獲得信息后,進入大腦的信息以新的思想中心與其他信息建立關聯,形成向外發散的網狀結構。此后,每一個發散出的節點,又將作為新的中心,再次發散形成新連接。
3 實驗課教學內容的設計
【基金項目】中國地質大學(武漢)教學研究項目,項目編號 200923。
【中圖分類號】G642 【文獻標識碼】A 【文章編號】2095-3089(2013)10-0144-02
一、引言
計算機圖形學是研究如何利用計算機顯示和處理圖形的原理、方法和技術的一門學科。除了是計算機與信息相關學科的一門專業必修課程外,它也是許多非計算機專業本科一項重要的專業限選/選修課程[1]。在以地學專業為主的中國地質大學(武漢),計算機圖形學教學也得到了相當的重視。以地空學院為例,其下屬的兩個專業地球物理與地球信息科學的教學大綱中都明確開設了這門課程。但與其他兄弟院系一樣,該課程教學中所達到的實際效果卻并不盡如人意。一方面,地質制圖以及地學數據的圖形表現等知識在學生本科畢業后從事的地學應用工作中占有重要成分;另一方面,傳統計算機圖形學本身所講述的內容又無法滿足地學專業工作、科研的需要[2]。隨著時間的推移,計算機圖形學課程所處的地位日漸尷尬,將其從教學計劃中取消固然不妥,但又確實達不到應有的效果。認真分析其原因主要有如下兩點:
1.從課程的定位來看,作為一門獨立學科,計算機圖形學本身定位于使用數學算法構造圖形的數學模型,并通過程序實現圖形的顯示和處理。數學建模與算法實現是計算機圖形學的核心與基礎[3]。該課程涉及的內容也非常之多,包括圖形生成技術,計算機輔助制圖,計算機視覺等部分[4]。然而作為一個主要培養地學領域人才的高等院校,計算機圖形學在地學領域的主要應用集中于數據制圖與數據可視化處理。即要求學生能夠具備一定計算機圖形學基礎知識,并能夠使用計算機對地學數據進行圖形繪制與表現,進一步生產出社會所需求的各種圖形產品包括二維地質圖以及三維造型,場景演示視頻等。因此可見,課程定位與專業需求存在著一定的差別。
2.從教學大綱與教學內容上來看,傳統計算機圖形學教學基本以清華大學孫家廣院士主編的《計算機圖形學》內容為范本。教學內容大部分重點集中于圖形生成算法,圖形標準、圖形交互、曲線曲面造型、真實感圖形生成與顯示算法等章節[5]。這其中的許多知識點都與地學專業應用無關。此外,地學專業的學生往往在離散數學、算法邏輯等方面基礎較為薄弱。這就導致授課老師要花更多的時間來將這些知識點講授清楚,但學生在學習過程中卻逐漸失去興趣。
上述主要原因使得我校地學相關專業中的計算機圖形學課程教學無法達到滿意的效果。特別是由于課程的一些內容或章節與專業的實際應用偏離太多,更造成了學生們應付考試,老師們照本宣科的現象。許多講授該課程的老師都或多或少的意識到了這一點,他們努力在教學過程中做出適當的調整,但卻苦于缺乏統一的指導思想。
基于此,在校方支持下,筆者與其他授課老師一起開展了面向地學專業的計算機圖形學教學改革活動。在這次改革中,老師們將自己的授課經歷進行了分享,并著重對地學相關專業計算機圖形學教學過程中的問題進行了總結,然后通過討論交流提出了一系列改革方案。最后將這些方案措施在教學活動中進行驗證。實踐證明,教改方案可以有效的激發學生的學習熱情,并引導他們將理論知識充分運用到實際問題中,有利于培養地學專業高素質人才[6]。
二、改革措施
首先,此次課程改革的目的很明確,即為地學或地學相關專業的學生量身打造適合他們需要的計算機圖形學課程。該課程的教學必須真正貼近專業的需要,不再流于形式,為學生將來的工作與研究深造打下良好的基礎。具體的改革措施總結如下:
1.深入了解我校地學專業相關院系的專業需求,討論并制訂面向地學領域的計算機圖形學教學大綱和教學計劃。傳統的計算機圖形學教學內容涉及到數學、物理、計算機等多個學科[7]。每個學科又涉及到一些相對抽象的理論與復雜算法實現。這些內容均使得地學專業的學生難以在短時間內掌握。此外,隨著技術的不斷發展,目前計算機圖形學的一些教學安排與現實也存在一定的脫節。如許多計算機圖形學的實習環節中會要求學生去實現基本圖形的生成算法,對許多非計算機專業本科生而言,這一做法的必要性值得商榷。因為就其專業應用領域,大部分的圖形生成算法實現都已經固化到了計算機硬件(顯卡、GPU)中,現實工作中極少場合需要編程實現這些已經非常成熟的算法[8]。
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2017)30-0191-03
一、引言
《計算機圖形學》是數字媒體技術專業的一門理論基礎課,主要研究如何利用計算機來表示、生成、處理和顯示圖形的原理、方法和技術。目前,大多數高校計算機以及數字媒體等相關專業都會開設《計算機圖形學》課程。由于圖形學技術在計算機游戲、數字娛樂、平面設計、網頁設計等行業中的廣泛應用,學生在選擇這門課程時都抱有很大的興趣和期待。然而,《計算機圖形學》要求學生具有較好的數學基礎和較強的編程能力,所以隨著課程的深入,學生普遍感到學習比較吃力,達不到應有的教學效果。
本文在分析《計算機圖形學》的學科特點以及當前教學中存在問題的基礎上,從合理選擇教學內容、靈活運用多種教學方法和手段、注重實踐教學、重視過程考核等方面對《計算機圖形學》的教學思路進行了一些探討。
二、學科分析及教學現狀
1.《計算機圖形學》的學科特點。《計算機圖形學》是建立在圖論、現代數學和計算機科學基礎上的一門新興學科,該學科涵蓋了計算機科學、數學、物理學等其他學科的相關知識,學科交叉繁雜,研究內容非常廣泛,如圖形硬件、圖形軟件標準、圖形交互技術、基本圖形生成算法、建模、渲染、計算C動畫等。總體來說,《計算機圖形學》是一門以應用為背景,以數學為基礎,以算法為核心的強理論,重實踐的課程。同時,該課程又以C語言、數據結構等為先導課程,因此,要將這樣一門課的內容較好的傳授給數字媒體專業的學生,不是一件容易的事情,需要積極探討新的教學思路和教學方法。
2.教學中存在的主要問題。《計算機圖形學》內容豐富,理論性和實踐性都比較強,造成該課程講授起來比較枯燥;同時,由于數字媒體專業的學生數學基礎和編程基礎都不是太好,學生普遍感到對于圖形學的內容難以接受,學習的積極性和主動性都受到了影響,學習效果較差。在教學實踐中,筆者發現目前的圖形學教學普遍存在以下問題。
(1)理論性強,難度大,導致學生興趣減弱。《計算機圖形學》主要研究如何在二維的屏幕上顯示三維的圖形,其中涉及到三維形狀的建模,渲染以及動畫等。圖形渲染流水線的背后,要求學生具有較強的數學功底,特別是向量和矩陣的一些基礎知識,要熟練掌握。學生要能用向量的思想去解決圖形學中的一些基本問題。對于數學基礎較弱的數字媒體專業的學生,這種要求往往令他們產生畏懼心理,極大的影響了他們的學習興趣和信心。
(2)教學內容多,知識點分散。《計算機圖形學》學科交叉繁雜,內容豐富,不僅涉及圖形硬件、軟件和大量的實際算法,而且還與微電子學、計算幾何、圖論學等專業學科密切相關,并在發展過程中逐步與數字圖像處理、數字幾何處理、模式識別、人工智能、虛擬現實等相結合,這就要求授課教師要具有比較全面的知識結構,對于內容的講解有所側重,合理取舍,透徹了解各學科之間的關系。目前國內大部分圖形學教材都是從底層的圖形硬件設備開始講起,然后是基本圖形元素的生成算法,最后逐步過渡到光照模型和紋理映射等高層的真實感圖形渲染方法,這容易導致學生只掌握了分散的知識點,很難將各個知識點串連起來。另外,現在的圖形學教材一般都只局限于經典的圖形學算法原理,而對于學科前沿的研究動態少有涉及,這樣不利于開闊學生的視野,激發他們自主學習的興趣和意識。
(3)實驗課時少,學生缺乏實踐訓練。《計算機圖形學》是一門實踐性很強的學科,要求學生具有較強的編程能力和動手操作能力。上機實踐是鍛煉學生編程能力的主要手段,也是學好這門課的必要手段。沒有實驗課的訓練,學生很難真正理解圖形學中的算法原理。但是,由于總課時的壓縮,實驗課時很少,僅提供6次實驗機會,而且實驗基本上都是驗證性試驗,學生很難在實驗中獲得將來工作時需要掌握的編程知識,另外大部分學生本身的編程能力不強,上機興趣也不高,最終導致學生無法獲得充足的實踐鍛煉機會。
(4)考核形式單一,無法調動學生的學習主動性。目前《計算機圖形學》的考核形式主要還是通過卷面筆試的形式來進行。卷面筆試考核通常考察的是學生對知識點的記憶和理解能力,適用于基礎課教學,強調的是“記”和“背”。但是對于以實踐和應用為主的專業課程而言,它強調的是“做”和“用”,因此,要求學生死記硬背相關理論和算法,無疑是一種資源浪費,學生不能學以致用就等于白學。這種考核方法也無法調動學生平時的學習積極性,他們大都寄希望于最后幾周的突擊復習,考試完之后很快就忘記了,達不到課程教學的培養目標。
三、教學思路探討