A framework for quad/triangle subdivision surface fitting: Application to mechanical objects.
-
Citations (0)
-
Cited In (0)
Page 1
Volume 0 (1981), Number 0 pp. 1–14
A framework for quad/triangle subdivision surface fitting:
Application to mechanical objects
Guillaume Lavoué and Florent Dupont and Atilla Baskurt
LIRIS UMR 5205, 43 Boulevard du 11 Novembre 1918, 69622 Villeurbanne, France
[glavoue,fdupont,abaskurt]@liris.cnrs.fr
Abstract
In this paper we present a new framework for subdivision surface approximation of 3D models represented by
polygonal meshes. Our approach, particularly suited for mechanical or CAD parts, produces a mixed quadrangle-
triangle control mesh, optimized in terms of face and vertex numbers while remaining independent of the connec-
tivity of the input mesh. Our algorithm begins with a decomposition of the object into surface patches. Then the
main idea is to approximate first the region boundaries and then the interior data. Thus, for each patch, a first
step approximates the boundaries with subdivision curves (associated with control polygons) and creates an ini-
tial subdivision surface by linking the boundary control points with respect to the lines of curvature of the target
surface. Then, a second step optimizes the initial subdivision surface by iteratively moving control points and en-
riching regions according to the error distribution. The final control mesh defining the whole model is then created
assembling every local subdivision control meshes. This control polyhedron is much more compact than the orig-
inal mesh and visually represents the same shape after several subdivision steps, hence it is particularly suitable
for compression and visualization tasks. Experiments conducted on several mechanical models have proven the
coherency and the efficiency of our algorithm, compared with existing methods.
Categories and Subject Descriptors (according to ACM CCS): I.3.5 [Computer Graphics]: Curve, surface, solid, and
object representations G.1.2 [Numerical Analysis]: Approximation of surfaces and contours
1. Introduction
The context of this work is the Semantic-3D project
(http://www.semantic-3d.net). The objective is the transmis-
sion of 3D mechanical models through low bandwidth chan-
nelsinavisualizationobjectiveonvariousterminals.The3D
model database to handle comes from the car manufacturer
Renault, and contains thousands of quite irregular polygonal
meshes representing CAD parts. Thus an efficient compres-
sion tool is needed to reduce the amount of data carried by
this 3D content, knowing that the original NURBS informa-
tion is not available. Many efficient techniques have been de-
veloped for encoding polygonal meshes [TG98,GS98,IS01]
but fundamentally, this representation remains very heavy in
terms of amount of data (a large points set, on top of the con-
nectivity have to be encoded). Moreover, lossy compression
schemes like wavelet based ones [KSS00,VP04] produce ar-
tifacts, visually damaging for smooth mechanical objects.
Other models exist to represent a 3D shape: NURBS sur-
faces or subdivision surfaces. These models are much more
compact. A subdivision surface is a smooth (or piecewise
smooth) surface defined as the limit surface generated by an
infinite number of refinement operations using a subdivision
rule on an input coarse control mesh. Hence, it can model a
smooth surface of arbitrary topology (contrary to a NURBS
model which needs a parametric domain) while keeping a
compact storage and a simple representation (a polygonal
mesh). Moreover it can be easily displayed to any resolution,
according to the terminal capacity for example. Subdivision
surfaces are now widely used for 3D imaging and have been
integrated to the MPEG4 standard [MPE02]. In this context,
we present an algorithm for fitting a piecewise smooth sub-
division surface to an input mesh aiming at optimizing con-
trol points number and connectivity of the subdivision con-
trol polyhedron. Our method, based on mesh decomposition,
is particularly suited for mechanical surfaces or CAD parts;
indeed in these cases the research of the optimality is quite
relevant. This algorithm is beneficial in terms of compres-
c ? The Eurographics Association and Blackwell Publishing 2006. Published by Blackwell
Publishing, 9600 Garsington Road, Oxford OX4 2DQ, UK and 350 Main Street, Malden,
MA 02148, USA.
Page 2
G. Lavoué, F. Dupont and A. Baskurt / Subdivision surface fitting for mechanical objects
sion (the original mesh can be stored or transmitted in the
form of a coarse control polyhedron), remeshing (the sub-
divided control polyhedron is often much more regular than
the original mesh) or reverse engineering. Section 2 details
the related work about subdivision surface fitting, while the
overview of our method and the different choices that have
been made are presented in section 3. Sections 4, 5, 6, 7 deal
with the four distinct steps of our method: The decompo-
sition of the object into surface patches, the approximation
of their boundaries, the initialization and the optimization
of the subdivision surfaces. Finally, in section 8, results are
presented, evaluated and compared with existing methods.
2. Related Work
Several methods already exist for subdivision surface fit-
ting, most of them take as input a dense mesh, simplify it
to obtain a base coarse control mesh and then displace the
control points (geometry optimization) to fit the target sur-
face. Lee et al. [LMH00], Ma et al. [MMTP04], Mongkol-
nam et al. [MRF03] and Marinov and Kobbelt [MK05]
use the Quadric Error Metrics from Garland and Heck-
bert [GH97] for simplification. Kanai [Kan01] uses a sim-
ilar decimation algorithm which directly minimizes the er-
ror between the original mesh and the subdivided simplified
mesh. With these simplification based approaches, the con-
trol mesh connectivity strongly depends on the input mesh.
For instance, figure 1 shows the approximation method from
Kanai [Kan01] applied on two different meshes represent-
ing the same shape. It appears obvious that results are not
the same. Particularly, the control polyhedron in Figure 1.e
obtained for the bad tessellated mesh of Figure 1.d is not
correct and gives a quite poor limit surface (see Figure 1.f)
regarding to the original one. In our algorithm, in order to
remain independent of the original connectivity, we first de-
compose the object into surface patches, and then we use
the boundaries of the patches and the curvature information
of the target object to transmit the topology to our control
polyhedron. The fitting method from Suzuki et al. [Sus99]
also remains independent of the target mesh connectivity, by
iteratively subdividing and shrinking an initial hand defined
control mesh toward the target surface. Unfortunately this
method fails to capture local characteristics for complex tar-
get surfaces, and is only suited for genus 0 surfaces without
holes. Jeong and Kim [JK02] use a similar shrink wrapping
approach and encounter the same problems with complex
topologies. In the same idea, Cheng et al. [CWQ∗04] con-
struct an octree partition of the target surface and then trian-
gulate it using the Marching Cube algorithm.
Concerning the geometry optimization, Lee et al. [LMH00]
and Hoppe et al. [HDD∗94] sample a set of points from the
original mesh and minimize a quadratic error to the sub-
division surface. This technique was recently improved by
Marinov and Kobbelt [MK05] which introduce parameter
corrections. Suzuki et al. [Sus99] propose a local and faster
approach, also used in [JK02] and [MRF03]: The positions
of the control points are optimized, only by reducing the
distance between their limit positions and the target sur-
face. Hence only subsets of the surfaces are involved on
the fitting procedure, thus results are not so precise. Litke et
al. [LLS01] also introduce a local algorithm, based on quasi-
interpolation, to compute detail coefficients on a Catmull-
Clark surface. Ma et al. [MMTP04] consider the minimiza-
tion of the distances from vertices of the subdivision sur-
face after several refinements to the target mesh; our algo-
rithm follows this framework while using not a point to point
distance minimization, but a point to surface minimization,
by considering the local quadratic approximants introduced
by Pottmann and Leopoldseder [PL03]. This algorithm al-
lows a more accurate and rapid convergence. The recent
algorithms from Cheng et al. [CWQ∗04] and Marinov and
Kobbelt [MK05] follow a similar way.
To our knowledge, the optimality in terms of control point
number and connectivity represents a minor issue in the ex-
isting algorithms but seems particularly relevant for mechan-
ical or CAD objects. Only Hoppe et al. [HDD∗94] opti-
mize the connectivity by trying to collapse, split, or swap
each edge of the control polyhedron. Their algorithm pro-
duces high quality models but need of course an extensive
computing time. Recently, Marinov and Kobbelt [MK05]
subdivide faces associated with high errors and flip some
edges to regularize vertex valences, similarly to Cheng et
al. [CWQ∗04]. Our algorithm adapts the connectivity of the
control mesh to the anisotropy of the target surface by ana-
lyzing its curvature directions, which reflect the natural pa-
rameterization of the object. The number of control points
is also optimized by enriching iteratively the control poly-
hedron following different rules depending on the error dis-
tribution. Moreover this approach allows to directly control
the approximation error, whereas simplification based meth-
ods [Kan01,MRF03,MMTP04,LMH00] indirectly control
the error by modifying the decimation level.
Figure 1: Subdivision surface approximation for a simple
object with the algorithm from Kanai et al. [Kan01].
c ? The Eurographics Association and Blackwell Publishing 2006.
Page 3
G. Lavoué, F. Dupont and A. Baskurt / Subdivision surface fitting for mechanical objects
Figure 2: The different steps of our fitting scheme for the Fandisk object. (a) Segmentation, (b) boundaries extraction, (c)
boundaries approximation, (d) subdivision control mesh, (e) limit surface.
3. Overview and orientation
Our first objective is to obtain a base coarse control polyhe-
dron with the same topology than the target mesh but inde-
pendently of its connectivity and aiming at optimizing ver-
tex and face numbers. Then, we wish to enrich and optimize
this initial control polyhedron in terms of connectivity and
geometry. Accordingly, our framework is the following (see
Figure 2):
• The target 3D object is segmented into surface patches
(see Section 4), of which boundaries are extracted. The
objective of this segmentation step is dual: Fitting a sim-
ple patch is easier than fitting a whole object, and the
boundaries will help us to retrieve and transmit to the
coarse base mesh, the topology of the target object.
• The network of boundaries is approximated with piece-
wisesmoothsubdivisioncurves(definedbycoarsecontrol
polygons)(see Section 5). This step provides a network of
control polygons (see Figure 2.c), optimized in terms of
control point number.
• For each patch an initial approximating subdivision sur-
face is created by linking the boundary control points (ex-
tracted from the network) with respect to the lines of cur-
vature of the target patch (see Section 6). The correspond-
ing control polyhedron connectivity is therefore adapted
to the anisotropy of the target patch, with a quite low num-
ber of vertices and facets, since boundary control poly-
gons are optimized.
• The initial local control polyhedrons are enriched and op-
timized (connectivity and geometry) by iteratively mov-
ing control points and adding new ones according to the
errordistributions(seeSection7).Thecontrolmeshdefin-
ing the whole surface is then created assembling every lo-
cal control meshes.
Our main contributions are the following:
• The original global framework for subdivision surface fit-
ting, based on segmentation and boundaries approxima-
tion.
• The initialization algorithm, which creates a topologically
correct approximating subdivision surface, independently
of the connectivity of the target patch, and adapted to its
anisotropy, while owning a near minimal vertex number.
• The enrichment process which allows to directly control
the approximation error, by adding iteratively new control
points according to the error distribution, while optimiz-
ing the connectivity.
The segmentation and the curve approximation algorithms
are detailed in previous works, thus they are just briefly pre-
sented in this paper.
The geometry optimization algorithm, which is a non triv-
ial adaptation of the Pottmann and Leopoldseder’s Active
B-Spline algorithm [PL03] to subdivision surfaces is also
briefly presented since two recent subdivision surface fitting
algorithms consider a similar approach [CWQ∗04] [MK05].
3.1. Curvature calculation
Our whole fitting algorithm is, to a large extent, based on
curvature tensors analysis, thus we have to calculate this in-
formationfortheinput3Dmeshe.Atrianglemeshisapiece-
wise linear surface, thus the calculation of its curvature is
not trivial. We have implemented the work of Cohen-Steiner
et al. [CSM03], based on the Normal Cycle. This estimation
procedure relies on solid theoretical foundations and conver-
gence properties and is quite robust even for bad tessellated
objects.
For each vertex, the curvature tensor is calculated and the
principal curvature values kmin, kmax and directions dmin,
dmax are extracted. They correspond respectively to the
eigenvalues and eigenvectors of the curvature tensor, with
switched order (the eigenvector associated with kmin is
dmax and vice versa). The figure below presents samples of
these fields for the Plane object. On the edges of the wings,
we have a high maximum curvature, whereas kmin is null,
it is a parabolic region. Kmin is positive on elliptic regions,
like at the end of the wings, and negative in hyperbolic re-
gions like at the joints between the wings and the body of the
plane. The principal curvature directions have significance
only on anisotropic regions (elliptic, parabolic and hyper-
bolic) where they represent lines of curvature of the object.
On isotropic regions (spherical, planar), they do not carry
any information.
c ? The Eurographics Association and Blackwell Publishing 2006.
Page 4
G. Lavoué, F. Dupont and A. Baskurt / Subdivision surface fitting for mechanical objects
Figure 3: Curvature fields for the 3D object Plane. (a)
Kmax, (b) Kmin (absolute value), (c) dmax, (d) dmin.
3.2. The choice of the subdivision scheme
Within our approximation framework, we have to choose
a subdivision scheme. Many subdivision rules exist, some
of them are adapted for triangular control meshes, like
Loop [Loo87] and others are adapted for quadrilateral ones,
like Catmull-Clark [CC78]. For a given surface to approx-
imate, the choice of the appropriate subdivision scheme is
critical. Indeed, even if in theory any triangle can be cut into
quads or any quad can be tessellated into triangles, results
are not equivalent. The fact is that the nature of the control
polyhedron(quadsortriangles)stronglyinfluencestheshape
andtheparameterizationoftheresultingsubdivisionsurface.
The body of the cylinder, for instance, is much more natu-
rally parameterized by quads than by triangles. These rea-
sons have led us to chose the hybrid quad/triangle scheme
developed by Stam and Loop [SL03]. This scheme repro-
duces Catmull-Clark on quad regions and Loop on triangle
regions. At each subdivision step, the base mesh is firstly lin-
early subdivided: Each edge is split into two, each triangle
into four and each quad into four (see Figure 4). Secondly,
each vertex is replaced by a linear combination of itself and
its direct neighbors. When a vertex is entirely surrounded by
triangles or quads we use smoothing masks of Figure 5.a and
Figure 4.b and otherwise we use the mask from Figure 5.c,
which depends on the numbers of edges (ne) and quads (nq)
surrounding the vertex.
Concerning smoothness analysis, we have to notice that
Figure4: Exampleofquad/trianglesubdivision.(a)Control
mesh, (b,c) one and two subdivision steps, (d) limit surface.
this scheme, although being C2almost everywhere, remains
only C1at extraordinary points and around triangle/quad
boundaries. Even if our mechanical surfaces are likely to be
quadrics (this is often the case of CAD parts), this loss of
quadratic precision is not a limitation because our objective
is not a perfect fitting of the target objects but rather a correct
approximation for a visualization purpose.
Figure 5: Smoothing masks for Loop (a), Catmull-Clark (b)
and the quad-triangle scheme (c) (extracted from [SL03]).
4. Decomposition into patches
The problem of subdivision surface fitting is quite complex
toresolve,particularlyinourcase,sinceweaimatremaining
independent of the target mesh connectivity. Hence we have
chosen to previously segment the object into near constant
curvature surface patches. Benefits are numerous: The in-
verse subdivision problem is simplified whereas boundaries
of the patches can be used to retrieve the topology and sim-
plify the fitting process. Moreover this decomposition may
bring adaptivity for the visualization (we can imagine, once
we have the complete control polyhedron, subdivide only a
desired part of the object). We use the segmentation method
described in [LDB05a]. This decomposition is based on the
curvaturetensor fieldanalysis andpresentstwo distinctcom-
plementary steps: A region based segmentation (see Figure
6.a) which decomposes the object into near constant curva-
ture patches, and a boundary rectification based on curvature
tensor directions, which corrects boundaries by suppressing
their artifacts or discontinuities. This rectification step which
is critical for our fitting algorithm is illustrated on figure 5.
Even if the region segmentation (see Figure 6.a) shows good
qualitative results in terms of general shape and disposition
of the segmented regions, boundaries are often jagged and
present artifacts; the rectification algorithm will analyze the
coherency between curvature directions (see Figure 6.b) of
the object and boundaries of the segmented regions to sup-
press incorrect boundary edges (see figure 6.c) and extend
good ones (see figure 6.d). Resulting segmented patches, by
virtue of their properties (constant curvature, clean bound-
aries) are thus particularly adapted to subdivision surface fit-
ting.
c ? The Eurographics Association and Blackwell Publishing 2006.
Page 5
G. Lavoué, F. Dupont and A. Baskurt / Subdivision surface fitting for mechanical objects
Figure 6: The different steps of the Boundary Rectification
(algorithm from [LDB05a]) for the Fandisk object with a
zoom on an artifact correction. (a) Region based segmenta-
tion. (b) Minimum curvature directions. (c) Correct bound-
ary edges extraction and marking (incorrect ones are in red,
others in green). (d) Final boundaries after extension.
5. Boundaries approximation
Once the 3D object has been segmented, our algorithm ap-
proximates the network of patch boundaries with subdivi-
sion curves. At first, pieces of boundary are extracted; a
piece of boundary is a polyline corresponding to the bound-
ary between two distinct patches (see figure 7.b). Then, each
piece of boundary is approximated with a subdivision curve,
associated with a control polygon. Every control polygons
are then assembled (junction points are tagged as sharp) (see
figure 7.c) to give a control polygon network (see Figure
2.c). The purpose of this network is to simplify and opti-
mize the further subdivision surface fitting algorithm. This
approach bears some similarities with lofting algorithms,
like that proposed by Schaefer et al. [SWZ04] which aims
at building a subdivision surface over a network of curves.
Then, considering a surface patch, its boundary control poly-
gons can then be extracted from the network; according to
subdivision properties, these control polygons will represent
the boundaries of the control polyhedron of the approximat-
ing subdivision surface.
5.1. Subdivision curve presentation
A subdivision curve is created using iterative subdivisions
of a control polygon (see Figure 8). In this paper we use
the subdivision rules defined for surfaces by Hoppe et
al. [HDD∗94] for the particular case of sharp or boundary
edges: New vertices are inserted at the midpoints of the con-
Figure 7: Illustration of segmentation (a), boundary extrac-
tion (b) and subdivision curve approximation (c).
trol segments and new positions P?
are computed using their old values and those of their two
neighbors using the mask:
ifor the control points Pi
P?
i=1
8(Pi−1+6Pi+Pi+1)
(1)
With these rules, the subdivision curve corresponds to a uni-
form cubic B-Spline, except for its end segments. We also
consider specific rules (those defined by Hoppe [HDD∗94]
for corner vertices) to handle sharp parts and extremities:
P?
i= Pi
(2)
This subdivision curve will coincide with the boundary gen-
erated by commonly used subdivision surface rules like
Catmull-Clark [CC78], Loop [Loo87] or the quad-triangle
scheme from Stam and Loop [SL03].
Figure 8: Example of subdivision curve with one sharp ver-
tex. (a) Control polygon. (b,c) 2 iterations of subdivision. (d)
Limit curve.
5.2. The approximation algorithm
This curve fitting algorithm approximates efficiently a
polygonal curve with a piecewise smooth subdivision curve,
while minimizing the control points number. It is an exten-
sion for subdivision rules, including sharp vertex processing,
of the Active B-Spline Curve developed by Pottmann and
Leopoldseder [PL03]. This algorithm considers also a theo-
retical framework, analyzing curvature properties of subdi-
vision curves, which computes a near optimal evaluation of
c ? The Eurographics Association and Blackwell Publishing 2006.