Mixed-Integer Quadrangulation: David Bommes Henrik Zimmer Leif Kobbelt RWTH Aachen University
Mixed-Integer Quadrangulation: David Bommes Henrik Zimmer Leif Kobbelt RWTH Aachen University
Mixed-Integer Quadrangulation: David Bommes Henrik Zimmer Leif Kobbelt RWTH Aachen University
Figure 1: Quadrangulation example: (a) A sparse set of conservatively estimated orientation and/or alignment constraints is selected on
the input mesh by some simple heuristic or by the user. (b) In a global optimization procedure a cross field is generated on the mesh which
interpolates the given constraints and is as smooth as possible elsewhere. The optimization includes the automatic generation and placement
of singularities. (c) A globally smooth parametrization is computed on the surface whose iso-parameter lines follow the cross field directions
and singularities lie at integer locations. (d) Finally, a consistent, feature aligned quadmesh can be extracted.
Abstract 1 Introduction
We present a novel method for quadrangulating a given triangle The problem of generating high quality quad meshes from unstruc-
mesh. After constructing an as smooth as possible symmetric cross tured triangle meshes has received a lot of attention recently. The
field satisfying a sparse set of directional constraints (to capture the reason for this interest is that quad meshing converts raw geometric
geometric structure of the surface), the mesh is cut open in order to data into a higher representation which effectively supports sophis-
enable a low distortion unfolding. Then a seamless globally smooth ticated operations like texturing and shape modification. The diffi-
parametrization is computed whose iso-parameter lines follow the culties in quad meshing arise from the fact that the quality criteria
cross field directions. In contrast to previous methods, sparsely dis- are diverse and their optimization often requires the consideration
tributed directional constraints are sufficient to automatically de- of global dependencies. The most common quality aspects are:
termine the appropriate number, type and position of singularities
in the quadrangulation. Both steps of the algorithm (cross field 1. Individual Element Quality: Each quad should be close to
and parametrization) can be formulated as a mixed-integer problem a rectangle or square, i.e. the four corner points should be
which we solve very efficiently by an adaptive greedy solver. We coplanar, opposite edges should have equal length and the
show several complex examples where high quality quad meshes four interior angles should be 90 degrees.
are generated in a fully automatic manner. 2. Orientation: Away from flat or umbilic points on the surface,
mesh edges should be orthogonal to the principal curvature
CR Categories: I.3.5 [Computational Geometry and Object Mod- directions such that the dihedral angle across edges captures
eling]: Hierarchy and geometric transformations these curvatures in a natural way.
Keywords: remeshing, quadrangulation, parametrization, direc- 3. Alignment: Sharp features of the surface should be explicitly
tion field, singularities, mixed-integer represented by a sequence of mesh edges in order to minimize
the Hausdorff-distance between triangulation and quadrangu-
lation and to prevent normal noise.
4. Global Structure: Singularities, i.e. vertices with valence
6= 4, are necessary to compensate for the Gaussian curva-
ture. Their number and position must be chosen carefully to
capture the global geometric structure since otherwise the el-
ement quality and orientation is heavily affected.
5. Semantics: In some applications additional requirements
emerge from the intended usage of the 3D model and cannot
be derived from the geometry alone. In finite element simula-
tion of deformation processes, e.g., the optimal mesh depends
on the rest geometry as well as on the external forces and con- Cross fields can be seen as four coupled vector fields. Con-
straints. sequently, smoothing algorithms must be able to handle the dis-
cretely switching vector assignments, which can be achieved by a
A quadrangulation algorithm should optimize the output simulta- non-linear angle formulation like in [Hertzmann and Zorin 2000].
neously with respect to all of these criteria. However, while ele- However, such methods often get stuck in local minima and the
ment quality, orientation and alignment are rather simple, the global result strongly depends on the initial solution.
structure is much more difficult to handle. Consequently, we focus
on automatically finding good singularity positions which optimize Recently Ray et al. proposed a formalism to handle N-symmetry
the global structure of the quadrangulation. Although the overall direction fields [Ray et al. 2008b] in a linear manner, enabling the
method is designed to run fully automatic, the user can still manu- computation of globally smooth solutions. However, all singularity
ally override some decisions, e.g. by manually shifting a singularity positions must be prescribed by the user. In contrast we search for
wherever it is necessary to take semantical side-conditions into ac- singularity positions which enable the smoothest cross field for a set
count (see criterion 5). of sparse directional constraints. Besides the automatic singular-
ity placement, another contribution of our approach is the smooth
Many recent methods use smoothed (discrete) principal curvature handling of multiple directional constraints, not possible in [Ray
directions to guide the quad meshing. The problem with these ap- et al. 2008b]. Their user-given hard angle constraints already fix
proaches is that the final singularity positions are effectively deter- the smoothness between multiple constraints, and do not exploit
mined by the local smoothing operator applied to the initial curva- that the orientation of cross fields is invariant w.r.t. rotations by
ture estimates. Especially in flat or umbilic regions where the initial multiples of 90 degrees and that there might be rotations leading
directions have a random orientation, clusters of singularities may to a smoother cross field.
occur. Another problem is oversmoothing which may destroy the In the case of highly detailed geometry a smooth cross field nat-
original orientation information in feature regions. urally requires lots of singularities which can be prevented by the
smoothing algorithm of Ray et al. [Ray et al. 2008a]. In contrast to
To overcome these problems we propose to select only the most rel- their approach, we interpret the cross field as an infinitely fine quad-
evant and dominant directions as depicted in Figure 1 (a), which can rangulation and compute all necessary singularities. The merging
be detected, e.g., by conservative thresholding of some anisotropy of singularities is later controlled by the parametrization which can
measure or by manual selection. Starting with these sparsely dis- perform singularity cancellations w.r.t. the given target edge length.
tributed direction constraints we then search for the smoothest in-
terpolating cross field. The singularities in this interpolating cross
field are mostly due to the surface metric deviating from a planar Structure aware Parametrization techniques can be divided
configuration and not caused by incompatible constraints. into two classes, namely high-level methods where the quad orien-
tation is controlled by a rough patch layout and low-level methods
In the second phase of our algorithm the smooth cross field is used where a desired orientation is given per triangle. Dong et al. used
as input for a global parametrization method. We cut the mesh open the Morse-Smale complex of Laplacian eigenfunctions [Dong et al.
such that we create a surface patch with a disk-like topology where 2006] to derive high-level patch layouts. Their method was ex-
all cross field singularities lie at the boundary. Subsequently, we tended in [Huang et al. 2008] to enable the control over singularity
can compute two piecewise linear scalar fields u and v whose gra- positions, size, orientation and feature alignment. However, com-
dients follow the given cross field. Finally, a consistent quadran- puting coarse high-quality results is still involved and requires an
gulation can be extracted since by construction the parametrization experienced user. Tong et al. used high-level user-designed singu-
is compatible at the cuts and all singularities are mapped to integer larity graphs to enrich the space of harmonic one-forms and com-
positions along the boundary of the parameter domain. pute globally smooth parametrizations [Tong et al. 2006]. Once
a suitable singularity graph is provided by the user, these har-
In both steps of the algorithm the task can be formulated in terms of monic parametrizations produce nice quadrangulations. By allow-
a mixed-integer problem. These are linear problems where a subset ing affine transition functions and optimizing the charts, [Bommes
of the variables is continuous (∈ R) and the others are discrete et al. 2009] improved the distortion of the parametrization.
(∈ Z). In Section 2 we therefore present a greedy solver for this
Ray et. al proposed a fully automatic non-linear parametrization
class of problem.
technique which is guided by a low-level vector field and assumes
a single chart for each triangle [Ray et al. 2006]. Kälberer et al.
1.1 Related Work developed a linear algorithm by mapping a cross field to a single
vector field on a branched covering [Kälberer et al. 2007]. As in
our parametrization, a triangle based energy is optimized and the
A lot of effort has been spent in the last years to compute high qual-
singularity positions are completely defined by the input cross field.
ity quadrangulations. Since there are several nice surveys [Alliez
Their intermediate parametrization, i.e. the integral of the hodge de-
et al. 2005; Hormann et al. 2007], we will discuss here only the
composed vector field which is incompatible at the cuts, is exactly
most related works. Generally, there are two classes of approaches,
the continuous solution of our mixed-integer formulation. How-
namely explicit quadrangulations and parametrization based tech-
ever, ensuring compatibility at the cuts is done in a different way.
niques. Examples of explicit approaches are [Alliez et al. 2003;
Instead of rounding the coefficients of the transition functions at
Marinov and Kobbelt 2004] which trace curves along the princi-
once, we apply our proposed greedy strategy which improves the
pal curvature directions or [Lai et al. 2008] which iteratively trans-
resulting quality. A more detailed comparison will be given later in
forms a triangular mesh into a quad-dominant mesh. For all such
Section 6.
methods it is difficult to obtain coarse meshes consisting of quads
only. Most structure aligned parametrization techniques are guided
by vector or cross fields usually arising from estimated principal Automatic cone singularities In the setting of conformal
curvature directions [Cohen-Steiner and Morvan 2003] or a manual parametrizations, cone singularities as introduced by Kharevych et
design process [Zhang et al. 2006; Fisher et al. 2007]. Especially al. [Kharevych et al. 2006] can be placed in a greedy manner at
cross fields are promising since they can capture singularities of the local extrema of discrete conformal scaling factors [Ben-Chen
fractional index which naturally arise in quadrangulations. et al. 2008]. These positions can be further improved by a non-
linear Gauss-Seidel solver [Springborn et al. 2008]. Both methods The obvious drawback of greedy rounding is that we have to
are designed to compute conformal parametrizations with a small solve k (= number of integer variables) + 1 linear systems, which
number of cone singularities and lower distortion. Unfortunately, increases the computation time prohibitively. However, as we said
even when restricting to cross field cone singularities, the resulting above, small round-off errors only have a small impact on the solu-
positions are often not sufficient for structure aligned parametriza- tion which can be exploited to design an efficient adaptive solver.
tions where singularities are additionally induced by the desired ori-
entations, e.g. the leftmost red singularity lying on the flat part of 2.1 Adaptive Mixed-Integer Solver
the fandisk in Figure 1. Furthermore, supporting orientational con-
straints isn’t straight forward in this formulation. The first idea is to use an iterative solver like the Conjugate Gradient
or BiCG (for non-symmetric matrices) which after each rounding
1.2 Contributions reuses the previous solution as the initial value. But we can do even
better. We observed that for sparse matrices, typically arising in the
We propose an adaptive greedy solver for mixed integer problems case of triangle meshes, it is often sufficient to update a small local
which increases the computation time compared to a continuous set of variables. In this context local means that we have a short
linear system solver only moderately. This is achieved by iterative path in the dependency graph of all variables. Therefore, we start
rounding combined with local Gauss-Seidel updates in order to re- with a local Gauss-Seidel iteration. That means after variable xi is
duce the local residui. rounded we push all variables whose Gauss-Seidel update depends
on xi into a queue. These are exactly the nonzero elements of the
We formulate the quadrangulation problem as a two-step process, row Ai . Now in each iteration step we fetch the first element from
cross field generation and global parametrization, which both re- the queue, say xk , and recompute the local residuum
duce to a mixed-integer problem.
n
X
Our cross field generator is able to take sparsely scattered as well r k = bk − Akj xj
as densely distributed orientation constraints into account. By j=1
smoothly interpolating between the constraints the system can auto-
matically place singularities at geometrically meaningful locations. If |rk | is larger than a prescribed tolerance, e.g. 10−6 , we update
the variable xk → xk − rk /Akk and push all variables which de-
Our new globally smooth parametrization technique allows us to pend on xk onto the queue. The iteration terminates if the queue is
generate seamless quad meshes while satisfying various constraints empty, i.e. all local residui are within the prescribed tolerance, or a
like orientation, alignment, and integer singularity locations. An maximum number of iterations is reached.
optional anisotropic stretch metric allows us to trade squareness of
the quads for improved feature alignment.
Algorithm 1 Local Gauss-Seidel
1: xi = round(xi )
2 A Greedy Mixed-Integer Solver 2: push nonzero(Ai ) into queue
3: iter = 0
The minimization of a quadratic energy E(x1 , . . . , xn ) is called 4: while ( (not queue empty) and (iter < maxiter) ) do
an integer problem if x ∈ Zn . In this paper we encounter more 5: iter = iter + 1
general problems where some of the unknown variables x1 . . . xk xk = pop( queue
are integers and the others xk+1 . . . xn are real numbers. Integer
6: P )
7: r k = bk − n j=1 Akj xj
and mixed-integer problems are usually very hard to solve exactly, 8: if (|rk | > tolerance) then
see [Floudas 1995; Gorry et al. 1970] for more details. Hence, a 9: xk = xk − rk /Akk
common way to find an approximate solution is to first compute the 10: push nonzero(Ak ) into queue
continuous minimizer, which simply requires the solution of the lin- 11: end if
ear system {∂E/∂xi = 0 | i = 1 . . . n}. Then the first k variables 12: end while
of the solution vector are rounded to the nearest integer and a new
minimizer is computed by assuming these rounded values x1 . . . xk
to be constant. If the local Gauss-Seidel solver does not converge (iter ≥
maxiter), we first switch to a more global Conjugate Gradient
While this direct rounding is a common practice, we observed that, solver and finally, if it is necessary, to a sparse Cholesky solver
depending on the number of integer variables and on their mutual [Chen et al. 2006]. Such time consuming Sparse-Cholesky com-
dependencies, the obtained solution can deviate significantly from putations are only necessary when a variable with large impact is
the true solution. Hence, we propose an alternative approach which rounded. Our experiments showed that this adaptive solver is more
we call greedy rounding. The idea is to round the integer variables efficient than restricting to pure iterative solvers. More detailed
one at a time, followed by an immediate update of the continuous statistics about the solver are given in Section 6.
part of the solution.
In the future we plan to publish our implementation of the presented
Let x0 be the continuous solution to the linear system and let xi , solver which can be applied to arbitrary quadratic mixed-integer
i ≤ k be the variable which causes the smallest absolute error if we problems. For maximum flexibility, we added the handling of lin-
round it to the nearest integer. Then we can set xi to this integer ear constraints, by internally eliminating a variable for each inde-
value and update the linear system by assuming xi as constant. We pendent constraint.
solve again for the remaining variables x1 and continue to eliminate
in each step that variable which causes the least round-off error until
all variables x1 . . . xk have an integer value. 3 Salient Curvature Directions
The motivation for this approach is based on the assumption that In the vicinity of flat or umbilic points, the principal curvature di-
small round-off errors will only have little impact on the final solu- rections are ill defined. Consequently, using the principal curvature
tion and that by recomputing the free variables after every rounding directions as a dense guiding field for quadrangulation leads to sub-
step we will compensate these errors. optimal results. Typical artifacts are noisy directions with badly
4 Smooth cross fields
placed singularities or even clusters of unnecessary singularities. 4.1 Measuring cross field smoothness
Generally, these artifacts cannot be removed by cross field smooth-
ing algorithms, since the configurations often form local minima. After fixing the topology, measuring the smoothness of a cross field
Therefore, in contrast to other methods, we aim at finding the reduces to measuring the smoothness of one of the four rotation
smoothest cross field, interpolating only sparse directional con- symmetric vector-fields.
straints that can be found in a reliable manner.
The smoothness of a unit vector-field can be measured as the inte-
The directions we want to identify are in the spirit of feature lines, grated squared curvature of the direction field. Following [Ray et al.
as computed in [Hildebrandt et al. 2005]. However in our case a 2008b], on a discrete triangle mesh it turns out to be simply the sum
simple heuristic which robustly identifies parabolic regions is suf- of all squared angle differences between neighboring triangles:
ficient. Since parabolic regions are equipped with a well-defined
orientation they are the best candidates to guide a quadrangula- X
tion. Parabolic regions can be identified by measuring the relative Esmooth = (θi − θj )2
anisotropy of the principal curvatures eij ∈E
||κmax | − |κmin || where θi is the angle of triangle i and neighboring angles are rep-
τ = ∈ [0, 1] resented in a common coordinate frame, which is always possible
|κmax |
by flattening both triangles along their common edge. However,
for a surface with non-zero Gaussian curvature it is not possible to
which is defined to be zero, if κmax is zero. find a global coordinate frame. Therefore, a local coordinate frame
is used for each triangle, where the x axis is identical to the first
Computing meaningful curvatures on discrete triangle meshes is edge e of the triangle (Figure 2(a)). Thus, by incorporating the
involved. A common technique is evaluating the shape operator coordinate transformations between neighbors we can express the
[Cohen-Steiner and Morvan 2003] of a geodesic disk near a point smoothness energy of a cross field:
p. But depending on the radius r we will get different estimates.
To achieve a more stable result we compute for each point a set of X π
Esmooth = (θi + κij + pij −θj )2 (1)
shape operators Sr with different geodesic radii r ∈ [r0 , r1 ] and
eij ∈E | {z 2 }
select the most promising one with a simple heuristic. A shape θi w.r.t. frame j
operator Sr is said to be valid if all shape operators in the interval
[r − w, r + w] have a relative anisotropy larger than a prescribed where κij ∈ (−π, π] is the angle between both local frames and
threshold τmin and a mean curvature larger than K to exclude pij is the integer valued period jump across edge eij . The cross
almost flat regions. For all points which provide a valid shape field index of a vertex can be computed as
operator, we add a directional constraint. If there are multiple
valid candidates for a single point we choose the one with the X pij
most stable direction, i.e. the one with the minimal angle deviation I(vi ) = I0 (vi ) +
4
within its interval. eij ∈N (vi )
T
[ ]
u1
v1 [ ]
u2
v2
(a) (b)
Figure 3: (a) The three constrained faces (red) are the roots of
dual spanning trees (green) covering the respective Voronoi cells.
Each cell contains only one constraint and along all branches of
the tree zero period jumps can be propagated without changing the
total smoothness energy. (b) With the angle θ w.r.t. the local ref-
erence direction (green) the cross field directions uT , vT can be
extracted and used for the parametrization. In the computation two
linear scalar functions (u, v) are sought whose gradients are ori-
ented consistently with the cross field directions.
Figure 4: Greedy rounding yields a smaller smoothness energy and
fewer singularities (bottom), whereas the direct rounding produces
unnecessary singularities and a higher energy (top). Note that these
4.2 Finding a smooth, interpolating cross field are the singularities and the field as they emerge from the solver, no
singularity optimization has been carried out.
Equipped with these basic definitions we are ready to formulate
the optimization problem. Given a mesh M and a subset of faces
Fc ⊂ F with constrained directions θi = θ̂i , we search for the pij = round(2/π(θ̂j − θ̂i − κij )), since pij is only part of a single
smoothest interpolating cross field, i.e. we want to minimize (1). quadratic term in (1), which is independent from other variables.
Accordingly we have to find an integer pij per edge and a real
valued angle θi per face. In summary we end up with a mixed-integer problem consisting of
|F \ Fc | ≈ 2|V | real valued variables θi and |E| − |F \ Fc | ≈ |V |
integer valued variables pij .
Reducing the Search Space: Up to here there is a whole space of
equivalent minimizers to the energy (1). To understand this, assume
Mixed-Integer Formulation: To apply the greedy mixed-integer
we have already computed a minimizer which for one triangle pro-
solver from Section 2 it is sufficient to assemble the system of linear
vides the angle θ0 and the three period jumps p01 , p02 and p03 . If
equations by setting the gradient of the energy (1) to zero:
we now rotate the vector by a multiple of π2 , i.e. set θ̃0 = θ0 + k · π2
and compensate this change by updating the affected period jumps
to p̃0i = p0i − k, the smoothness energy is unchanged. We can ∂Esmooth π !
X
repeat this procedure for all free triangles f ∈ F \ Fc . Conse- = 2(θk + κkj + pkj − θj ) = 0 (2)
quently the solution can be made unique by fixing one period jump ∂θk 2
ekj ∈N (fi )
per free triangle to an arbitrary value, e.g. zero, without changing
∂Esmooth π !
the energy of the minimizer. Care should be taken not to fix edges = π(θi + κij + pij − θj ) = 0 (3)
whose dual path connects two constrained faces, as done in [Ray ∂pij 2
et al. 2008b], or closes loops because in these cases the cross field
curvature along this path would be fixed to an arbitrary value and is Notice that the values on edges are antisymmetric, i.e. pij = −pji
not the intended result of the minimizer. and κij = −κji , which can lead to sign changes in equations (2)
and (3). For all variables which are not fixed, we set up a row and
A valid set of edges, whose period jumps are allowed to be set to assemble all of them into a single matrix. After applying our greedy
zero, can be found by constructing a forest of Dijkstra trees of the mixed-integer solver, the result is a smooth cross field where the in-
dual mesh as shown in Figure 3. Each constrained face in Fc is the teger valued period jumps define type and position of all singulari-
root of a separate tree such that no tree connects constrained faces. ties. Figure 4 compares the result of our greedy solver with that of a
The number of fixed edges is exactly |F \ Fc | since starting from direct rounding, where red and blue spheres represent singularities
the constrained faces each other face of the mesh is conquered by with negative and positive index respectively.
adding a single edge. Notice that no dual loop can be closed by a
tree structure, such that we end up with a valid set of edges which In practice we observed that some singularity positions, especially
can be fixed to zero period jumps without changing the energy of those in flat regions, can sometimes be improved by a local search
the minimizer. algorithm, as described in the next section.
Obviously there are many other valid sets of edges which could be Local Search Singularity Optimization: In a postprocess we op-
fixed. The reason why we use trees living in the discrete Voronoi tionally check for each singularity, if the energy can be decreased
cells of the corresponding constrained faces is that this choice min- by moving it to a neighboring vertex. Moving a singularity along
imizes the length of a path to its corresponding constraint and so an edge eij means changing the corresponding period jump pij .
improves the accuracy of the greedy mixed-integer solver. Notice, that by this operation only the right-hand-side of the linear
system is changed. Consequently we can precalculate the sparse
Additionally to the period jumps on tree edges each period jump Cholesky factorization of this matrix once and then compute solu-
between two adjacent constrained faces fi and fj can be fixed to tions for different right-hand-sides efficiently [Botsch et al. 2005].
At the end of the two cutting steps we have a triangle mesh patch
where all the singularities are located at the boundary. If a sin-
gularity is not a leaf node of the cut graph then it appears several
times along the boundary. In order to compute a parametrization we
p
have to find a planar embedding of this boundary polygon as well
as all the interior vertices. The location of the mesh vertices in the
parameter domain is computed by minimizing Eorient , however,
there are a number of consistency constraints that have to be taken
into account.
(a) (b) Integer location of singularities: By allowing a singularity to be
in general position, it would cause an n-sided face instead of a
Figure 5: (a) By placing a cut to a cone singularity p (here of index valence-n vertex. Therefore to guarantee a pure quadrangulation,
1
4
) a distortion free unfolding of the patch is possible. (b) The upper we have to snap all singularities to integer locations in the param-
image shows two directions of the cross field. In the lower image eter domain. This means that the overall parametrization task is
the mesh is cut into disk topology along the green edges, such that now a mixed-integer problem which we solve by our mixed-integer
these directions can be consistently oriented on each side of the cut. greedy solver from Section 2.
Cross boundary compatibility: In order to avoid visible seams
5 Global Parametrization across the cut paths on the surface we have to make sure that the
quad structure on both sides of a cut edge is compatible. This is
We now compute a global parametrization, i.e., a map from the guaranteed by allowing only a grid automorphism as a transition
given mesh M to some disk-shaped parameter domain Ω ∈ R2 . function. This requires that the (u, v) parameter values on both
Since the parametrization should be piecewise linear, it is sufficient sides of a cut edge are related by
to assign a (u, v) parameter value to each vertex — more precisely
to each triangle corner — in the mesh. (u0 , v 0 ) = Roti90 (u, v) + (j, k)
The parametrization should be locally oriented according to the op- with integer coefficients (i, j, k).
timized cross field from Section 4 which implies that the gradients
The rotation coefficient in the transition functions can easily be
of the piecewise linear scalar fields u and v defined on the mesh M
computed by propagating a globally consistent orientation in the
should minimize the local orientation energy
cross field, as illustrated in Figure 5 . Since after the cutting, all
ET = kh∇u − uT k2 + kh∇v − vT k2 interior vertices of the mesh are regular, we can start at a random
face and propagate its orientation in a breadth first manner to all
for each triangle T . Here h is a global scaling parameter which the neighboring faces. This will establish a zero-rotation across all
controls the edge length of the resulting quad mesh. The vectors uT inner edges. The rotations Roti90 across the cut edges can be found
and vT are two orthogonal vectors in T corresponding to the cross by simply comparing the orientations in neighboring faces.
field directions θ and θ + π/2. Since the cross field is defined only
After fixing the rotations, the cross boundary compatibility condi-
up to rotations by π/2 we will have to specify which of the four
tions can be incorporated into the optimization scheme as linear
possibilities we are picking in each triangle such that the proper
constraints. Therefore for each cut edge e = p q we introduce two
compatibility conditions are satisfied across each edge in the mesh.
integer variables je , ke to formulate the four compatibility condi-
The global orientation energy is then defined as the integral of ET tions:
over the entire mesh M
Z (u0p , vp0 ) = Roti90
e
(up , vp ) + (je , ke )
X
Eorient = ET dA = ET area(T ). (4) (u0q , vq0 ) = Roti90
e
(uq , vq ) + (je , ke )
M T ∈M
Hence, in total we add two integer variables and eliminate four con-
The minimizer of this quadratic functional is obtained by solving tinuous variables per cut edge.
the sparse linear system which sets all the partial derivatives of
Eorient to zero. Applying our mixed-integer greedy solver to this parametrization
task can be understood in an intuitive way. After computing an
Cutting the mesh: In order to be able to compute a proper all-continuous solution, which corresponds to the unconstrained
parametrization minimizing Eorient we have to cut open the mesh parametrization, we iteratively snap the singularities to integer lo-
M, such that we obtain a patch that is topologically equivalent to a cations.
disk. An additional requirement is that all singular vertices must lie
on the cut, i.e. at the boundary of the parameter domain. The rea- 5.1 Anisotropic Norm
son is that the angle defect of a singularity cannot be represented by
an inner vertex of the parametrization as depicted in Figure 5. We
In practice exact orientation is often more important than exact edge
compute an appropriate cut graph in two steps.
length. The reason is that changing the orientation along a highly
First we start from a random triangle and grow a topological disk curved feature line, the quadrangulation quality will drop off dra-
by constructing a dual spanning tree. Thus the primal of all non matically due to normal noise. The orientation can be improved
spanning tree edges is already a cut graph which transforms M by less penalizing stretch which is in the direction of the desired
into disk topology. The size of this cut graph can be significantly iso-lines. This can be achieved by an anisotropic norm
reduced by iteratively removing all open paths.
k(u, v)k2(α,β) = αu2 + βv 2
In the second step paths connecting each singularity to the cut graph
are added. This can be done by successively applying Dijkstra’s which penalizes the deviation along the major directions with dif-
shortest path algorithm. ferent weights. Notice, such a diagonal metric is sufficient since we
(a) (b) (c)
(a) (b) (c)
Figure 6: The parametrization in (a) is not aligned to the sharp
edges of the object. Using the anisotropic norm the quads are al- Figure 7: In (a) the minimized orientation energy produces flipped
lowed to stretch in order to better align with a given input field triangles, which can be removed by local stiffening (b). The chosen
as shown in (b). In (c) alignment constraints have been imposed, weighting is shown in (c) and decreases from orange to blue.
leading to perfectly preserved features.
Figure 9: Quadrangulation of the B EETLE model having 11 Figure 10: A comparison between the technique described in
boundaries. On the right the parametrization is shown. Naturally, this paper (left) and the QuadCover approach by [Kälberer et al.
due to the occurrence of − 14 singularities, parts of the flattening 2007] (right) for a sharp object (FANDISK) and a smooth object
are overlapping. (B OTIJO). In both comparisons the same target edge length and the
same cross field generated by our mixed-integer formulation were
used.
6 Comparisons and Results
The backbone of our approach is the mixed-integer solver intro-
duced in Section 2, which is used for the computation of both the
smooth cross field and the parametrization. Although it is often
necessary to round tens of thousands of variables for the cross field
computation, the timings in Table 1 show that this can be done effi-
ciently using the proposed solver.
The example in Figure 4 shows that the greedy rounding leads to a
significantly smoother cross field with less singularities compared
to the direct rounding approach. All our experiments confirmed this
behavior.
A comparison between our approach and QuadCover [Kälberer
et al. 2007] is carried out in Figure 10. In both examples the same
input cross field and target edge length have been used. The FAN -
DISK comparison clearly shows the benefit of alignment on mod-
els with sharp feature edges, while the limitations of direct round-
ing are especially noticeable on the B OTIJO. On complex objects
having many singularities or when remeshing with very coarse tar-
get edge length the direct rounding generates many ”twists” and
non-injectivities in the parametrization, such that the extraction of
a hole-free quad mesh is not always possible. However, the combi-
nation of greedy rounding and local stiffening allow us to automat-
ically generate consistent, hole-free quadrangulations at almost any Figure 11: ROCKER A RM comparison between the technique de-
resolution and with significantly less ”twists”. scribed in this paper (top) and the spectral quadrangulation ap-
proach by [Huang et al. 2008] (bottom). The upper mesh has 9413
The spectral approach [Huang et al. 2008] also produces oriented faces and 36 singularities, the lower one has 9400 faces and 26
and aligned parametrizations with few singularities, however the singularities.
Morse-Smale Complex sometimes fails to capture the detailed
structure of the surface. This can lead to an unfavorable stretch
Table 1: Statistics of the Greedy Mixed-Integer Solver used for
computing the cross field (Section 4) and the parametrization (Sec-
tion 5). Dim refers to the initial dimension of the linear system, #Int
is the number of integer variables, #IS and #DS is the number of
F ERTILITY calls to iterative and direct solvers respectively. Time is the total
time for the solution. Due to the global nature of the parametriza-
tion, the local and iterative search seldom lead to a gain of effi-
ciency and therefore Time refers solely to the direct solver.
of the quads affecting the angle as well as the edge length distribu-
ROCKER ARM tion. A comparison between [Huang et al. 2008] and our approach
can be found in Figure 11.
Quadrangulations computed by our technique typically have an-
gle distributions with a sharp peak around 90◦ and an edge length
distribution centered around the target edge length. However, for
aligned meshes, like the FANSIDK in Figure 10, further peaks,
which reflect the unavoidable stretch may occur in the edge length
histogram.
The geometrically complex examples shown in Figure 12 underline
the ability of our method to compute coarse, oriented quadrangula-
tions with naturally placed singularities.
All examples were computed on a 3.0GHz standard PC, the statis-
tics are shown Table 1. Interestingly the cross field computation is
less demanding to compute than the parametrization, even though
it requires practically two orders of magnitude more roundings.
This effect is due to the locality of the cross field energy (Equation
(1)). Rounding a period jump mainly affects a local neighborhood
on the mesh and the solution can be efficiently updated by local
Gauss-Seidel iterations. Whereas, rounding a corner point in the
parametrization domain usually has global impact. Motivated by
this observation and the typically low number of integer variables
for the parametrization, we restricted the greedy solver to sparse
Cholesky updates.
Finally Figure 8 demonstrates the robustness of the mixed-integer
quadrangulation approach w.r.t. different (degenerate) representa-
tions of a given object. The mesh in Figure 8 (a) contains almost
L EVER 1000 triangles with vanishing area (the close-up shows a part of
the mesh where about 8 triangles are nearly colinear), the model in
Figure 8 (b) has been subjected to normal noise with a magnitude
of 0.3% of the bounding box diagonal and the right most model
(Figure 8 (c) ) was offset, yielding a mesh without sharp corners.
These fandisks and most of the other triangle meshes used in this
work (along with the extracted quad meshes) can be found in the
supplementary material of this paper.