细分曲面(Subdivision surface),又翻译为子分曲面,在
计算机图形学中用于从任意网格创建光滑曲面。
细分曲面定义为一个无穷细化过程的极限。它们由Edwin Catmull和Jim Clark,还有Daniel Doo和Malcom Sabin在1978年同时引入。在1995年之前该方法没有什么进展,直到Ulrich Reif解决了细分曲面在特殊点附近的行为。
最基本的概念是细化。通过反复细化初始的
多边形网格,可以产生一系列网格趋向于最终的细分曲面。每个新的子分步骤产生一个新的有更多多边形元素并且更光滑的网格。
B-
样条曲线可以细化:他们的控制点串行可以细化而
迭代进程收敛于实际曲线。这对于曲线来讲毫无用处,但是它推广到曲面就产生了细分曲面。
Catmull-Clark细化方案是双三次均匀B-样条的一个推广。曲面的等价于一个4x4控制点格点的每一部分代表一个双三次均匀B-样条片。曲面细化在控制点价(相邻点个数)等于4的那些区域很容易进行。定义价不是4的定点的细分曲面曾经很困难;这样的点称为特殊点。类似的,在Doo-Sabin方案中的特殊点是价不是3的点。