Subdivision algorithms

Subdivision algorithms are a popular tool in CAD to design, create and model surfaces of arbitrary topological type. The initial input to a subdivision algorithm is an arbitrary net of control points. This net is refined to generate a finer control net. Iterating this process results in a sequence of ever finer nets that converges towards a limit surface of the desired topology and smoothness. Thereby the smoothness depends solely on the rules (subdivision masks) that have been used to compute the finer subdivided control nets. An example sequence of control nets for Loop's algorithm is shown below. To the left is the visualization of the Gaussian curvature of the limit surface.

It is possible to conclude from the subdivision mask and the actual geometry of the control net the curvature behavior of the limit surface at the so-called extraordinary points. An example for Loop's algorithm is shown below. Here some free parameters in the construction of the subdivision algorithm have be used to optimize the behavior of the limit surface.

This project aims at tailoring the subdivision rules in such a way that a desired geometrical behavior of the limit surface is guaranteed. Two examples of the results in this project are shown below.

Visualization of Gaussian curvature of surfaces from Loop's algorithm, from the modified algorithm of Loop, from data dependent modified algorithm of Loop using minimization of an energy functional and from hybrid algorithm of Loop (f.l.t.r.), see [PU00b].

Visualization of Gaussian curvature of surfaces from a modified Catmull-Clark algorithm to allow for arbitrary shapes, from an optimized data-dependent Catmull-Clark algorithm for arbitrary shapes, from an optimized data-dependent Catmull-Clark algorithm for elliptic shapes only (f.l.t.r.).The top row shows the surface and the bottom row shows the corresponding zoom at the extraordinary point. See [GU07b].

Publications in this project can be found here: 
[GU08a][GU08b][GU07a][GU07b][GPU07][GU06a][GU06b][GPU05][Uml05][Uml04]
[PU01a],[PU00a][PU00b][Uml00][PU98a]