計算機圖形學 - 沈工大作業(yè)管理_第1頁
已閱讀1頁,還剩36頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、三維實體建模,計算機科學與技術系,三維圖形的基本問題,三維圖形的基本研究內容:三維物體的表示 - 建模消除隱藏面與隱藏線 –消隱繪制真實感圖形方法 – 繪制在二維屏幕上顯示三維物體 –投影,三維物體,三維物體,如加工部件,利用體素幾何變換或集合運算曲面形狀的物體,如汽車、飛機,利用曲面造型自然景物,如樹、植物,利用分形技術場景特殊效果,如煙霧、火焰、云,利用物理模型模擬,模型表示,現(xiàn)實世界中的物體都是三維的。三維繪圖就是要

2、表現(xiàn)三維物體,主要要表現(xiàn)物體的立體感。紙張和屏幕都是二維的。用二維圖形也能畫出三維物體,但只是視覺上的假象,且只能靜態(tài)地表現(xiàn)三維物體。 三維繪圖先要建立三維物體的計算機模型(Model), 或稱計算機表示(Representation)。依照計算機模型顯示物體的三維景象。建模技術(Modeling)是計算機視覺、計算機動畫、計算機虛擬現(xiàn)實等領域中建立3D實體模型的關鍵技術。,實體建模技術,機內表示與顯示是兩回事。計算機內部可能只

3、是記下了 三個面,它是人通過視覺將顯 示畫面理解為立方體。由于計算機系統(tǒng)依據(jù)三維模型生成畫面,因此計算機模型要準確地刻畫三維物體,不能存在這種二義性。,實體建模技術是指描述幾何模型的形狀和屬性的信息并存于計算機內,由計算機生成具有真實感的可視的三維圖形的技術。,三維模型分類,線框模型表面模型實體模型,三維模型分類-線框模型,只是用幾何體的邊線來表示物體的外形,模型中只記錄點、邊。不能作消除隱藏線(面)處理,

4、表示的模型有二義性,而且不能繪制明暗效果圖。,三維模型分類-表面模型,是利用物體的外表面來構造模型,模型中記錄點、線和面的信息。表面模型的優(yōu)點是可以進行面著色,隱藏面消隱,但物體內部是空的,缺點無法進行實體之間的并、交、差運算。,三維模型的類別,實體模型模型中記載點、線、面和體的信息,能作消隱處理,也能作體積、重量等物性計算。實體模型與表面模型的不同之處在于確定了表面的哪一側存在實體。,在表面模型的基礎上,可以采用有向棱邊隱含

5、地表示出表面的外法矢方向。右手螺旋法則:4個手指沿閉合的棱邊方向,大拇指方向為表面的外法向方向,面表 邊表 點表,實體模型的基本數(shù)據(jù)結構,三表結構,,,,,面表和邊表中反映的是拓撲信息,點表中反映的是幾何信息,實體建模是基于數(shù)據(jù)結構的,拓撲信息與幾何信息,拓撲信息:描述幾何元素間的連接關系。有人也稱之為非度量幾何。,,,,,,,,,,,,拓撲同類,將拓撲信息和幾

6、何信息分開放置,有利于表達形體的變形。,關于三表結構的討論,簡單的三表結構還不是實體模型,因為不能表達形體的內部。為了表達形體的內部,要引入“環(huán)”的概念,來定義面的方向。,環(huán)具有(從物體外部看)順時針或逆時針的方向。依據(jù)右手法則,確定外環(huán)和內環(huán):外環(huán):面的外邊界環(huán)采用逆時針方向,(也是物體)的外側。一個面只有一個外環(huán)。內環(huán):有孔洞的面,空洞邊界采用順時針方向,一個面可以有多個內環(huán)。,關于三表結構的討論,加入環(huán)的信息

7、 面表 面號 環(huán) 1 點號1 - 點號2 - 點號3 - 點號4 … … 也可表示為,,,,三表結構的實現(xiàn),三表結構可以用指針、對象等多種方法實現(xiàn)。例:在繪制立方體線框圖時用數(shù)組表示立方體 面點

8、關系(拓撲關系) facePoint [f][i] = pointNum f : 1– 6,面號;i : 1– 4, 第m 個面的第i 個點; pointNum : 1– 8,點號; 點坐標(幾何信息) point[p][j] = zz p : 1– 8,點號; zz:坐標值; j = 1

9、/ 2 / 3 表示 x / y / z 坐標;,static const GLfloat vertex_list[][3] = { -0.5f, -0.5f, -0.5f, //0 0.5f, -0.5f, -0.5f, //1 -0.5f, 0.5f, -0.5f, //20.5f, 0.5f, -0.5f, //3 -0.5f, -0

10、.5f, 0.5f, //40.5f, -0.5f, 0.5f, //5 -0.5f, 0.5f, 0.5f, //60.5f, 0.5f, 0.5f, //7};,static const GLint index_list[][4] = { 0, 2, 3, 1, 0, 4, 6, 2, 0, 1, 5, 4, 4, 5, 7, 6, 1, 3, 7,

11、5, 2, 6, 7, 3, };,for(int i=0; i<6; ++i) //{ glBegin(GL_LINE_LOOP); for(int j=0; j<4; ++j) //glVertex3fv(vertex_list[index_list[i][j]]); glEnd();},正四面體,建立正四面體的伴隨立方體可以很容易地確定正四面體的頂點表和面表。

12、,正四面體幾何模型,正四面體的外接球和其伴隨立方體的外接球是同一個球;正四面體外接球的直徑就是立方體的對角線。假設立方體的半邊長為a,令V0點為(a,a,a)。,體素的構造,體素,定義的簡單形體對體素構造三表結構如圓錐,轉變?yōu)槎噙呅?,即網(wǎng)格, 共有 101個頂點 vertex 290條邊 edge 100個面 face輸入底面中心坐標(x,y,z)、半徑R、

13、圓錐高h,由程序生成上述面 – 環(huán) – 邊 – 點間的關系。其他體素,如長方體、棱柱、棱錐、棱臺、圓柱、圓錐、圓臺,體素的集合運算,構造復雜形體要對體素進行集合運算,集合 運算包括并、交、差運算。,B,A,A - B,A∪B,A∩B,集合運算的有效性,集合運算可能引起降維:產(chǎn)生了無厚度的二維面(懸面),這在實體造型中是不允許的。三維空間中有效的形體叫正則實體,能產(chǎn)生正則形體的集合運算叫正則集合運算。,A,B,A∩B

14、,,歐拉檢驗,一般集合運算要經(jīng)過檢驗,去掉懸點、懸邊和懸面。檢驗的方法是通過歐拉(Euler)公式。 簡單多面體的歐拉公式: V – E + F = 2 帶孔洞多面體的歐拉公式: V – E + F - H = 2(C – G)其中 V:頂點個數(shù);E:邊個數(shù);F:面?zhèn)€數(shù) H :多面體表面上孔的個數(shù) G :貫穿

15、多面體的孔的個數(shù) C :獨立的、不相連接的多面體數(shù),常用的實體建模方法,常用方法:體素定義和描述+集合運算掃描表示構造表示- 結構實體幾何 CSG邊界表示 R-rep,實體(建模)造型技術是指描述幾何模型的形狀和屬性的信息并存于計算機內,由計算機生成具有真實感的可視的三維圖形的技術。,掃描(Sweep)法-體素的擴展,一些形體還是不能由簡單體素 + 正則集合運算生成。,掃描方法,掃描(Sweep)法-體素的擴

16、展,掃描(Sweep)法-體素的擴展,記錄信息(環(huán)、線、點)物體面的構造(前、后、側),構造實體幾何 CSG,構造實體幾何:先定義一些形狀比較簡單的常用體素,然后用集合運算并、交、差把體素修改成復雜形狀的形體。,體素 + 集合運算,立方體、圓柱、圓錐等,或半空間,并、交、差,,,構造實體幾何 CSG-Constructive Solid Geometry,構造實體幾何,用有序的二叉樹表示,其葉結點或是體素,或是剛體運動的變換參數(shù)。中間

17、結點或是正則的集合運算或是剛體的幾何變換。,邊界表示(BRep表示),按照體-面-環(huán)-邊-點的層次,詳細記錄了構成實體的所有幾何元素的幾何信息及其相互連接的拓撲關系。邊界表示的一個重要特點是在該表示法中,描述形體的信息包括幾何信息(Geometry)和拓撲信息(Topology)兩個方面。,拓撲信息描述形體上的頂點、邊、面的連接關系,拓撲信息形成物體邊界表示的“骨架”。形體的幾何信息猶如附著在“骨架”上的肌肉。,邊界表示(BRep

18、表示),Brep表示的優(yōu)點是:表示形體的點、邊、面等幾何元素是顯式表示的,使得繪制Brep表示的形體的速度較快,而且比較容易確定幾何元素間的連接關系;容易支持對物體的各種局部操作,比如進行倒角。便于在數(shù)據(jù)結構上附加各種非幾何信息,如精度、表面粗糙度等。,邊界表示(BRep表示),Brep表示的缺點是:數(shù)據(jù)結構復雜,需要大量的存儲空間,維護內部數(shù)據(jù)結構的程序比較復雜;Brep表示不一定對應一個有效形體,通常運用歐拉操作來保證Br

19、ep表示形體的有效性、正則性等。Brep表示覆蓋域大,原則上能表示所有的形體,而且易于支持形體的特征表示等,Brep表示已成為當前CAD/CAM系統(tǒng)的主要表示方法。,實例,實例,曲面體建模,曲面體,如球體、圓柱體、圓錐體、圓環(huán)體等光滑物體曲面體由若干個三角平面片或四邊形平面片(網(wǎng)格)構成,隨著網(wǎng)格數(shù)量增多,較好逼近光滑曲面,光滑物體,多面體是由平面多邊形組成的物體,多面體沒有方程表示形式,用頂點表和面表直接給出數(shù)據(jù)結構定義。對于球

20、、圓柱、圓錐、圓環(huán)等光滑物體,表面有確定的參數(shù)方程表示形式。繪制光滑物體時,需要進行網(wǎng)格劃分,即把光滑曲面離散為平面多邊形表示,這些多邊形一般為平面四邊形或三角形網(wǎng)格。光滑物體的網(wǎng)格頂點表和面表使用物體的參數(shù)方程離散計算后得到。,球體,球面表示球體,球面是一個二次曲面球心在原點,半徑為r的球面三維坐標系,球面的參數(shù)方程表示為,α為緯度角,從北向南遞增,即,球體,球面可以使用經(jīng)緯線劃分成若干個小面,稱為經(jīng)緯區(qū)域南北極區(qū)域采用三角網(wǎng)

21、格逼近,其他區(qū)域采用四邊形網(wǎng)格逼近假定將球面劃分為n1=4個緯度區(qū)域,n2=8個經(jīng)度區(qū)域。則緯度方向的角度增量和經(jīng)度方向的角度增量均為α=β=45°,共有(n1-1)n2+2 = 26個頂點。,glutWireSphere(0.8, 8, 4);,glutWireSphere(0.8, 20, 10);,球體網(wǎng)格,球面網(wǎng)格化的方法分為遞歸劃分法,,P1,P2,P0,OpenGL繪制二次曲面,OpenGL的glu庫提供了以下類

22、型的二次曲面繪制:Cylinder, 圓柱體,使用gluCylinder函數(shù)Cone, 圓錐,使用gluCyliner函數(shù)。同CylinderSphere, 球體,使用gluSphere函數(shù)Disk, 碟盤,也就是同心圓,使用gluDisk函數(shù)Partial Disk, 部分同心圓,使用gluPartialDisk函數(shù),GLUquadricObj *qobj;qobj = gluNewQuadric();// 創(chuàng)建二次曲面對

溫馨提示

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

評論

0/150

提交評論