【摘 要】在計(jì)算機(jī)圖形學(xué)的教學(xué)中,三維物體的創(chuàng)建、變換、繪制是學(xué)生理解的難點(diǎn),本文通過采用三維圖像采集設(shè)備,對三維目標(biāo)物進(jìn)行了數(shù)字化與捕捉、多邊形網(wǎng)格建模、紋理映射、三維仿射變換、三維觀察等內(nèi)容,使同學(xué)們能對三維圖形學(xué)的難點(diǎn)內(nèi)容進(jìn)行更為深入的理解,基于三維圖像采集設(shè)備對三維計(jì)算機(jī)圖形學(xué)內(nèi)容進(jìn)行了實(shí)例化教學(xué)探索。
【關(guān)鍵詞】實(shí)例化教學(xué) 計(jì)算機(jī)圖形學(xué) 三維建模
1 引言
目前《計(jì)算機(jī)圖形學(xué)》是許多高校開設(shè)的多媒體系列課程之一,許多的《計(jì)算機(jī)圖形學(xué)》課本都涉及了三維物體的數(shù)字化與捕捉、立體視圖的形成、多邊形網(wǎng)格建模、紋理映射、三維物體的仿射變換、三維場景的繪制、三維觀察等內(nèi)容,但目前多數(shù)的教材主要是一些理論的講解,缺乏一些具體的實(shí)例,特別是缺少一些學(xué)生能看得見的、就在身邊的、實(shí)實(shí)在在的實(shí)物實(shí)例,因而,學(xué)生學(xué)起來,缺乏足夠力度的信服感,缺乏一些概念間聯(lián)系的理解,對一些方法與原理,特別是對一些變換公式,理解不夠深入,因此,我們覺得進(jìn)行實(shí)例化教學(xué)很有必要的。
在計(jì)算機(jī)學(xué)科的教學(xué)實(shí)踐中,實(shí)例化教學(xué)方法在《操作系統(tǒng)》、《C++程序設(shè)計(jì)》、《Java程序設(shè)計(jì)》等課程中,已有一些相關(guān)的應(yīng)用介紹[1][2][3]。在圖形學(xué)的教學(xué)方面,有些學(xué)者所研究考慮的是輔助軟件的選擇[4],有些學(xué)者考慮的是算法的演示[5],或者是對互聯(lián)網(wǎng)輔助作用的引入[6],但在圖形學(xué)方面的實(shí)例化教學(xué)方法,特別是對三維點(diǎn)云的采集與繪制方面,還有待進(jìn)一步探索。
2 實(shí)例化教學(xué)
在我校本年度的教育教學(xué)改革與課程建設(shè)活動(dòng)中,我們進(jìn)行了“基于三維圖像采集設(shè)備的《圖形學(xué)》實(shí)例化教學(xué)探索”的課題研究,通過這一課題,豐富了我校《計(jì)算機(jī)圖形學(xué)》中關(guān)于點(diǎn)云與紋理的實(shí)例,讓學(xué)生能切實(shí)看到一個(gè)具體的三維點(diǎn)云與模型,及其紋理信息,以及他們間的映射。通過實(shí)例化教學(xué),讓學(xué)生更為深刻的理解計(jì)算機(jī)圖形學(xué)的知識,使得理論更能被學(xué)生信服與接受,同時(shí)大大提高了同學(xué)們對圖形學(xué)的學(xué)習(xí)熱情與興趣。
在本節(jié)后面的幾個(gè)部分,我們將分為三維物體的數(shù)字化與捕捉、多邊形網(wǎng)格建模、紋理映射、三維仿射變換、三維觀察五個(gè)方面來分別介紹我們的實(shí)例化教學(xué)方法。
2.1 三維物體的數(shù)字化與捕捉
一般在《計(jì)算機(jī)圖形學(xué)》的第一章會介紹三維物體的數(shù)字化與捕捉的過程與大致的深度成像原理。例如,我們在講述基于結(jié)構(gòu)光法獲取深度圖像的時(shí)候,會告訴同學(xué)們結(jié)構(gòu)光法是一種借助三角原理,直接獲取深度信息,從而得到深度圖像的方法,是通過借助于照明中的幾何信息的幫助來提取對象的幾何信息的。更進(jìn)一步說是攝像機(jī)、光源、與被觀察物排成一個(gè)三角形,光源產(chǎn)生的一系列光斑或激光線條投射到對象表面,通過攝像機(jī)對這些光斑或光線條的信息采集,來對光斑或光線條進(jìn)行計(jì)算,從而獲取對象物體的三維模型。但同學(xué)們會不是很明白這樣的設(shè)備到底是如何工作的。所以我們使用了Kinect、EVA、Spider等三維掃描儀,如圖1所示,對三維物體進(jìn)行數(shù)字化與捕捉,講解了Kinect與EVA、Spider成像原理的不同,使同學(xué)們看到了用于三維成像的光斑與激光網(wǎng)格,對三維物體的數(shù)字化與捕捉過程能有一個(gè)清晰的了解。
2.2 多邊形網(wǎng)格建模
多邊形網(wǎng)格就是一組“面”或“多邊形”的集合,這些多邊形共同構(gòu)成了一個(gè)物體的表面。在計(jì)算機(jī)圖形學(xué)中,球面,圓柱,圓錐即是這樣的面的平滑逼近形狀。在網(wǎng)格建模時(shí),可以采用三角形、四邊形、多邊形等。我們在講述這一部分內(nèi)容時(shí),給出了實(shí)際的三維掃描模型捕捉的點(diǎn)云圖像以及其對應(yīng)的網(wǎng)格圖像,告訴同學(xué)們它們的對應(yīng)關(guān)系,以及它們是如何共同組成了一個(gè)三維立體模型。圖2是以圖書為實(shí)例進(jìn)行多邊形網(wǎng)格建模,圖2(a)給出了圖書一角的點(diǎn)云圖像,圖2(b)為它所對應(yīng)的三角形網(wǎng)格模型。
2.3 紋理映射
為了使三維網(wǎng)格模型看起來更加真實(shí),我們需要給三維網(wǎng)格模型添加紋理,例如磚塊紋理或木材紋理。紋理的通常做法是被印在或環(huán)繞在網(wǎng)格模型的表面。同學(xué)們對具體什么是紋理,它與數(shù)字圖像處理課程中所談的紋理有什么不同,紋理是從哪里來的,紋理是如何附著在三維網(wǎng)格模型上的等問題比較困惑,我們利用圖1中所示的三維掃描儀,對圖書實(shí)例進(jìn)行掃描,并給同學(xué)們展示了掃描所得的紋理圖像,并利用計(jì)算機(jī)程序把紋理圖像的各像素附著在圖(2)b所示的三維網(wǎng)格模型上,得到了經(jīng)過紋理映射后的三維圖書模型圖像,如圖3所示。使得同學(xué)對前面提出的問題有了較為明晰的理解。圖3(a)是以圖2中圖書模型實(shí)例的紋理圖像,圖3(b)為針對三角形網(wǎng)格模型映射紋理后的三維圖像。
2.4 三維仿射變換
對應(yīng)于二維或三維模型,我們有時(shí)想對目標(biāo)對象實(shí)現(xiàn)的尺寸、朝向和位置更加靈活的控制。包括對物體的縮放、平移、旋轉(zhuǎn)、錯(cuò)切等,因此,我們會使用強(qiáng)有效的仿射變換。對于二維圖形的仿射變換,同學(xué)還好理解,但對于三維物體的仿射變換,OpenGL又是如何實(shí)現(xiàn)的呢?為了說清楚這一點(diǎn),我們通過圖(1)所示三維掃描儀,掃描了一些三維模型的實(shí)例,編寫了仿射變換的相關(guān)程序,通過程序告訴同學(xué)們,許多圖像平臺(包括OpenGL )都提供一個(gè)圖形管道,我們可以把三維模型的各個(gè)點(diǎn)都發(fā)送給圖形管道,在圖形管道上進(jìn)行一系列操作,通過處理每一個(gè)點(diǎn),就可以產(chǎn)生一個(gè)新的仿射變換后的圖像。例如,圖4為對圖3進(jìn)行紋理映射后的三維模型進(jìn)行仿射變換的實(shí)例,其中,圖4(a) 為針對圖3(B)三維圖書模型的縮小實(shí)例,圖4(b)為針對圖3(B) 圖書三維模型縮小并平移的實(shí)例。
2.5 三維觀察
三維觀察是計(jì)算機(jī)圖形學(xué)教學(xué)中的一個(gè)重點(diǎn),通常我們把攝像機(jī)放在空間里的某點(diǎn),在這位置上觀察三維空間,這個(gè)三維空間稱為視景體( View Volume ),是金字塔形狀的一部分,那個(gè)觀察點(diǎn)我們稱為視點(diǎn)。視點(diǎn)不同,得到的三維觀察結(jié)果也不同。在進(jìn)行教學(xué)過程中,我們需要向同學(xué)講清楚平行投影與透視投影的區(qū)別,以及如何進(jìn)行視點(diǎn)位置的設(shè)定,如何進(jìn)行透視變換等。通過一些實(shí)例,能夠更為直觀地顯示不同視點(diǎn)位置下,三維透視變換的不同結(jié)果。比如,圖5為對圖3進(jìn)行紋理映射后的三維模型,在不同視點(diǎn)下的觀察結(jié)果。圖5(a) 為視點(diǎn)在下左邊情況下的三維觀察結(jié)果,圖5(b)為視點(diǎn)在中間下方位置時(shí)的三維觀察結(jié)果。
3 結(jié)語
本課題的研究內(nèi)容是面對《計(jì)算機(jī)圖形學(xué)》課程,研究如何利用實(shí)驗(yàn)室現(xiàn)有的三維掃描與采集設(shè)備,進(jìn)行三維圖形圖像的采集,并對課程內(nèi)容進(jìn)行實(shí)例化教學(xué),以期提高教學(xué)效果。本課題的研究目標(biāo)是讓學(xué)生們能夠通過實(shí)際采集的三維圖形圖像,感覺《計(jì)算機(jī)圖形學(xué)》課程所教授的內(nèi)容是實(shí)實(shí)在在的,所講述的三維圖形處理方法是十分具體的。通過采集實(shí)際物體的三維模型,展示了它的點(diǎn)云數(shù)據(jù)、多邊形網(wǎng)格建模方法、文件存儲格式、仿射變換方法、以及三維繪制、進(jìn)行紋理映射等方法,對《計(jì)算機(jī)圖形學(xué)》課程所講述的內(nèi)容進(jìn)行了具體的映射與驗(yàn)證,進(jìn)行了其特色為以實(shí)例為先導(dǎo)、以實(shí)例為印證的實(shí)例化教學(xué)探索。
致謝
本課題為北方工業(yè)大學(xué)2015年度教育教學(xué)改革課題成果----“基于三維圖像采集設(shè)備的《圖形學(xué)》實(shí)例化教學(xué)探索”,受到北方工業(yè)大學(xué)2015年度教育教學(xué)改革和課程建設(shè)項(xiàng)目的資助,在此鳴謝。
參考文獻(xiàn):
[1]馮麗萍,曹建芳.《操作系統(tǒng)》課程中抽象知識的實(shí)例化教學(xué)研究[J]. 當(dāng)代教育實(shí)踐與教學(xué)研究,2015,(8):16.
[2]黃晶晶,段波.實(shí)例教學(xué)法在《C++程序設(shè)計(jì)》課堂教學(xué)中的應(yīng)用初探[J].軟件工程師,2015,(1):25-27.
[3]高賢強(qiáng),吳剛,陳立平.《Java程序設(shè)計(jì)》課程教學(xué)模式探索與研究[J].現(xiàn)代計(jì)算機(jī),2013,(30):28-31.
[4]梁麗香,龍虎. MATLAB軟件在計(jì)算機(jī)圖形學(xué)教學(xué)中的應(yīng)用[J].信息與電腦(理論版),2015,(10):113-114.
[5]張朝,許孟煒,郭秀娟,金川皓.計(jì)算機(jī)圖形學(xué)算法演示系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)教育,2015(19):77-79.
[6]王穎,張曉蕾. GIS專業(yè)計(jì)算機(jī)圖形學(xué)教學(xué)中應(yīng)用WebQuest方法研究[J]. 教育教學(xué)論壇,2015,(2):165-166.
基金項(xiàng)目:北方工業(yè)大學(xué)2015年度教育教學(xué)改革和課程建設(shè)基金項(xiàng)目
作者簡介:童立靖(1972—),男,學(xué)歷:博士,職稱:副教授,研究方向:計(jì)算機(jī)圖形學(xué),數(shù)字圖像處理。