Subdivision schemes for geometric modelling: a hands-on tutorial
Subdivision is a great tool in graphics and geometry processing
to get smooth curves and surfaces out of initial control polygons
and control meshes.
In this tutorial we explore the mathematical
basics, learn about the most important subdivision schemes, and
implement them in Matlab.
---------------------
Lecture I: Subdivision as a linear process
We start by introducing the basic concepts and notation for
curve subdivision and learn how it can be seen
as an infinite
linear refinement process of the initial data.
This leads to
the idea of the subdivision matrix and analysing the latter
enables us to compute points on the limit curve.
---------------------
Lecture II: The Laurent polynomial formalism
We then learn about the formalism of Laurent polynomials. This
allows us to describe the subdivision process in an algebraic
wayand helps to derive conditions
that guarantee the
convergence of a scheme.
Moreover, we derive conditions for
the generation and the reproduction of polynomial limit
functions.
---------------------
Lecture III: Smoothness analysis
We further use the concept of Laurent polynomials to study the
smoothness of the limit functions and also introduce the joint
spectral radius method for deriving lower and upper bounds on
the Hölder regularity.
---------------------
Lecture IV: Subdivision surfaces
Finally, we learn how to extend the idea of subdivision
from curves to surfaces and study the most important schemes
for triangle and quadrilateral meshes.