Automatic Construction of Quad-Based Subdivision Surfaces using Fitmaps
Automatic Construction of Quad-Based Subdivision Surfaces using Fitmaps
Daniele Panozzo, Enrico PuppoDISI - University of Genova, Italy
Marco TariniDICOM - Dipartimento Informatica e Comunicazione, Universita` dell'Isubria, Varese, Italy
Nico Pietroni, Paolo CignoniVisual Computing Group - ISTI-CNR, Pisa, Italy
Daniele Panozzo, Enrico PuppoDISI - University of Genova, Italy
Marco TariniDICOM - Dipartimento Informatica e Comunicazione, Universita` dell'Isubria, Varese, Italy
Nico Pietroni, Paolo CignoniVisual Computing Group - ISTI-CNR, Pisa, Italy
Interpolant C2 surfacesInterpolant C2 surfaces
• We want to build a C2 surface that interpolates the input mesh
• This representation has several advantages:– The surface can be sampled at arbitrary resolution– We need to store less information– We can compute the fundamental forms for every
surface patch and compute differential properties in closed form
Uniform B-splinesUniform B-splines
• Uniform B-splines can be used to approximate curves by deciding the number of control points and “fitting” them on the input data
• B-splines can be used to define surfaces, the control points must be placed in a regular grid
Catmull Clark Subdivision SurfacesCatmull Clark Subdivision Surfaces
• CCs are a generalization of bi-cubic uniform B-spline surfaces to arbitrary topology
• CCs are defined recursively
• CCs can be evaluated in closed form
• CCs can be converted to bi-cubic Bezier patches
How can we “fit” a CC?How can we “fit” a CC?
• The limit of the recursive subdivision can be evaluated at the control points
• Fitting the CC corresponds to solve a huge linear system
Dense Interpolant CCDense Interpolant CC
• This solution allows to produce a control grid that has the same number of control points as the number of sampled vertexes
• We want to simplify the CC by removing control points, while preserving the initial shape
• Intuitively we want to replace a set of small patches with a single one, whenever the substitution does not “alter” the surface
Local Topological Editing OperatorLocal Topological Editing Operator
• The control grid must be composed of quads!• To increase the quality of the surface, the
control grid must be:– as regular as possible – aligned with the principal curvatures
FitmapsFitmaps
Local fitting of the CCLocal fitting of the CC
• After every local operator we re-fit the CC by optimizing:– The quadratic distance between the new
patches and the original surface– The shape of the quads of the control mesh
ExampleExample
High frequencies as scalar fieldsHigh frequencies as scalar fields
• As the simplification algorithm proceeds, a family of CCs is generated
• The high frequency details on the surface are progressively lost
• They can be encoded as displacement maps, one for each surface patch
• A dispacement map is a scalar, continuous bivariate function that associates, for every point p in a surface patch, the distance between p and the input surface along the normal defined on p
Displacement MappingDisplacement Mapping
Results – David’s HeadResults – David’s Head
Results - BunnyResults - Bunny
Results - FertilityResults - Fertility
Results – GargoyleResults – Gargoyle
Top Related