細分曲面(Subdivision surface),又翻譯為子分曲面,在電腦圖學中用於從任意網格建立光滑曲面。細分曲面定義為一個無窮細化過程的極限。它們由Edwin CatmullJim Clark,還有Daniel Doo和Malcom Sabin在1978年同時引入。在1995年之前該方法沒有什麼進展,直到Ulrich Reif解決了細分曲面在特殊點附近的行為。

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

立方體的Catmull-Clark子分的最初三步和細分曲面

子分方法

編輯

有幾種細化方案:

  • Catmull-Clark是雙三次B-樣條的推廣
  • Doo-Sabin是雙二次均勻B-樣條的推廣
  • Loop 是二次三角形box樣條的推廣,由Charles Loop發明。(可以用於三角形網格)
  • 蝶型 因為該方案的形狀得名
  • 中邊(Midedge)
  • Kobbelt 是變分法子分方法,它試圖克服均勻子分的缺點。

相對於NURBS模型的優點

編輯

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

  • 適用於任意拓撲結構
  • 數值上穩定
  • 實現簡易
  • 局部連續性控制
  • 局部細化

和B-樣條的關係

編輯

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

細化行程

編輯

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

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

特殊點

編輯

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

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

外部連結

編輯