求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

細分曲面檢視原始碼討論檢視歷史

事實揭露 揭密真相
前往: 導覽搜尋
細分曲面

中文名: 細分曲面

外文名: Subdivision surface

別 名: 子分曲面

學 科: 計算機圖形學

細分曲面(Subdivision surface),又翻譯為子分曲面,在計算機圖形學中用於從任意網格創建光滑曲面。

簡介

細分曲面定義為一個無窮細化過程的極限。它們由Edwin Catmull和Jim Clark,還有Daniel Doo和Malcom Sabin在1978年同時引入。在1995年之前該方法沒有什麼進展,直到Ulrich Reif解決了細分曲面在特殊點附近的行為。

最基本的概念是細化。通過反覆細化初始的多邊形網格,可以產生一系列網格趨向於最終的細分曲面。每個新的子分步驟產生一個新的有更多多邊形元素並且更光滑的網格。

細分方法

有幾種細化方案:

Catmull-Clark是雙三次B-樣條的推廣

Doo-Sabin是雙二次均勻B-樣條的推廣

Loop 是二次三角形box樣條的推廣,由Charles Loop發明。(可以用於三角形網格)

蝶型,因為該方案的形狀得名

中邊(Midedge)

Kobbelt 是變分法子分方法,它試圖克服均勻子分的缺點。

優點

在主要的建模軟件中,細分曲面建模現在比非均勻有理B樣條(NURBS)建模更為流行。因為它們有很多優點:

適用於任意拓撲結構

數值上穩定

實現簡易

局部連續性控制

局部細化

關係

B-樣條曲線可以細化:他們的控制點串行可以細化而迭代進程收斂於實際曲線。這對於曲線來講毫無用處,但是它推廣到曲面就產生了細分曲面。

細化進程

插值過程在保持原有定點不動的情況下插入新的點。

細化過程在子分的每一步插入新的頂點並移動舊的定點。

特殊點

Catmull-Clark細化方案是雙三次均勻B-樣條的一個推廣。曲面的等價於一個4x4控制點格點的每一部分代表一個雙三次均勻B-樣條片。曲面細化在控制點價(相鄰點個數)等於4的那些區域很容易進行。定義價不是4的定點的細分曲面曾經很困難;這樣的點稱為特殊點。類似的,在Doo-Sabin方案中的特殊點是價不是3的點。

多數方案在子分過程中不產生新的特殊點。

細分曲面簡介

應用細分曲面做三維模型的原型設計非常的方便。通常只需要兩個步驟,先創建出模型的大致輪廓,然後設置需要切割的點線面。比如這個桌子模型,先創建出它的輪廓模型,看起來非常簡單,然後設置哪些點線面需要切割。感興趣的朋友可以到三維公園去逛逛,那裡有大量的細分曲面,而且還提供了在線細分建模的工具,非常容易上手。

細分曲面的核心就一個點:細分規則。不同的細分規則,生成的細分曲面外形是有區別的。常見的細分規則有Catmull-Clark細分,Doo-Sabin細分,Loop細分等。具體的細分規則可以參考教科書或者相關論文。

上面我們講了,細分曲面可以應用於原型設計。主要特點是上手簡單且表現力也很豐富。另外,一般的工業設計軟件常用的曲面表示是樣條曲面(分段多項式表示的曲面),這屬於一種連續的信息表示,用於生產製造時,需要對曲面進行離散化。比如3D打印製造,它的輸入就是一個網格。細分建模,可以直接得到網格,不需要樣條曲面這種中間格式的表示。

在顯卡上,也有細分曲面的應用。在遊戲場景中,由於實時性的要求,網格的面片數量要求要儘量的低,但是,網格少了,模型的細節也少了。為了儘可能的提升網格的數量,顯卡渲染流水線中加入Tessellation模塊,這個模塊直接在硬件上對網格進行了細分。​

​細分建模產生的網格,其面片分布非常的規則(regular)。規則的網格不管是用於幾何處理,還是用於有限元計算,都有非常好的性質,比如計算穩定性。另外,細分網格表示的數據量非常小,很適合於網絡傳輸。[1]

參考來源