目錄
多邊形建模
編輯在3D計算機圖形學中,多邊形建模是一種通過使用多邊形網格表示或近似對象的表面來建模對象的方法。多邊形建模非常適合掃描線渲染,因此是實時計算機圖形的首選方法。表示3D對象的替代方法包括NURBS曲面、細分曲面和光線追蹤器中使用的基于方程的表示。
幾何理論和多邊形
編輯網格建模中使用的基本對象是一個頂點,即三維空間中的一個點。由一條直線連接的兩個頂點成為一條邊。三個頂點,由三個邊緣彼此連接,限定一個三角形,這是最簡單的多邊形在歐幾里德空間。更復雜的多邊形可以由多個三角形創建,也可以創建為具有3個以上頂點的單個對象。四邊多邊形(通常稱為四邊形)和三角形是多邊形建模中最常用的形狀。一組通過共享頂點相互連接的多邊形,一般稱為一個元素.構成元素的每個多邊形稱為面。
在歐幾里得幾何中,任意三個不共線的點確定一個平面。出于這個原因,三角形總是位于一個平面上。然而,對于更復雜的多邊形,這不一定是正確的。三角形的平面特性使得確定它們的表面法線變得簡單,這是一個垂直于三角形表面的三維向量。表面法線對于確定光線追蹤中的光線傳輸非常有用,并且是流行的Phong著色模型的關鍵組成部分。一些渲染系統使用頂點法線而不是面法線,以更多處理為代價創建更好看的照明系統。請注意,每個三角形都有兩個面法線,它們指向彼此相反的方向。在許多系統中,只有這些法線中的一個被認為是有效的——多邊形的另一側被稱為背面,可以根據程序員的需要使其可見或不可見。
許多建模程序并沒有嚴格執行幾何理論;例如,兩個頂點可能有兩條不同的邊連接它們,占據完全相同的空間位置。兩個頂點也可能存在于相同的空間坐標中,或者兩個面存在于相同的位置。像這樣的情況通常是不希望的,許多包支持自動清理功能。但是,如果不存在自動清理,則必須手動刪除它們。
由共享頂點連接的一組多邊形稱為網格。為了使網格在渲染時看起來有吸引力,xxx是非自相交的,這意味著沒有邊穿過多邊形。另一種看待這個問題的方式是網格不能刺穿自己。還希望網格不包含任何錯誤,例如雙頂點、邊或面。出于某些目的,網格必須是流形——也就是說,它不包含孔洞或奇異點(網格的兩個不同部分由單個頂點連接的位置)。
多邊形網格的構建
編輯雖然可以通過手動指定頂點和面來構建網格,但使用各種工具構建網格更為常見。多種3D圖形軟件包可用于構建多邊形網格。
構建網格的一種更流行的方法是框建模,它使用兩個簡單的工具:
- 該細分工具,通過添加新的頂點分割面和邊成小塊。例如,將通過在中心添加一個頂點和在每條邊緣添加一個頂點來細分正方形,從而創建四個較小的正方形。
- 的擠出工具被施加到面或一組面。它創建一個大小和形狀相同的新面,該面通過面連接到每個現有邊。因此,在方形面上執行拉伸操作將在該面的位置創建一個連接到表面的立方體。
第二種常見的建模方法有時稱為膨脹建模或擠壓建模。在這種方法中,用戶創建一個2D形狀,它從照片或繪圖中追蹤對象的輪廓。然后,用戶從不同的角度使用對象的第二張圖像,并將2D形狀擠出為3D,再次遵循形狀的輪廓。這種方法對于創建面部和頭部特別常見。一般情況下,美術師會對頭部的一半進行建模,然后復制頂點,將它們相對于某個平面的位置反轉,然后將兩個部分連接在一起。這確保模型將是對稱的。
創建多邊形網格的另一種常用方法是將各種圖元連接在一起,這些圖元是由建模環境創建的預定義多邊形網格。常見的原語包括:
- 立方體
- 金字塔
- 氣缸
- 2D圖元,例如正方形、三角形和圓盤
- 特殊的或深奧的原語,如猶他茶壺或蘇珊娜,Blender的猴子吉祥物。
- 球體-球體通常以兩種方式之一表示:
- Icospheres是具有足夠數量的三角形以類似于球體的二十面體。
- UV球體由四邊形組成,類似于一些球體上看到的網格——四邊形在球體的“赤道”附近較大,在“兩極”附近較小,最終終止于單個頂點。
最后,存在一些構建高細節或低細節網格的專門方法。基于草圖的建模是一個用戶友好的界面,用于快速構建低細節模型,而3D掃描儀可用于以幾乎自動的方式基于現有的現實世界對象創建高細節網格。這些設備非常昂貴,通常僅供研究人員和行業專業人士使用,但可以生成高精度的亞毫米數字表示。
多邊形建模的擴展
編輯一旦構建了多邊形網格,必須采取進一步的步驟才能將其用于游戲、動畫等。必須對模型進行紋理映射以將顏色和紋理添加到表面,并且必須為其提供動畫骨架。還可以為網格分配權重和重心以用于物理模擬。
要在建模環境之外的計算機屏幕上顯示模型,必須以下列文件格式之一存儲該模型,然后使用或編寫能夠從該格式加載的程序。顯示3D多邊形模型的兩種主要方法是OpenGL和Direct3D。這兩種方法都可以在有或沒有3D加速顯卡的情況下使用。
多邊形建模的優點和缺點
編輯使用多邊形表示對象有很多缺點。多邊形無法準確表示曲面,因此必須使用大量多邊形來以視覺上吸引人的方式來近似曲線。使用復雜模型會降低速度。在掃描線轉換中,必須轉換和顯示每個多邊形,無論大小,并且在任何給定時間屏幕上經常會出現大量模型。通常,程序員必須使用不同細節級別的多個模型來表示同一對象,以減少正在渲染的多邊形數量。
多邊形的主要優點是它們比其他表示更快。雖然現代顯卡可以以每秒60幀或更高的幀速率顯示高度詳細的場景,但表面建模器(顯示非多邊形模型的主要方式)無法實現交互式幀速率(10幀/秒或更高)。更高)具有相似數量的細節。使用sprites是多邊形的另一種替代方案,必須單獨創建每個所需的姿勢,而如果應用適當的運動數據,單個多邊形模型可以執行任何運動,并且可以從任何角度查看。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/128705/