• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    計算機圖形學(xué)教學(xué)與實踐

    2006-03-24 04:00:02姜忠鼎
    計算機教育 2006年3期
    關(guān)鍵詞:圖形學(xué)繪制圖形

    姜忠鼎

    本文根據(jù)圖形工業(yè)的發(fā)展趨勢和軟件產(chǎn)業(yè)對圖形技術(shù)的要求,討論了本科生計算機圖形學(xué)課程教學(xué)指導(dǎo)原則和教學(xué)目標(biāo)。給出了復(fù)旦大學(xué)軟件學(xué)院該課程的具體教學(xué)方案,包括教材選擇、授課內(nèi)容、進度安排和實踐環(huán)節(jié)。實踐表明,該教學(xué)方案和實踐環(huán)節(jié)切實可行,對同類課程教學(xué)具有很高的參考價值。

    1. 引言

    隨著集成電路制造工藝的快速發(fā)展,圖形處理器(GPU,Graphics Processing Unit)作為計算機顯示系統(tǒng)的核心部件在最近幾年得到了飛速發(fā)展,眾多計算機圖形學(xué)應(yīng)用得以迅速普及。這些應(yīng)用表明,三維圖形生成和顯示技術(shù)將成為未來軟件產(chǎn)品能否成功的一個關(guān)鍵因素。計算機圖形學(xué)應(yīng)成為計算機及其相關(guān)專業(yè)學(xué)生必須掌握的一門基礎(chǔ)專業(yè)課程。

    目前,國內(nèi)的計算機圖形學(xué)課程教學(xué)基本取材于幾本經(jīng)典的教科書,這些教科書重點講述20世紀70年代、80年代的圖形技術(shù),強調(diào)計算機圖形學(xué)的數(shù)學(xué)基礎(chǔ)。此外,國內(nèi)計算機圖形學(xué)課程的從教人員年齡差別很大,大部分于20世紀80年代或90年代初從事該門課程的教學(xué)工作。由于成長環(huán)境的局限性和教學(xué)方法的沿襲,很多青年教師講授計算機圖形學(xué)課程時也強調(diào)圖形學(xué)的數(shù)學(xué)基礎(chǔ),使得計算機圖形學(xué)成為計算機及其相關(guān)專業(yè)學(xué)生很難掌握的一門課程。這種強調(diào)數(shù)學(xué)基礎(chǔ)的教學(xué)方案適合數(shù)學(xué)基礎(chǔ)優(yōu)秀的學(xué)生,對于數(shù)學(xué)功底一般的計算機類學(xué)生難以適用。雖然有教師從實用角度出發(fā)來講授計算機圖形學(xué)技術(shù),但對理論基礎(chǔ)涉及較少,也難以深入,學(xué)生很難建立計算機圖形學(xué)這門學(xué)科的體系框架。

    針對上述教學(xué)中的不足,我們在吸收美國知名大學(xué)在該門課程的教學(xué)經(jīng)驗基礎(chǔ)上,制定了計算機圖形學(xué)的教學(xué)方案和實踐環(huán)節(jié)。通過與微軟亞洲研究院等工業(yè)界研究機構(gòu)進行精品課程和科研項目交流與合作,進一步修訂了課程方案,強調(diào)培養(yǎng)學(xué)生的創(chuàng)新能力。我們還在教學(xué)過程中增加了面向?qū)W科前沿的內(nèi)容,使學(xué)生能及時了解學(xué)科發(fā)展的最前沿,開闊視野,為從事科學(xué)研究打下良好的基礎(chǔ)。

    2. 指導(dǎo)原則和教學(xué)目標(biāo)

    我們吸收了計算機圖形學(xué)領(lǐng)域國際頂尖大學(xué)(如Stanford、UC Berkeley、MIT、CMU、 Princeton、UIUC)教材選擇、實驗環(huán)節(jié)和課件的優(yōu)點,通過與微軟亞洲研究院進行精品課程和研究項目資助活動,在CC2001、SE2004、SGE2004[CC2001][SE2004][SGE2004]的基礎(chǔ)上進一步修訂教學(xué)內(nèi)容,使得它能夠反映工業(yè)界對人才的需求和學(xué)科最新進展。同時,授課內(nèi)容也反映任課教師自己的研究方向和特色,用科研來促進教學(xué)和人才培養(yǎng)。

    該課程主要面向復(fù)旦大學(xué)軟件學(xué)院高年級本科生,其教學(xué)目標(biāo)要求與學(xué)院整個辦學(xué)思路和人才培養(yǎng)理念保持一致。計算機圖形學(xué)課程的教學(xué)目標(biāo)包括三個層次。首先,通過本門課程的學(xué)習(xí),學(xué)生可使用當(dāng)代圖形API(如Direct3D、OpenGL等)編寫圖形應(yīng)用程序,并將這類程序與其他應(yīng)用相結(jié)合。其次,通過課程學(xué)習(xí),學(xué)生不僅對計算機圖形學(xué)有一個全面、感性的認識,了解學(xué)科前沿,同時能夠理解和實現(xiàn)部分經(jīng)典算法。再次,尋找一個可行解決方法對模型進行求解,利用解決方法對問題進行測試,驗證模型及其解決方案的正確性訓(xùn)練學(xué)生以圖形作為工具,對實際問題進行可視分析、建模和求解技能。

    盡管國際和國內(nèi)計算機圖形學(xué)課程涉及的學(xué)生專業(yè)背景和從教人員背景具有很大差異,我們相信上述這種重實踐、求創(chuàng)新、著重培養(yǎng)解決問題能力的課程教學(xué)和人才培養(yǎng)模式都具有很大的參考價值。在保持上述教學(xué)和人才培養(yǎng)模式精髓前提下,從教人員可以根據(jù)具體情況來制定教學(xué)方案和實踐環(huán)節(jié)。

    3.教學(xué)方案

    我院計算機圖形學(xué)課程設(shè)置為2個學(xué)分,講授36學(xué)時。學(xué)分和學(xué)時數(shù)比國內(nèi)和美國高校偏少,因此我們在教材選擇、教學(xué)內(nèi)容和實踐環(huán)節(jié)等方面都進行了仔細思考和精心設(shè)計,來實現(xiàn)上述教學(xué)目標(biāo)。

    我們選擇Donald Hearn和M. Pauline Baker合著的《Computer Graphics with OpenGL》第三版作為教材[Hearn2003]。該教材取材豐富,以跨平臺的開放圖形庫OpenGL為基礎(chǔ),介紹計算圖形學(xué)的基礎(chǔ)理論、基本概念和基本算法。學(xué)生可將教材示例程序在PC上運行,從而獲得對教學(xué)內(nèi)容的直觀理解。由于這本教材的理論講解不夠深入,我們推薦[Moller2002][Foley97]作為參考書,并指定[Woo97] 作為必讀資料,通過熟悉OpenGL編程接口規(guī)范并進行應(yīng)用程序編寫,讓學(xué)生對圖形學(xué)基礎(chǔ)理論、基本概念和基本算法有深入理解。

    考慮到計算機圖形學(xué)課程涉及領(lǐng)域較多,我們沒有采用雙語教學(xué),而是以中文講授課程,但使用英文教材、英文課件和板書,而且作業(yè)和考試也采用英文命題。在教學(xué)方面,我們借鑒美國優(yōu)秀大學(xué)的先進教育方法,主講教師上課主要側(cè)重課程的要點、難點和方法以及理念,具體細節(jié)要求學(xué)生課后學(xué)習(xí)和實踐。這種授課方法要求學(xué)生在課后自學(xué)來強化對基本概念、基礎(chǔ)理論和算法的理解和掌握,有效地彌補了學(xué)時的不足。同時,我們借鑒國外大學(xué)經(jīng)驗,為該課程配備3名教學(xué)助理(Teaching Assistant—TA),達到了平均20名學(xué)生配備一名TA。TA和主講教師一起,根據(jù)課程內(nèi)容和學(xué)生反饋意見設(shè)計作業(yè)(Homework)和實習(xí)項目(Project),并通過多種方式給予學(xué)生指導(dǎo)和幫助。

    該門課程的教學(xué)內(nèi)容涵蓋了ACM SIGGRAPH和Eurographics教育委員會推薦方案的絕大部分內(nèi)容[SGE2004],同時考慮到軟件工業(yè)的特點、工業(yè)界需求和學(xué)院的科研特色,我們還增加了該學(xué)科的最新進展的相關(guān)內(nèi)容,具體教學(xué)安排如下。

    第一講為引言。首先介紹計算機圖形學(xué)的研究內(nèi)容、應(yīng)用領(lǐng)域、典型圖形系統(tǒng)的構(gòu)成和獲得ACM 圖靈獎(Turning Award)的兩位圖形學(xué)者。接著,講述圖形系統(tǒng)的輸入設(shè)備和顯示設(shè)備。然后,以圖形繪制為主線,回顧真實感和非真實感圖形的歷史,直到目前最熱門的表面細節(jié)繪制、基于圖像的繪制和基于相機陣列的繪制技術(shù)。

    第二講主要介紹二維圖形技術(shù)。以畫直線算法為例,講解光柵圖形與矢量圖形的不同之處。介紹曲線離散為多個直線段的思想和原理,從而完成曲線繪制。通過多邊形掃描轉(zhuǎn)化和種子添充算法,介紹簡單二維幾何圖形的光柵化技術(shù)。

    第三講重點講述幾何變換。包括物體的平移、旋轉(zhuǎn)、錯切、縮放變換;幾何變換的矩陣表示形式和多個變換的復(fù)合方法,重點解釋齊次坐標(biāo)引入的必要性。最后,以場景圖(Scene Graph)為例, 介紹變換的層次控制方法。

    第四講和第五講圍繞圖形繪制流水線,講述繪制流水線涉及的每個環(huán)節(jié)。包括物體的多邊形表示方法、模型變換、取景變換、投影變換、視口變換、二維幾何元語裁剪等多個關(guān)鍵步驟和算法。

    第六講為場景消隱技術(shù)。介紹了背面剔除、畫家算法等物體空間隱藏面去除算法,以及多個圖像空間消隱算法,如Z-buffer、面積細分、光線投射(Ray casting)、BSP樹等。

    第七講為Shading技術(shù)。首先介紹雙向反射分布函數(shù)(BRDF)的概念、測量方法及其表示的局限性。接著介紹包含漫反射、鏡面反射和環(huán)境光的簡單Shading模型。最后介紹上述局部光照明模型在OpenGL接口函數(shù)中的具體實現(xiàn)。

    第八講為紋理映射技術(shù)。首先介紹紋理映射的基本原理,涉及幾何體的參數(shù)化和紋理分片(Texture Atlas)技術(shù)。接著講述紋理映射在繪制流水線的執(zhí)行過程,以及紋理濾波的必要性和紋理反走樣方法。最后介紹目前常用的紋理映射技術(shù),包括多紋理混合、環(huán)境映照、凸凹映射(Bump Mapping)和法向紋理(Normal Map)。

    第九講和第十講重點講述光線跟蹤技術(shù)。首先介紹全局光照現(xiàn)象和Whitted全局光照明模型,然后講述光線跟蹤的基本原理和過程、軟影生成方法和畫面反走樣技術(shù)。詳細介紹了光線與景物求交的快速求解技術(shù),包括層次包圍盒、八叉樹、BSP樹等。在第十講中,我們還穿插了與GPU相關(guān)的可編程技術(shù),并以游戲編程為例來講述GPU的應(yīng)用效果。

    第十一講以全局光照明模型為重點。以繪制方程為切入點,介紹了輻射度、Monte Carlo光線跟蹤技術(shù)的基本思想。

    第十二講為顏色的表示模型和圖像合成技術(shù)。首先介紹了三原色原理和CIE顏色圖譜,然后介紹顏色的幾種表示模型及其相互轉(zhuǎn)化公式,包括HSV、YIQ、RGB、YUV、CMY。圖像合成技術(shù)以Alpha通道概念為基礎(chǔ),介紹了藍屏扣像、貝葉斯扣像和最新的泊松扣像。

    第十三講重點介紹圖形顯示技術(shù)。首先介紹了目前主流的PC顯示器、電視機和手持設(shè)備顯示屏等顯示技術(shù),然后介紹幾個新穎的顯示技術(shù):面向手持設(shè)備的投影顯示技術(shù)、可折疊顯示屏和基于多投影儀的顯示技術(shù)(虛擬現(xiàn)實中心、平面顯示墻、球面顯示設(shè)備和CAVE)。

    第十四講簡要介紹圖形學(xué)中涉及的物體表示方法。包括點云、范圍圖像(Range Image)、多邊形湯(Polygon Soup);對物體的表面表示方法,簡單介紹了多邊形網(wǎng)格、細分取曲面、參數(shù)曲面、隱式曲面。對于實體,給出了體素表示、CSG、掃描(Sweep)等表示例子。為表示整個場景,介紹了場景圖這種較高層次的場景組織方式。

    第十五講至第十六講,主要介紹參數(shù)曲線和曲面的基本概念和基本原理。重點介紹了Bezier曲線和曲面、B樣條曲線和曲面以及NURBS曲線和曲面的基本概念和簡單性質(zhì)。

    上述教學(xué)方案涉及很多概念和算法,我們并不強調(diào)學(xué)生掌握和實現(xiàn)算法的具體細節(jié),而是重在基本概念和算法的思想,理解算法解決的問題和達到的效果。但同時要求掌握幾個經(jīng)典算法,達到夯實基礎(chǔ)的目的。最新的研究進展是通過大量的插圖和視頻來介紹,這可讓學(xué)生對學(xué)科前沿有概念性、直觀的理解,提高學(xué)生學(xué)習(xí)興趣,為他們快速地進入該領(lǐng)域從事應(yīng)用開發(fā)或研究工作打下良好基礎(chǔ)。

    4. 實踐環(huán)節(jié)

    實踐環(huán)節(jié)主要是實踐項目(Project),由任課教師和助教負責(zé),學(xué)生可在全天候開放的專用機房完成。學(xué)生通過這些課后的實踐項目來鍛煉和提高分析問題和解決問題的能力。我們設(shè)計了三個實踐項目:二維多邊形掃描轉(zhuǎn)換、虛擬場景漫游和光線跟蹤算法實現(xiàn)。這三個實踐項目的設(shè)計吸收了Princeton大學(xué)、UC Berkeley大學(xué)計算機圖形學(xué)課程實踐環(huán)節(jié)的優(yōu)點。

    第一個項目是為了讓學(xué)生理解將幾何表示的圖形轉(zhuǎn)化為光柵圖形的過程及其重要意義,理解和實踐圖形算法中常用的增量法,以及將浮點運算轉(zhuǎn)化為整數(shù)運算可提高執(zhí)行效率的思想和技巧。我們根據(jù)最終可運行程序的計算效率和正確性進行評分。該技術(shù)最直接的應(yīng)用是,將Flash這類矢量圖形在計算機屏幕上進行快速顯示,體現(xiàn)了圖形學(xué)基礎(chǔ)算法的重要性。

    第二個項目要求學(xué)生實現(xiàn)虛擬場景漫游。該項目采用三角形/多邊形作為場景表示的基本方式,用戶通過鍵盤輸入運動信息,繪制程序根據(jù)這些信息交互生成虛擬場景畫面,從而實現(xiàn)虛擬相機漫游效果。通過該實踐項目,學(xué)生將熟悉OpenGL函數(shù)接口、理解和控制固定功能的圖形繪制流水線,體驗人機交互的特點。該項目涉及物體造型、場景變換、三維觀察、投影變換、多邊形光柵化、視口變換以及多邊形shading等圖形繪制過程所涉及的多個關(guān)鍵步驟和算法。該項目完成后,學(xué)生應(yīng)充分理解從三維物體空間坐標(biāo)系到二維窗口像素坐標(biāo)系圖形原語的整個變換流程。對固定功能繪制流水線的深刻理解為日后使用頂點著色器和像素著色器對繪制流水線進行定制打下良好基礎(chǔ)。

    第三個項目重點練習(xí)光線跟蹤算法。要求學(xué)生實現(xiàn)場景物體為簡單幾何體,如球面、柱面、多邊形網(wǎng)格,場景包含多個點光源情況下,能處理反射、折射以及陰影效果的光線跟蹤算法。要求使用包圍盒、BSP樹和八叉樹中至少一種數(shù)據(jù)結(jié)構(gòu),來加速光線與場景物體的交點計算過程。本項目要求物體必須帶有顏色紋理,將凸凹紋理(Bumping Mapping)、位移映射(Displacement Mapping)作為選作內(nèi)容。為解決采樣不足引起的畫面走樣問題,選作分布式光線跟蹤(Distributed Ray-tracing )算法。第三個項目的設(shè)計要求學(xué)生能夠理解全局光照明模型相對于局部光照明模型的優(yōu)點,以及從圖像空間出發(fā),如何逆向遞歸地計算成像平面像素的顏色值。而第二個項目涉及的繪制流水線則從物體空間出發(fā),且使用局部光照明模型,因此,第三個項目和第二個項目相互補充,幫助學(xué)生理解真實感圖形基本概念、基本原理和基本算法。

    除課程實習(xí)項目外,高年級優(yōu)秀本科生還可進入交互式圖形學(xué)實驗室,參與計算機圖形學(xué)及其相關(guān)領(lǐng)域的科研工作,進一步加強實踐環(huán)節(jié)訓(xùn)練的廣度和難度。交互式圖形學(xué)實驗室配了20臺左右高端PC,具有12個節(jié)點的高性能集群圖形繪制系統(tǒng),以及基于多投影儀的大屏幕顯示墻設(shè)備。研究項目來自國家縱向基金、企業(yè)的橫向合作項目以及國際知名IT企業(yè)的研究資助(如微軟亞洲研究院),主要研究方向包括圖形系統(tǒng)和體系結(jié)構(gòu)(Graphics System and Architecture)、大規(guī)模顯示技術(shù)(Large Scale Display Technology)、實時繪制(Real-time Rendering)、網(wǎng)絡(luò)圖形學(xué)(Internet Graphics)以及移動圖形學(xué)(Mobile Graphics)。這些研究課題主要應(yīng)用于虛擬現(xiàn)實、移動增值服務(wù)、多媒體計算、視頻游戲和娛樂系統(tǒng)。

    通過該門課程學(xué)習(xí),大部分學(xué)生能夠完成三個實踐項目,基本達到教學(xué)目標(biāo)的要求;能夠利用圖形編程接口進行圖形程序開發(fā),并將它們結(jié)合到其他應(yīng)用中;對圖形學(xué)基礎(chǔ)理論、基本概念有直觀感性的理解,能了解學(xué)科前沿,理解和實現(xiàn)部分典型的算法;對于在實驗室參與研究工作的學(xué)生,在以圖形作為工具來分析問題、解決問題方面得到很好的訓(xùn)練。實驗室參與科研工作的兩名本科生,在2005年第九屆挑戰(zhàn)杯飛利浦大學(xué)生課外學(xué)術(shù)科技作品競賽中獲得了一等獎,他們的參賽作品涉及基于視頻的繪制、流式媒體傳輸和普適計算技術(shù),是典型的圖形新技術(shù)與其他技術(shù)領(lǐng)域相融合的例子。該作品以微軟亞洲研究院游戲與圖形主題支持項目“面向移動平臺的游戲引擎”為基礎(chǔ),進一步拓展了移動圖形技術(shù)在城市導(dǎo)航、虛擬旅游、基于位置的多媒體服務(wù)等領(lǐng)域的應(yīng)用,體現(xiàn)出很強的創(chuàng)新能力。然而,對于其他不在圖形學(xué)實驗室工作的學(xué)生,他們在形象表示、分析和傳遞技能方面的訓(xùn)練仍顯不足,只有少數(shù)學(xué)生能自覺使用圖形作為問題描述和交流的工具。

    5. 結(jié)束語

    三維圖形生成和顯示技術(shù)將成為未來軟件產(chǎn)品能否成功的一個關(guān)鍵因素。根據(jù)圖形工業(yè)的發(fā)展趨勢和軟件產(chǎn)業(yè)對圖形技術(shù)的要求,吸收了美國知名大學(xué)該課程的教學(xué)經(jīng)驗,制定了本科生計算機圖形學(xué)的教學(xué)方案和實踐環(huán)節(jié)。通過微軟亞洲研究院的精品課程和研究項目資助,進一步修訂教學(xué)方案,使它能反應(yīng)工業(yè)界對人才的需求和學(xué)科最新進展,強調(diào)培養(yǎng)學(xué)生的創(chuàng)新能力。同時,授課內(nèi)容也反映任課教師的研究方向和特色,用科研來促進教學(xué)和人才培養(yǎng)。實踐表明,這種重實踐、求創(chuàng)新、著重培養(yǎng)解決問題能力的課程教學(xué)和人才培養(yǎng)模式具有很大的參考價值。

    參考文獻

    [CC2001] Computing Curriculum 2001, Computer Science Volume. December 15, 2001. http://www.sigcse.org/cc2001/

    [Foley97] James D. Foley, Andries Van Dam, Steven K. Feiner, John F. Hughes?. Computer Graphics Principles and Practice Second Edition in C. Addison Wesley, 1997

    [Hearn2003] Donald Hearn, M. Pauline Baker. Computer Graphics with OpenGL. Third Edition, Prentice Hall, August 12, 2003

    [Moller2002] Tomas Moller, Eric Haines, Tomas Akenine-Moller. Real-Time Rendering. 2nd Edition, July 2002, AK Peters, Ltd.

    [SE2004] Software Engineering 2004, Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering. August 23, 2004. http://sites.computer.org/ccse/

    [SGE2004] ACM Siggraph Education Committee 2004. http://www.siggraph.org/symposia/reports / Rep2004CGEworkshop.pdf

    [Woo97] Mason Woo, Jackie Neider, Tom Davis. OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 1.1. Addison-Wesley Pub, 2nd edition, January, 1997

    猜你喜歡
    圖形學(xué)繪制圖形
    Art on coffee cups
    放學(xué)后
    童話世界(2018年17期)2018-07-30 01:52:02
    分圖形
    找圖形
    突出實踐需求的GIS專業(yè)《計算機圖形學(xué)》課程優(yōu)化改革
    圖形變變變
    在轉(zhuǎn)變中繪制新藍圖
    圖形配對
    第7屆國際圖象圖形學(xué)學(xué)術(shù)會議
    VBA在宗地圖繪制中的應(yīng)用
    海晏县| 社会| 小金县| 区。| 张家口市| 平阳县| 喀喇沁旗| 讷河市| 德格县| 敦化市| 兰州市| 石渠县| 辰溪县| 泉州市| 大荔县| 涿鹿县| 白水县| 巩留县| 新竹县| 丁青县| 阿拉善右旗| 定安县| 于都县| 安国市| 长沙县| 钟山县| 定边县| 柳州市| 江西省| 南阳市| 肥乡县| 三台县| 冕宁县| 康保县| 青龙| 枣阳市| 福安市| 石楼县| 仁布县| 新竹市| 石台县|