計算機圖形學基礎(chǔ)大作業(yè)_陳立人_第1頁
計算機圖形學基礎(chǔ)大作業(yè)_陳立人_第2頁
計算機圖形學基礎(chǔ)大作業(yè)_陳立人_第3頁
計算機圖形學基礎(chǔ)大作業(yè)_陳立人_第4頁
計算機圖形學基礎(chǔ)大作業(yè)_陳立人_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、計算機圖形學基礎(chǔ)大作業(yè) 茶壺的造型與渲染計算機圖形學基礎(chǔ)大作業(yè)茶壺的造型與渲染陳立人 2014011205一、 實驗簡介本小組的作業(yè)借鑒了老師布置的參考作業(yè),并在此基礎(chǔ)上做了一定拓展。本小組有三位同學:王舒鶴同學主要負責了矢量字庫部分的工作;劉懷宇同學主要研究了光線追蹤算法;我主要負責了茶壺的造型和渲染工作。二、 實驗內(nèi)容1. 茶壺框架的繪制基于文獻What, Teapot Again?,根據(jù)給出的控制點,用三次貝塞爾曲線差值出茶壺四個部分的輪廓線。Figure 1 茶壺輪廓線其中,壺嘴和壺蓋部分的三維造型通過對輪廓線的旋轉(zhuǎn)得到;把手和壺嘴部分是根據(jù)論文中給出的控制點的深度信息,用貝塞爾曲面造

2、型得到。得到的茶壺模型是一系列的點。我將茶壺模型定義為四個曲面的集合,每曲面由一系列的小四邊形組成,每個點用齊次坐標表示。通過對曲面的投影變化,得到了茶壺在視平面內(nèi)的投影?;贐resenham算法,畫出了茶壺的網(wǎng)格線。Figure 2 三維茶壺的網(wǎng)格表示2. 三維茶壺的光照渲染起先,使用Phong模型對茶壺上每個三角形平面進行上色,每一個小三角形的光強一致?;赑hong光照模型計算出環(huán)境光、漫發(fā)射光、鏡面反射光以及總的光強,然后利用多邊形掃面線填充算法在視平面上所對應(yīng)的投影位置著色,并用Z Buffer算法實現(xiàn)三維物體的消隱。著色效果不是很理想,曲面上高光部分馬赫帶效應(yīng)嚴重,壺表面不光滑。

3、Figure 3 Phong光照模型為了改善著色效果,參考了Gouraud平滑著色法,通過差值的方法讓曲面上光照強度連續(xù)變化。取相鄰四個平面的法向量平均值作為曲面上點的法向量,再由Phong計算出該點的光照強度。Gouraud方法采用了雙線性差值即通過三個控制點對三角形面進行線性差值,與之不同的是我們采用了仿射變換用四個控制點對一個四邊形面進行線性差值。由于二維平面上四個點到四個點的線性映射是過定的,因此該線性映射通過矩陣求偽逆得到。Figure 4 平滑后的茶壺模型由上圖可見,通過差值后得到的光照模型效果明顯更優(yōu)。3. 曲面的紋理映射基于已經(jīng)實現(xiàn)的仿射變化,我們能在曲面與紋理的圖片之間建立映

4、射關(guān)系。為了演示效果,我們在壺身上提上了照片。在紋理映射時,我們遍歷視平面上的每個點,然后通過投影變換得到其在紋理圖片中的位置,然后將紋理的RGB值作為系數(shù)與基本光照值相乘,最終得到該點的亮度。Figure 5 紋理映射后的茶壺表面Figure 6 紋理映射的局部由于是對視平面內(nèi)的像素進行遍歷,所以紋理的分辨率只受原圖分辨率的限制。但如果原圖分辨率過高,那么相當于隔若干行和若干列對原圖進行采樣,反而會顯得不自然。在后續(xù)工作中,可以根據(jù)大致的顯示比例對原圖進行高斯平滑后再進行采樣。4. 茶壺表面的立體字造型與顯示對立體字的構(gòu)型分三個步驟:首先是基于圖片提取出字的輪廓,該部分工作是由王舒鶴同學完成

5、的,對輪廓的提取不僅需要知道輪廓的位置,還需要知道輪廓的方向,即字體在輪廓線的哪一邊,尤其是對于有空心部分的字體。輪廓線的方向決定了立體字側(cè)面的內(nèi)外方向。第二步是對立體字側(cè)面進行造型。將立體字側(cè)面看成一個柱體,在第一步中提取出輪廓后,將其映射到茶壺表面,即得到了這個柱體的底面的坐標。然后將曲面上各控制點沿其法向量拉伸后,即可得到立體字的另一個面的所有點。然后將拉伸前后的點放在一起即得到了立體字的側(cè)面。第三部是繪制立體字的頂面。將原曲面上各控制點沿法向量拉伸后,在新的曲面上進行紋理映射。需注意的是,只對有字的部分著色。著色完成后,立體字頂面也就繪制好了。Figure 7 立體字造型由上圖可見,立

6、體字整體效果明顯,側(cè)面也有光照漸變。但立體字還是有一些小瑕疵??赡茉蚴菦]有處理好各種邊界和極限情況,導致圖片局部的光照強度和深度出現(xiàn)異常數(shù)值。5. 人臉識別與圖像自動裁剪老師提示我可以把照片貼在茶壺上,于是我在紋理部分把它實現(xiàn)了。為了增強趣味性,我加入了這個人臉識別模塊,用來自動的識別并裁剪出人臉部分,貼在茶壺上。人臉識別的關(guān)鍵代碼參考了MATLAB vision toolbox的FaceTrackingWebcamExample.m。該人臉識別模塊是基于KLT算法提取圖片中特征點來實現(xiàn)的人臉的跟蹤;通過對比前后兩幀中的變換關(guān)系,即可估計出目標的位移。最后通過仿射變化將圖形旋轉(zhuǎn)并平移,得到臉

7、部圖像。Figure 8 人臉識別與自動裁剪6. GUI界面的編寫為了更方便地展示本小組的工作,我們編寫了圖形界面。打開potGUI.m文件,按F5運行,出現(xiàn)的是茶壺繪制的主界面。按上下左右方向鍵能旋轉(zhuǎn)茶壺;按wsad四個鍵能平移茶壺位置;按qe兩個鍵能讓視點前進或后退。Figure 9 茶壺主界面主界面下放有四個鍵:單擊Detail鍵會顯示茶壺造型的基本輪廓線,如Figure 1;單擊Render鍵會對茶壺進行光照渲染,如Figure 4;單擊Texture鍵會在茶壺表面進行紋理映射和立體字的繪制,結(jié)果如Figure 7;單擊Face鍵進入頭像采集界面,如下圖:Figure 10 頭像采集界

8、面在預(yù)覽窗口下方有三個按鍵:單擊Clear鍵能重新提取特征點,用來刷新人臉識別結(jié)果;單擊Capture鍵能采集圖像,預(yù)覽效果如Figure 8所示;單擊Exit鍵可退出界面,回到主界面。若你在該窗口中至少采集了一張照片,那么在你退出之后會將最后一次采集的照片貼在茶壺上。注:1) 光照渲染和紋理映射都需要一定的運行時間(大概10秒左右),單擊按鍵后,當按鍵顯示W(wǎng)aiting時請勿點擊其他按鍵。2) 在運行紋理映射或采集人臉圖像前需要至少運行一次光照渲染,此時光照渲染的按鍵為Waiting狀態(tài),請耐心等待。3) 在頭像采集界面中,請通過單擊Exit按鍵退出,而非通過單擊窗口的關(guān)閉按鈕,否則可能導致

9、該進程無法正常終止。三、 實驗總結(jié)與感想本次實驗中,自己理解并在matlab上手動實現(xiàn)了Bezier曲線算法,Bresenham算法,多邊形掃描填充算法,Phong光照模型,Z Buffer算法等計算機圖形學中的經(jīng)典算法,在自己寫這些算法的過程中加深了對這些算法的思想與精髓的理解。除了算法本身,在這次作業(yè)中,我也進一步鍛煉了我的調(diào)試能力,我還對代碼運行速度進行了優(yōu)化,第一個版本的光照渲染需要運行一分鐘左右,通過代碼計時工具,我對耗時較多的部分進行了簡化,最終把渲染時間降到了10秒左右。整體而言,我對本次實驗的結(jié)果比較滿意。另一方面,本次實驗也有一些還可以改進或拓展的方向:為了計算簡便,我沒有實

10、現(xiàn)視景體裁剪的步驟,如果空間內(nèi)物體數(shù)量較多,視野范圍較小,那么我寫的光照模型可能運算速度會打不少折扣;由于自己寫的代碼難免有一些bug,渲染出的模型在一些邊界區(qū)域還是會出一些問題,比如較暗的邊界上中有一個亮點。還有一個問題是創(chuàng)新性不是很強。誠然,這部分關(guān)于茶壺的工作是圖形學中最最基礎(chǔ)也是最最經(jīng)典的部分,要達到創(chuàng)新的境界還有很長的路要走。最后,感謝老師的悉心指導!四、 附錄代碼清單:bresLine.m Bresenham算法畫直線facedetect.m 人臉識別及圖像裁剪gridView.m 茶壺的網(wǎng)格線顯示interpolation.m 基于仿射變換的差值lightPoint.m 計算控制

11、點光照強度normVector.m 計算控制點處的法向量phong.m Phong光照模型potGUI.m 總體GUI界面projection.m 視平面投影render.m planer的光照渲染renderSurf.m 渲染單個曲面renderSurfaces.m 渲染多個曲面renderSurfT.m 曲面紋理映射renderVerticalText.m 生成立體字rotateModel.m 旋轉(zhuǎn)模型sideface.m 生成立體字側(cè)面stretchSurf.m 將曲面沿法向拉伸teapotModel.m 生成茶壺模型translateModel.m 平移模型五、 參考文獻1 Blinn J F. What, teapots againJ. IEEE Computer Graphics and Applications, 1987, 7(9): 61-63.2 Phong B T. Illumination for computer generated picturesJ. Communications of the ACM, 1975, 18(6): 311

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論