Upload
vankhue
View
215
Download
0
Embed Size (px)
Citation preview
Discrete Fairing
Leif Kobbelt
University of Erlangen-N�urnberg
Abstract
We address the general problem of, given a triangular net of arbitrary topology
in IR
3
, �nd a re�ned net which contains the original vertices and yields an improved
approximation of a smooth and fair interpolating surface. The (topological) mesh
re�nement is performed by uniform subdivision of the original triangles while the (ge-
ometric) position of the newly inserted vertices is determined by variational methods,
i.e., by the minimization of a functional measuring a discrete approximation of bend-
ing energy. The major problem in this approach is to �nd an appropriate parameter-
ization for the re�ned net's vertices such that second divided di�erences (derivatives)
tightly approximate intrinsic curvatures. We prove the existence of a unique opti-
mal solution for the minimization of discrete functionals that involve squared second
order derivatives. Finally, we address the e�cient computation of fair nets.
1 Introduction
One of the main problems in geometric modeling is the generation of aesthetically appeal-
ing surfaces. Usually these surfaces are subject to technical requirements like interpolation
constraints. While the constraints can easily be formulated in mathematical terms (and
thus are compatible to the mathematical description of the surface itself), the explicit for-
mulation of `well-shaped-ness' causes some di�culties. Motivated by physical models of
elastic membranes or thin plates, the variational approach to surface design measures the
'bad-shaped-ness' of a surface by the value of some (bending-) energy functional. Surfaces
of minimal energy are assumed to be fair [Sap94].
Suitable energy functionals are de�ned in terms of geometric invariants like principal
curvatures and fundamental forms. While such concepts are well established in di�erential
geometry, they do not �t easily into the framework of piecewise polynomial parametric
surfaces which is how surfaces are usually represented in CAGD.
The main source for these problems is that for any basis representation of a poly-
nomial patch the intrinsic geometric measures depend on the coe�cients in a non-linear
fashion and their exact evaluation turns out to be rather complex [MS92]. Hence, the
common approach to fairing schemes is to �nd a parameterization which allows to approx-
imate geometric curvatures simply by second order derivatives (which are linear in the
coe�cients).
Once an eligible parameterization is found, we can exploit results from variational
calculus [Els70] and Galerkin-projections reduce the optimization to the solution of a
sparse linear system. Thus, much of the work in this �eld addresses various methods to
�nd close-to-isometric parameterizations for surfaces of arbitrary shape.
Under the assumption that a parametric surface is rather at, the metric on the surface
does not di�er very much from the metric in the plane. Therefore, geometric curvature
measures like (�
1
+�
2
)
2
, j�
1
�
2
j, or �
2
1
+�
2
2
can be approximated by combinations of second
order derivatives.
Although this typically does not hold for realistic surface modeling tasks, it is usually
assumed, e.g., in [CG91], [HKD93], and the parametric situation is treated exactly like
0
Mathematics of Surfaces VII 1
the (piecewise) functional case [Duc79], [Pow94]. More sophisticated linearizations of the
fairness functional are used in [Gre94], [GLW96] where a non- at reference surface provides
the parameter domain instead of the plane.
A completely di�erent approach to surface generation are subdivision techniques. In-
terpolatory re�nement schemes like [DGL90], [ZSS96], [Kob96b] map a given triangular
or quadrilateral net to a re�ned net by inserting new vertices whose location is computed
by a linear combination of vertices from the given net. By iterating this subdivision step,
a sequence of meshes is generated which converges to a smooth surface.
In [Kob96a] the concepts of subdivision and fairing are combined in order to de�ne
univariate variational re�nement schemes . Such schemes use the re�nement paradigm to
generate sequences of polygons while the position of the new vertices is determined by
minimizing an appropriate energy functional.
In the present paper, a similar approach is followed in the bivariate setting of (itera-
tively) re�ned triangular meshes. Given an initial net whose vertices are to be interpolated,
we generate a topologically re�ned mesh by uniform subdivision of the faces. The position
of the newly inserted vertices is found by solving an optimization problem which discretizes
a variational problem.
We generalize variational subdivision as presented in [Kob96a] by no longer restricting
ourselves to binary subdivision. However, when it comes to the e�cient implementation of
the proposed scheme, we have to adapt multi-grid techniques to solve the occuring linear
systems. For this we need a sequence of nested spaces which are most easily de�ned by
iterative binary subdivision. Hence, for implementation purposes we will return to binary
subdivision with the important di�erence that, in order to minimize the objective energy
functional, all vertices but the original ones are allowed to move while in [Kob96a] in each
step only the newest vertices move and all intermediate ones are kept �xed.
2 Uniform subdivision of triangular nets
We use uniform subdivision to generate triangular nets on which the fairing is performed.
We distinguish between topological mesh re�nement and geometric net smoothing. The
smoothing will be achieved by energy minimization.
Let N := (P ; T ) be a triangular net with vertices p
i
2 P � IR
3
and faces [p
i
;p
j
;p
k
] =
f�p
i
+ � p
j
+ p
k
; �; �; � 0; � + � + = 1g 2 T . Each edge p
i
p
j
may be part of
at most two adjacent triangles. If it belongs to only one triangle, the edge is a boundary
edge. To avoid numerical instabilities and the treatment of special cases, we assume that
the inner angles of triangles in the original net N are bounded below by �
"
> 0.
A uniform re�nement operator S
r
(r � 2) maps a given net N to S
r
N = (P
0
; T
0
) with
[p
i
;p
j
;p
k
] 7!
8
<
:
f[q
u+1;v;w
;q
u;v+1;w
;q
u;v;w+1
]; 0 � u; v; w 2 IN; u+ v + w = r � 1g
[
f[q
u�1;v;w
;q
u;v�1;w
;q
u;v;w�1
]; 1 � u; v; w 2 IN; u+ v + w = r + 1g
9
=
;
:
For simplicity we omit the additional indices i; j and k in q
i;j;k;u;v;w
if it is obvious or irrele-
vant to which original triangle a new vertex belongs. The re�nement is called interpolatory
if P � P
0
and q
r;0;0
= p
i
, q
0;r;0
= p
j
, and q
0;0;r
= p
k
.
For r = 2 the subdivision operator S
2
is called binary . Iterating a binary subdivision
operator, leads to re�ned nets (S
2
)
n
N = S
2
n
N . Hence, the more general de�nition of
r-nary subdivision allows a more exible adaption of the resolution.
The most simple subdivision operator L
r
reproduces piecewise linear surfaces. It com-
putes the position of the new vertices by
q
u;v;w
:=
1
r
(up
i
+ v p
j
+ w p
k
): (2.1)
2 L. Kobbelt
We classify the vertices q
u;v;w
2 P
0
into inner vertices with u; v; w � 1, edge vertices
with exactly one barycentric index vanishing, and corner vertices : q
r;0;0
;q
0;r;0
;q
0;0;r
.
The corner vertices unambiguously correspond to the vertices of the unre�ned net N (for
interpolatory re�nement they coincide) and the edge vertices are topologically associated
with the edges of N . Since all inner and edge vertices have valence 6, the topological
structure of the re�ned net S
r
N is characterized by isolated singular vertices (among the
corner vertices) being separated by regular subnets (subdivision topology).
3 Fairing triangular nets
The term fairing usually refers to the de�nition of (continuous) surfaces by variational
methods, i.e., by the solution of an optimization problem. To improve the quality of free
form surfaces satisfying a set of interpolation conditions, one usually �xes the undeter-
mined degrees of freedom by minimizing an appropriate fairing functional.
We start with the functional setting and generalize to parametric surfaces later. The
total strain energy of a function f : � IR
2
! IR with f 2 X � C
k
() for a su�ciently
large k, can be measured by a semi-norm kfk
2
D
:=<Df;D f > induced by an appropriately
chosen inner product
<Df;D g> :=
Z
r�1
X
i=0
(D
i
f) (D
i
g); (3.1)
where D = [D
i
]
r�1
i=0
:= diag[�
0
; : : : ; �
r�1
]D
k
represents a vector of di�erential operators,
diag[�
i
] is the diagonal matrix with elements �
i
, and D
k
is the k-jet operator. The graph
of a function f minimizing kfk
2
D
is called a fair surface. Due to the geometric background
of the problem, rotationally invariant functionals are particularly interesting. Those can
be obtained by using linear combinations of
h
1
2
(k+1) k
z }| {
0; : : : ; 0; : : : ;
s
�
k
i
�
@
k
@ u
k�i
@ v
i
; : : :
| {z }
i=0;:::;k
i
T
; k 2 IN: (3.2)
To control the shape of the surface, in addition to optimality some interpolation con-
ditions can be imposed. When interpolating discrete positional (scattered) data p
i
:=
(x
i
; y
i
; f
i
) = (x
i
; y
i
; f(x
i
; y
i
)) for i = 1; : : : ; n, we can satisfy these conditions by rep-
resenting the solution f = f
�
�
~
f by an arbitrary (�xed) interpolant f
�
2 X plus
~
f 2 ker (V ) := ker [�
(x
i
;y
i
)
]
n
i=1
� X . The operator V := [�
(x
i
;y
i
)
]
n
i=1
is called the data
functional ; �
(x
i
;y
i
)
(f) = f(x
i
; y
i
) is the point evaluation.
Assume that f 2 X minimizes kfk
2
D
=<Df;D f > and consider
s(�) := <D (f + � g); D (f + � g)>
with g 2 ker (V ) arbitrary. Since kfk
2
D
is a minimum, the function s has a minimum at
� = 0, i.e.,
d
d �
s(�) j
�=0
= 2 <Df;D g> +2� <Dg;D g> j
�=0
= 2 <Df;D g>
!
= 0:
Hence
<Df;D g> = 0; 8 g 2 ker (V ) (3.3)
characterizes the solution f with minimum energy kfk
2
D
.
Mathematics of Surfaces VII 3
Using Galerkin-projections, the space X is de�ned by a set of basis functions, i.e.,
X := span f�
1
; : : : ; �
m
g with m � n. For f := �([�
j
]) =
P
j
�
j
�
j
and g := �([�
l
]),
equation (3.3) can be rewritten as
[�
l
]
T
[<D�
l
; D �
j
>] [�
j
] = 0
since D is a linear operator. Let B : IR
d
! IR
m
be a basis of ker (V �). Equation (3.3)
holding for all g 2 ker (V ) is equivalent to B
T
[<D�
l
; D �
j
>] [�
j
] being the zero matrix.
All vectors [�
j
] for which �([�
j
]) satis�es the interpolation conditions, have the form
[�
j
] = a
�
� B~a with �(a
�
) being any interpolant and~a 2 IR
d
(hence �(B~a) 2 ker (V )).
A solution of
B
T
[<D�
l
; D �
j
>]B~a = B
T
[<D�
l
; D �
j
>] a
�
(3.4)
therefore provides a minimizing function f := �(a
�
�B~a) 2 X. The existence of a unique
solution~a of (3.4) follows if ker (B
T
[<D�
l
; D �
j
>]B) = f0g or, equivalently
ker <D �; D �> \ ran (�B) = ker <D �; D �> \ ker (V ) = f0g: (3.5)
The equivalence can be seen as follows: �(B~a) lies in ker < D �; D � > if and only if
D�(B~a) � 0 since < �; � > is a norm on X . But then
~a 2 ker ([< D�
l
; D �
j
>]B) �
ker (B
T
[<D�
l
; D �
j
>]B). On the other hand~a 2 ker (B
T
[<D�
l
; D �
j
>]B) implies
~a
T
B
T
[<D�
l
; D �
j
>]B~a = 0 and hence �(B
~a) 2 ker <D �; D �>. 2
The restriction to diagonal transformations of D
k
in the de�nition of D makes it easy
to determine the kernel of the semi-norm k � k
2
D
=<D �; D �>. For the examples in (3.2)
the kernel consists of all polynomials with maximum total degree less than k. Hence, if
the abscissae of the data points p
i
j
x;y
do not lie on an algebraic curve of degree less than
k, the minimization has a unique solution
1
.
3.1 Discretization ! Di�erence methods
Instead of restricting to the �nite dimensional space X = span f�
1
; : : : ; �
m
g, we can set
X = C
k
() and approximate (3.3) by discretization of the domain over a �nite point set
Q = f(x
l
; y
l
)g � with fp
i
j
x;y
g � Q (interpolation). We want to compute the function
values f
l
at (x
l
; y
l
) 2 Q n fp
i
j
x;y
g corresponding to a fair surface.
First, we replace in (3.1) the integral over by a quadrature formula with positive
weights w
j
<Df;D g> �
X
j
w
j
r�1
X
i=0
(D
i
f)(�
j
; �
j
) (D
i
g)(�
j
; �
j
): (3.6)
Then the di�erential operators D
i
evaluated at the points (�
j
; �
j
) are replaced by divided
di�erence operators with masks [
i+rj;l
]
l
<Df;D g> �
X
j
w
j
r�1
X
i=0
�
X
l
i+rj;l
f
l
��
X
l
i+rj;l
g
l
�
= [f
l
]
T
�
T
� [g
l
]; (3.7)
where � := [
p
w
j div r
j;l
]
j;l
. The coe�cients
j;l
can be chosen such that they vanish
outside some neighborhood U
j
� Q of (�
j div r
; �
j div r
) which makes � a sparse matrix. Let
the vector [f
l
] be decomposed into [f
l
] = [
�
f
l
;
~
f
l
] where the components
�
f
l
correspond to
1
All through the paper we use bold letters p for vectors of any dimension and the projection operators
pj
u
and pj
u;v
= (pj
u
;pj
v
) to select speci�c coordinates.
4 L. Kobbelt
the locations p
i
j
x;y
and are therefore �xed by the interpolation conditions and
~
f
l
are the
free variables. We decompose [g
l
] and � accordingly
[
�
f
l
;
~
f
l
]
T
�
T
� [�g
l
; ~g
l
] = [
�
f
l
;
~
f
l
]
T
�
�
�
T
e
�
T
�
(
�
�;
e
� ) [�g
l
; ~g
l
] = [
�
f
l
;
~
f
l
]
T
�
�
T
�
�
�
�
T
e
�
e
�
T
�
�
e
�
T
e
�
!
[�g
l
; ~g
l
]:
Since g 2 ker (V ), we have [�g
l
] = 0 and hence
[
�
f
l
;
~
f
l
]
T
�
T
� [�g
l
; ~g
l
] =
�
[
�
f
l
]
T
�
�
T
e
� + [
~
f
l
]
T
e
�
T
e
�
�
[~g
l
];
which has to be zero for all [~g
l
] if (3.7) is considered to be a discrete approximation of
(3.3). The function values [
~
f
l
] corresponding to a fair surface are thus given by a solution
of
e
�
T
e
� [
~
f
l
] = �
e
�
T
�
� [
�
f
l
]: (3.8)
The uniqueness of the solution is determined by the regularity of
e
�
T
e
�, i.e., by ker (
e
�) =
f0g. Since k� [0; ~g
l
] k
2
2
= [0; ~g
l
]
T
�
T
� [0; ~g
l
] = [~g
l
]
T
e
�
T
e
� [~g
l
] = k
e
� [~g
l
] k
2
2
, this is equivalent
to
ker (��
T
� �) \ f [0; ~g
l
] g = f0g (3.9)
which turns out to be a discretization of (3.5).
3.2 Fairing uniformly re�ned nets
Let T be a triangulation of using the nodes (x
i
; y
i
) = p
i
j
x;y
from the given data. By
inverse projection (x
i
; y
i
) 7! p
i
we obtain a triangular net N = (fp
i
g; T ) which serves as
input for the discrete optimization. An interpolatory re�nement operator S
r
generates a
new net N
0
= S
r
N where the x- and y-coordinates of the new vertices are given by
q
u;v;w
j
x;y
:=
1
r
(up
i
+ v p
j
+ w p
k
)j
x;y
; (3.10)
i.e., the parameter plane is subdivided piecewise uniformly. Any other subdivision scheme
that guarantees to keep a lower bound �
"
for the minimum angle of the triangles in the
parameter plane could be used as well. The function values q
u;v;w
j
f
are found by solving
(3.8).
For the construction of the divided di�erence operators �
j
up to the order of k at
a point (�
j
; �
j
), we restrict the non-vanishing coe�cients
l
to a neighborhood U
j
:=
f (x
l
; y
l
) g � Q := fq
u;v;w
j
x;y
g [ fp
i
j
x;y
g with #U
j
� r := (k + 2) (k + 1)=2. We have to
estimate the coe�cients of a Taylor-expansion at (�
j
; �
j
). Equivalently, we compute the
coe�cients of an interpolating polynomial.
Let W
j
:= [
1
a! b!
(x
l
� �
j
)
a
(y
l
� �
j
)
b
]
a+b�k
be the corresponding Vandermonde matrix
with the index l being constant for each column. IfW
j
has the full rank r then numerically
stable masks for the di�erence operators are obtained by the least norm solution
�
j
:= (W
j
W
T
j
)
�1
W
j
(3.11)
where the ith row of �
j
contains the masks for the ith di�erence operator according to the
numbering of the rows in W
j
. To guarantee numerical stability in this computation it is
necessary to introduce the lower bound �
"
for the angles of the triangles in the parameter
plane. The matrix �
j
is a discrete approximation of the k-jet operator at (�
j
; �
j
) and
diag[�
0
; : : : ; �
r�1
] �
j
for all j are the building blocks of the discrete energy functional
k� � k
2
2
.
For discrete fairing, one usually chooses #U
j
> r in order to generate masks that re ect
the rotational invariance of the corresponding continuous functional, i.e., one is usually
Mathematics of Surfaces VII 5
interested in symmetric neighborhoods U
j
. One problem that arises from this redundancy
is that the kernel of �
j
becomes bigger with increasing #U
j
and therefore threatens the
solvability condition (3.9). A proof of (3.9) for a particular functional thus has to exploit
the correlation between di�erent blocks �
j
and �
l
with overlapping domains U
j
and U
l
(cf. Sect. 5).
On the other hand, the sizes of the neighborhoods U
j
determine the degree of sparse-
ness of the matrix
e
�
T
e
� in (3.8) and therefore have some impact on the computational
complexity of the solution. For the particular di�erence operators in (3.2) the follow-
ing (symmetric) neighborhoods are a good compromise between accuracy and e�ciency:
For even k = 2 k
0
the k
0
-discs U := d
k
0
(p) consisting of all vertices having a topolog-
ical distance to p no bigger than k
0
, and for odd k = 2 k
0
+ 1, the neighboorhoods
U := d
k
0
(p
i
) [ d
k
0
(p
j
) [ d
k
0
(p
l
) with [p
i
;p
j
;p
l
] 2 T .
3.3 Generalization to the parametric case
Generalizing the fairing approach from the functional settings to the case of parametric
surfaces, i.e., to surfaces which are (piecewisely) de�ned by functions f : � IR
2
! IR
3
, is
not straightforward. One reason for the occurring problems is that the interpolation data
p
i
= (x
i
; y
i
; z
i
) for i = 1; : : : ; n in this case usually comes without parameter values. Hence,
since no particular parameterization of the resulting surface is given naturally (as it is in
the functional case), the minimization of derivatives does not have an obvious geometric
interpretation. Further, even if we de�ne fairness relative to a special parameterization, we
have the di�culty that a regular global parameterization can be de�ned only for surfaces
isomorphic to parts of the torus.
Suppose we had given a �xed parameterization f : � IR
2
! IR
3
. The parametric
formulation of the energy functional would be identical to (3.1) with only the simple mul-
tiplications of the components (D
i
f)
2
replaced by dot-products (D
i
f)(D
i
f)
T
according
to the di�erentiation of vector-valued functions
D
i
f := (D
i
f j
x
; D
i
f j
y
; D
i
f j
z
):
Since the functional (3.1) is quadratic, we can minimize the three components indepen-
dently from each other:
min
f
Z
r�1
X
i=0
(D
i
f)(D
i
f)
T
=
X
�2fx;y;zg
min
f j
�
Z
r�1
X
i=0
(D
i
f j
�
)
2
: (3.12)
This reduces the optimization in the parametric case to three separate functional opti-
mizations. Notice that the three corresponding equations which have to be solved (cf.
(3.4) or (3.8) resp.) di�er only on their right hand sides.
The graph of a function f : 2 IR
2
! IR is a special case of a parametric surface with
two coordinate functions being the identity. In the functional case, we used a suitable
subdivision scheme (3.10) to compute the x- and y-coordinates of the new vertices directly.
In the parametric framework, this can be considered as choosing a piecewise uniform
parameterization and assigning the x- and y-values to the new vertices according the
(known) optimal coordinate functions (which are both the identity). Obviously, for fairness
functionals based on derivatives of second or higher order, the identity is a minimizing
function and therefore, the re�nement rule (3.10) is not arti�cial in these cases. It is exactly
the solution otherwise obtained by solving the parametric optimization (with respect to
this special parameterization).
6 L. Kobbelt
3.4 Discretization in the parametric case
For the discretization in the functional case (Sect. 3.1) we had to assign parameter values
to vertices in the neighborhoods U
j
= U(�
j
; �
j
) in order to construct divided di�erence
operators. The discretization in the parametric case now goes along the same lines, just
that the parameter values are not implicitly given by the input data. Further, since
in general for parametric surfaces no regular global parameterization exists, we have to
generalize the setting by allowing vertices to have multiple parameter values assigned.
Let fU
1
; : : : ;U
m
g be a collection of local neighborhoods covering the re�ned net N
0
=
S
r
N = (P
0
; T
0
) with U
j
� P
0
, #U
j
� r :=
1
2
(k + 2) (k + 1) for all j, and
S
U
j
= P
0
. A
local parameterization (a chart) is a map �
j
: U
j
! IR
2
which assigns parameter values to
all vertices in the set U
j
. Since every vertex may belong to several neighborhoods, di�erent
parameter values may be assigned to it in each of them. In order to construct k-th order
di�erence operators on U
j
, the set �
j
(U
j
) has to be such that there exists no non-trivial
polynomial of degree k which vanishes at all (u
l
; v
l
) 2 �
j
(U
j
). If this condition is satis�ed,
the Vandermonde-matricesW
j
= [
1
a! b!
u
a
l
v
b
l
]
a+b�k
have full rank and the masks �
j
for the
di�erence operators can be computed by (3.11).
The crucial di�erence between the functional and the parametric case is that for func-
tional data, a global parameterization is always possible, i.e., a parameterization such that
for all vertices p;q 2 U
j
\ U
l
the condition k�
j
(p)��
j
(q)k = k�
l
(p)��
l
(q)k is satis�ed.
We call this property compatibility of the local parameterizations �
j
. This de�nition al-
lows neighboring parameterizations to di�er by translations and rotations in the parameter
plane. Both transformations have no in uence on the value of k diag[�
0
; : : : ; �
r�1
] �
j
�k
2
2
for
discretizations of the rotational invariant operators in (3.2). If the local parameterizations
�
j
are compatible then they can be patched together to form a global parameterization of
the net.
In the general parametric case, however, the parameterizations �
j
(U
j
\U
l
) and �
l
(U
j
\
U
l
) may not be as strictly related. At least, we require asymptotic compatibility . This
means that if we have a speci�c scheme that computes the parameterizations �
j
for a
re�ned net S
r
N then for all p;q 2 U
j
\ U
l
k�
j
(p)� �
j
(q)k
k�
l
(p)� �
l
(q)k
! 1 (3.13)
as r increases to in�nity. In other words, the more we re�ne the original mesh the more
compatible are overlapping parameterizations. The motivation for this de�nition is the
idea that, in order to let derivatives on a parametric surface have geometric relevance, a
reparameterization in every point becomes necessary (cf. Sect. 4). However, since the limit
surface is supposed to be smooth, these reparameterizations should locally become similar.
In fact, the local metric of a surface can be estimated by projecting the neighborhood U(p)
into the tangent plane at p and the tangent plane is expected to vary continuously on a
smooth surface.
To complete the discretization in the parametric case, it remains to de�ne the weight
coe�cients w
j
for the quadrature formula (3.6) which a priori does not make any sense
because we have no global parameter domain and therefore we do not have a proper
integral to be approximated.
In the functional case there is a one to one correspondence between the triangles of the
net N
0
and triangles in the parameter plane. Hence, integration over , i.e., summation
over parameter triangles, is equivalent to summation over the triangles of the mesh. In the
parametric case, every triangle in T
0
corresponds to several parameter triangles according
the neighborhoods U
j
it belongs to. If we discretize the integral operator in the sense
of summation over T
0
(integration by area element), we basically have to estimate the
contribution of each triangle T 2 T
0
to the value of the energy functional.
Mathematics of Surfaces VII 7
The neighborhoods U
j
are usually associated with either the vertices, the edges, or the
faces of the net N
0
. For example the neighborhood U := d
k
(p) is centered around the
vertex p while U := d
k
(p) [ d
k
(q) [ d
k
(r) with T := [p;q; r] 2 T
0
is centered around T .
Let �
p
2 IR
r�m
be the di�erence operator associated with U
p
(and �
p
) for vertex-
centered neighborhoods (m = #U), and �
p;q
and �
T
are de�ned for U
p;q
and U
T
analo-
gously. The energy value for the sample corresponding to a neighborhood U is computed
by
E := trace
�
[p 2 U ]
T
�
T
� [p 2 U ]
�
(3.14)
where [p 2 U ] is a (m � 3)-matrix containing the coordinates of the vertices p 2 U in its
rows.
Consider the triangle T := [p;q; r] 2 T
0
. According to the three di�erent situations
U
p
, U
p;q
and U
T
, its contribution to the total energy is given by
w
3
�
E
p
+E
q
+E
r
�
or
w
3
�
E
pq
+E
q r
+E
r p
�
or wE
T
with the positive factor w re ecting the relative size of T compared to other triangles
in T
0
. Obviously, a common factor in all the weights does not a�ect the solution of the
optimization. The size w can be chosen to be the average area of the triangles �
j
([p;q; r])
over the involved neighborhoods U
j
. Due to the asymptotic compatibility, these triangles
do not di�er much after su�cient re�nement. Notice that we cannot simply set w =
area[p;q; r] since the geometric location of the vertices is not known a priori: we �rst have
to choose local parameterizations (including area element) and then solve the optimization
problem to compute the positions of the new vertices. Therefore we have to estimate the
area element directly from the local metrics �
j
.
The quadrature weights w
j
in (3.6) are �nally obtained by summing up the contribu-
tions to all triangles a�ected by a particular U
j
. For example E
p
for U
p
:= d
k
(p) a�ects
all triangles [q
i
;q
i+1
;p] meeting at p and therefore the w
j
have to be proportional to
P
i
area(�
p
([q
i
;q
i+1
;p])).
Remark: The apparent advantage of di�erence methods to solve fairing problems
(compared to Galerkin-type approaches) is that no globally consistent parameterization
is necessary. All we need are local parameterizations for every neighborhood U
j
to derive
the divided di�erence operators and a globally consistent estimate of the area element to
weight the local samples correctly. As described above, once the local parameterizations
�
j
are de�ned, the approximate area element can be derived under the assumption that
the �
j
are locally close-to-isometric.
4 Local parameterizations for subdivided nets
We have to address the question how to choose good local parameterizations �
j
. Obvi-
ously, good parameterizations should approximate the isometric parameterization since in
this case derivatives have a simple geometric interpretation. For example, the thin-plate
functional
TP(f) :=
Z
trace
�
(D f)
T
(D f)
�
(4.1)
with (cf. (3.2))
D :=
h
0; 0; 0;
@
2
@ u
2
;
p
2
@
2
@ u @ v
;
@
2
@ v
2
i
T
is equivalent to the total curvature
TC(f) :=
Z
�
2
1
+ �
2
2
(4.2)
8 L. Kobbelt
if the �rst fundamental form of f is the identity
�
< f
u
; f
u
> < f
u
; f
v
>
< f
v
; f
u
> < f
v
; f
v
>
�
=
�
1 0
0 1
�
:
However, a globally isometric parameterization does not exist in general and even a local
reparameterization requires a priori knowledge about the resulting surface. Therefore we
have to use heuristic methods to �nd good approximations of local isometric parameteri-
zations �
j
.
There is a very subtle interplay between the choice of good local parameterizations and
the resulting fair mesh: For the choice of the optimal �
j
we have to make assumptions
about the resulting net which, on the other hand, itself depends on the �
j
. The choice
of the �
j
should also draw into account that the notion of fair triangular nets has two
aspects. First, outer fairness refers to small jumps of the normal vectors of adjacent
faces. However, this does not provide a complete characterization. In addition, we have to
guarantee inner fairness as well, i.e., the well-shaped-ness of individual triangular faces:
There are good and bad triangulations for a set of points lying on the same fair surface
(cf. Fig. 5).
4.1 Types of local topologies
We are not dealing with arbitrary triangular nets, but with nets which are generated by the
application of a uniform re�nement operator S
r
. This means that we have inner vertices,
edge vertices and corner vertices forming a mesh with isolated singularities separated by
regular regions. Since the size of the neighborhoods U
j
is de�ned in terms of topological
distance (or number of vertices), every U
j
contains at most one singular (corner) vertex
after su�cient re�nement. We look for natural ways to de�ne local parameterizations �
j
.
If a net N is a su�ciently re�ned approximation of a smooth parametric surface S
then the vertices in a local neighborhood U
j
of a vertex p approximately lie in a plane.
In fact, for a local parameterization �
j
the triangles of vertices from U
j
essentially are
a�ne images of the corresponding triangles in the parameter plane. This a�ne map is
given by the �rst terms of the Taylor expansion of S at p with respect to �
j
(especially if
we minimize second order derivatives!). Although we do not know the Taylor expansion
of the resulting surface S a priori, the parameterization for the vertices in U
j
should be
chosen according to the local topology in order to promote inner fairness . Due to the
special structure of the subdivision meshes, only three di�erent constellations have to be
distinguished.
a
b
h
Figure 1. Parameterization of a uniform submesh (three degrees of freedom).
Consider a region U
j
which contains only inner vertices. Since there is nothing special
about one particular vertex in the inner of U
j
, the parameterization should look the same
around each of these vertices (i.e., in the 1-disc around each). A natural way to assign
Mathematics of Surfaces VII 9
parameter values in this case is therefore to use the knot-values of a (shift-invariant) a�ne
grid in the parameter plane. This leaves three degrees of freedom (cf. Fig. 1). Notice that
this choice for a parameterization is not arbitrary but it optimizes inner fairness in the
sense that all parameter triangles are congruent.
a
b
h
c
d
Figure 2. Parameterization of a semi-uniform submesh (�ve degrees of freedom).
If U
j
contains edge vertices then these vertices separate regions of inner vertices. Hence,
a natural way to parametrize U
j
in this case is to allow a di�erent a�ne grid in each of
these regions. However, the step widths of these grids have to be compatible to avoid
ambiguities (for edges connecting two edge vertices). The number of degrees of freedom
is �ve in this case (cf. Fig. 2).
ab
hc
f
g
Figure 3. Parameterization of a semi-uniform submesh (�ve degrees of freedom in
this case).
Finally, if U
j
contains a corner vertex p then the adjacent edge vertices divide U
j
into a
number of sectors according to the valence of p. Again, in each of these sectors, an a�ne
grid can be chosen where in addition to the constraints on the step widths, the angles
around p have to add up to 2�. It turns out that the number of degrees of freedom is two
times the valence of p minus one (cf. Fig. 3).
In each of the above constellations, we can pick one particular vertex of U
j
as a crystal-
seed and extrapolate from it the whole parameterization �
j
. De�ning the parameterization
(the metric) at a particular vertex means assigning parameter values to its direct neighbors
(1-disc). In case of a uniform grid this de�nes �
j
completely due to the shift invariance.
Edge vertices can be seen as cracks in the crystal structure where two uniform regions
10 L. Kobbelt
meet. Given the 1-disc around an edge vertex allows to propagate the crystal structure
into both directions. In the last constellation (cf. Fig. 3), the parameter values for the
vertices adjacent to the corner vertex are su�cient to reconstruct the whole mesh.
According to the number of degrees of freedom, di�erent patterns for the crystal-seeds
can be distinguished. Without loss of generality, we can assign the value (0; 0) to the seed
vertex p and a value on the u-axis to one of its direct neighbors (since we restrict ourselves
to rotationally invariant energy functionals).
If p is an inner vertex then it has exactly 6 neighbors q
l
. The corresponding seed-
pattern has three degrees of freedom �, �, and h
�
j
([q
l
]) =
0
B
B
B
B
B
B
B
B
@
sin(�)h 0
sin( ) cos(�)h sin( ) sin(�)h
sin(�) cos( )h sin(�) sin( )h
� sin(�)h 0
� sin( ) cos(�)h � sin( ) sin(�)h
� sin(�) cos( )h � sin(�) sin( )h
1
C
C
C
C
C
C
C
C
A
(4.3)
where = �+�. The area of the 1-disc �
j
([q
l
]) in the parameter plane is area(�
j
([q
l
])) =
3h
2
sin(�) sin(�) sin( ).
If p is an edge vertex (also valence 6), two additional parameter �� and
�
� are introduced
�
j
([q
l
]) =
0
B
B
B
B
B
B
B
B
@
sin(�)h 0
sin( ) cos(�)h sin( ) sin(�)h
sin(�) cos( )h sin(�) sin( )h
� sin(
�
�)
�
h 0
sin(��) cos(� )
�
h � sin(��) sin(� )
�
h
sin(� ) cos(��)
�
h sin(� ) sin(��)
�
h
1
C
C
C
C
C
C
C
C
A
(4.4)
with � = ��+
�
� and
�
h = h sin(�)= sin(
�
�). Here, the area is
area
�
�
j
([q
l
]))
�
=
3
2
h
2
�
sin(�) sin(�) sin( ) + sin(��) sin(
�
�) sin(� )
�
:
In the most general case, p is a corner vertex with valence r and the free parameters are
�
1
; : : : ; �
r
and h
1
; : : : ; h
r
:
�
j
([q
l
]) =
0
B
B
B
B
@
.
.
.
.
.
.
h
l
cos
�
P
l�1
i=1
�
i
�
h
l
sin
�
P
l�1
i=1
�
i
�
.
.
.
.
.
.
1
C
C
C
C
A
(4.5)
with the only constraint that
P
l
�
l
= 2�. The area in the parameter plane is area(�
j
([q
l
]))
=
1
2
P
i
h
i
h
i+1
sin(�
i
).
4.2 Approximating a local isometric parameterization
The simplest way to describe the local reparameterization of a smooth surface S such that
isometry is obtained at a certain point p, is to assign parameter values in a neighborhood
U
j
of p according to the coordinates of the orthogonal projection into the tangent-plane
H
p
of S at p with respect to an orthonormal frame spanning H
p
. Hence, to approximate
Mathematics of Surfaces VII 11
the values of an isometric parameterization at the neighboring vertices p
l
2 U
j
� P
0
it is
su�cient to know how the projection of U
j
into the tangent plane H
p
looks like. Therefore,
any heuristic method to estimate the tangent plane at a point p of a triangular net yields
an estimation of a local isometric parameterization.
The local energy value (3.14) does not change, if we apply an orthonormal transfor-
mation Q 2 IR
3�3
to the row vectors p 2 U (rotation), i.e.,
E = trace
�
(� [p 2 U ])QQ
T
(� [p 2 U ])
T
�
= trace
�
(� [p 2 U ]Q) (� [p 2 U ]Q)
T
�
:
Hence, without loss of generality, we may assume that the tangent plane at p is the xy-
plane of a local coordinate system and this takes us back to the functional case: The three
components of the vector valued function f can be optimized separately (cf. (3.12)) and
the projection of the (locally) optimal solution into the tangent plane H
p
produces the
identity.
This can be exploited to enforce inner fairness: A good choice for the parameterizations
�
j
is to �x the values for neighboring vertices exactly as their projection into the tangent
plane should look like. Fig. 4 shows how this allows to in uence the solution of the opti-
mization in a predictible way: For every neighborhood U
j
the minimum energy is achieved
if two coordinate functions are the identity (and the third being from the energy norm's
kernel). Hence, the global minimum which balances the local minima, approximates the
identity locally, i.e., the optimal net looks locally `as similar as possible' to its parameteri-
zation. To some extend we do not have to approximate the metric of the resulting surface
but conversely, due to the energy minimization, the metric of the resulting surface will
approximate what we prescribed with the �
j
.
1:1:1:1:1:1 4:1:1:1:1:1 3:3:1:1:1:1
1:4:4:4:4:4 1:3:3:1:3:3 1:3:1:3:1:3
Figure 4. Result of minimizing the thin-plate functional for di�erent local
parameterizations at the origin (center vertex). The angles of the solution in the 1-disc
around the origin are in uenced by the prescribed ratios in the parameterization.
Let us recollect the important features for the local parameterizations �
j
: Since after
re�nement and smoothing, the triangles of the mesh locally look similar to the corre-
sponding triangles in the parameter plane, the local parameterizations have to be fair . To
12 L. Kobbelt
achieve this, the �
j
should be de�ned according to the three di�erent constellations of local
topologies (cf. Sect. 4.1). Further, since on a smooth surface, the tangent plane varies
continuously, the local parameterizations have to be asymptotically compatible. This is
easy to accomplish since the sizes of the local neighborhoods are measured in topological
distances and therefore the `di�erence' between the parameterizations at two vertices p
and q being directly connected in the original net N can be equally distributed among
more and more intermediate parameterizations along the edge pq as the re�nement level
r increases.
4.3 Constructing the parameterizations �
j
Now we discuss simple schemes to construct local parameterizations which satisfy all
the requirements of the last sections, namely that the �
j
should be locally isometric
and with increasing resolution the local parameterizations of overlapping neighborhoods
should become asymptotically compatible (cf. (3.13)). The problem to be solved is, given
an original triangular net N , �nd local parameterizations �
j
for the neighborhoods U
j
in
the re�ned net S
r
N without knowing the exact position of the newly inserted vertices.
A very intuitive method to de�ne those parameterizations takes another re�ned net
e
N :=
e
S
r
N obtained by applying an appropriate (stationary) subdivision operator
e
S
r
(e.g.
the butter y-scheme [DGL90]). The net
e
N serves as a �rst approximation to the fair net.
Its tangent planes can be estimated based on weighted averages of the adjacent edges or
normals. The orthogonal projections of the topological neighborhoods U
j
2
e
P into the
respective tangent planes yield parameterizations �
j
which, according to Sect. 4.2, are
discretizations of local isometric parameterizations.
The quality of the resulting parameterization depends on the fairness of the net
e
N
generated by the underlying subdivision scheme
e
S
r
. Notice that the vertex locations of
e
N can also be used as starting values for the iterative solution of (3.8). This approach
is similar to a discrete version of the data dependent functionals of [GLW96] where a
reference surface is used to estimate the metric of the solution.
However, applying a stationary re�nement scheme makes it impossible to guarantee
the regularity, e.g., the absence of self intersections, in the re�ned mesh. This is a simple
consequence of the a�ne invariance of the re�nement operator. Hence, a scheme that
bases the construction of the local parameterizations on computations in the net
e
S
r
N is
not safe since any lower bound �
"
for angles of triangles in the parameter plane may be
violated. This a�ects numerical stability in the construction of the di�erence operators
�
j
.
Further, this general construction makes it very di�cult to analyze the matrix of the
resulting linear system (3.8). We therefore restrict the �
j
to the three types described in
Sect. 4.1. For these, it is su�cient to have a scheme generating a crystal seed for every
vertex in P
0
(cf. (4.3) - (4.5)). The special type of these seeds is determined by the type
of the vertices. In Sect. 5 we will show how this restriction allows to prove the existence
of a unique solution of the optimization problem.
One construction which satis�es these requirements uses a subdivision scheme
e
S
r
to
estimate the tangent planes. But then the �
j
are obtained by projecting the vertices
of L
r
N into those planes (cf. (2.1)). The `piecewise linearity' of L
r
guarantees that the
templates of the resulting crystal seeds automatically correspond to the type of the vertices.
In Sect. 4.2 we concluded that the local parameterizations should be chosen such that
they look like a desirable orthogonal projection of a fair net into its pseudo tangent plane.
If we de�ne the parameterizations at the vertices of N by projecting the vertices of L
r
N ,
the results { although smooth { are not necessarily fair with respect to inner fairness (cf.
Fig. 5).
Mathematics of Surfaces VII 13
Figure 5. Interpolation of a simple object (upper left) with di�erently equalized local
parameterizations at the corner vertices. In the �rst re�ned net, the parameterization of
the corner vertices is obtained by projection into an estimated tangent plane. The last
net results from using symmetric crystal seeds. The three other nets are obtained by
taking linear combinations of the extremal seeds.
In some practical experiments with the discrete fairing, it turned out that a modi�ca-
tion of the local parameterizations �
j
by equalizing edge-lengths and angles around each
vertex may occasionally lead to better results. Generally, there seems to be a trade-o�
between inner and outer fairness (cf. Fig. 5).
Yet another way to de�ne the tangent planes is to estimate them at the vertices of the
original unre�ned net N only and derive them for the new vertices of N
0
by interpolation
of the normal vectors across triangles of N , e.g., by cubic Hermite interpolation. This is
motivated by the notion of a continuously varying tangent plane on a smooth surface.
We can also interpolate between vertices of the original net without refering to geo-
metric information, i.e., we can interpolate the parameterizations �
j
directly . We start by
estimating tangent planes and local parameterizations at the vertices in the original net
N . These vertices are corner vertices in the re�ned net N
0
. A seed corresponding to a
corner vertex uniquely de�nes adjacent edge- and inner-type seeds.
Let pq be an edge of the original net N . The seeds of �
p
and �
q
both de�ne an edge-
type seed associated with pq. Since these edge-type seeds are topologically isomorphic
(and orientation is well-de�ned) the edge-type seeds for intermediate vertices subdividing
pq can be constructed by simple interpolation (cf. Fig. 6).
The same construction can be carried out across every triangular face T = [p;q; r] 2 T .
The seeds of �
p
, �
q
and �
r
determine inner-type seeds for T which can be interpolated
according to the barycentric indices of the inserted vertices q
u;v;w
(with u; v; w � 1). The
orientation can be derived by �nding corresponding directions in the regular submesh
which subdivides [p;q; r]. Notice that we are interpolating the parameter seeds directly
and do not perform interpolation in IR
3
.
The motivation for this construction, again, is that on a smooth surface the isomet-
ric reparameterization varies continuously. By this interpolation scheme, we somewhat
distribute the di�erence between the parameterizations (metrics) at p and at q over all
local neighborhoods introduced during re�nement. Obviously, the interpolation of local
14 L. Kobbelt
p
q
ab
ab
ab
r
p
p
rr
q
q
p
q
Figure 6. De�nition of local parameterizations by interpolation. The seeds at the
corner vertices p and q determine the edge-type seeds at p and q respectively. The seed
at r is then given, e.g., by �
r
:= u�
p
+ (1� u)�
q
and �
r
:= u�
p
+ (1� u)�
q
for some
appropriate parameter u 2 [0; 1].
parameterizations ensures asymptotic compatibility.
In the above description, the term `interpolation' is used generically. The local pa-
rameterizations can be computed, e.g., by interpolating the vector of degrees of freedom
(angles and stepwidth) or | not equivalently | by interpolating the actual parameter
values (vector of coordinates). Also, we restricted our description to interpolation schemes
that use direct neighbors only. Higher order schemes could be applied as well.
5 Thin-plate-splines
We now give a detailed instance of the general framework described in the previous sec-
tions: the discretization of the minimization of total curvature (4.2) which can be ap-
proximated by a combination of squared second order derivatives (4.1) if the underlying
parameterization is close to isometric. Since we do not exploit the special structure of
the matrix diag[�
i
] in the de�nition of the di�erential operator D, every statement in this
section holds for any discrete fairing scheme that measures fairness based on squares of
second order di�erences (derivatives).
At �rst we have to choose the neighborhoods U
j
for the construction of divided di�er-
ence operators. Since we have to approximate second order derivatives only, the 1-discs
d
1
(p) around every vertex p 2 P are appropriate. In regular regions of the net, these
contain seven vertices and a least norm solution can be found by (3.11). A unique solution
exists if the minimum angle in the parameter triangles is bounded below by a positive
constant �
"
. Problems occur at singular vertices of valence three or four where the di�er-
ence operator masks are over-determined. In these special cases we have to include more
vertices into the neighborhoods (cf. Fig 7).
Following the outline of Sect. 4.3, we have to estimate good parameterizations for the
1-discs around the original (corner-)vertices �rst. All other local parameterizations in the
re�ned net N
0
are then obtained by interpolation.
Having constructed the di�erence operator masks �
j
(3.11), the next step is to deter-
mine the quadrature coe�cients w
j
. According to Sect. 3.4, we simply set them to the
area that is covered by �
j
(U
j
). Notice that the asymtotic compatibility of the �
j
and
the restriction to the three types of local parameterizations (4.3) - (4.5) imply that for
overlapping neighborhoods U
j
and U
l
the ratio of area(�
j
(U
j
\ U
l
)) and area(�
l
(U
j
\ U
l
))
Mathematics of Surfaces VII 15
Figure 7. Expanding the neighborhoods U
j
in the vicinity of low-valence singular
vertices.
converge. This makes the optimization problem well-de�ned since a common factor to all
weights w
j
does not a�ect the solution.
It remains to verify condition (3.9) or equivalently ker(
e
�) = f0g. This is not trivial and
we have to exploit the special structure of the local parameterizations �
j
. The particular
interpolation scheme by which the local parameterizations at the new vertices q
u;v;w
are
computed, turns out to be not important for this analysis as long as the seeds are of the
forms (4.3) - (4.5).
We have to show that, except for the trivial net Z which completely collapses at
the origin, there exists no net
e
N topologically isomorphic to N
0
which has zero energy
and all corner vertices lying at the origin. Such a net could be added to a minimal
solution without changing its energy nor its interpolation properties and thus making the
optimization problem ill-posed.
Since the optimization in the parametric case can be performed separately for each
coordinate function, we can restrict the following considerations to scalar valued meshes.
Consider a single 1-disc U
j
around an inner vertex. According to the parameterization
(4.3), the least norm masks �
j
of (3.11) for the second order di�erence operators can be
given explicitly by
M
xx
:=
1
w
2
0
@
0 0
v
2
�2 v
2
v
2
0 0
1
A
(5.1)
M
xy
:=
1
w
2
0
@
�q q
�p 2p �p
q �q
1
A
(5.2)
M
yy
:=
1
w
2
0
@
s u �t u
s t �2 (s t+ u
2
) s t
�t u s u
1
A
(5.3)
where = � + �, s = cos(�) sin( ), t = sin(�) cos( ), u = sin(�), v = sin(�) sin( ),
w = sin(�) sin(�) sin( ), p =
1
2
(s+t) v, and q =
1
2
u v. Due to the symmetry of the weight
coe�cients, the kernel of the local operator �
j
= [M
xx
;M
xy
;M
yy
] can be represented by
the simple basis
span
n
0
@
1 1
1 1 1
1 1
1
A
;
0
@
0 0
�1 0 1
0 0
1
A
;
0
@
0 1
0 0 0
�1 0
1
A
;
0
@
1 0
0 0 0
0 �1
1
A
o
:
Notice that this basis is valid for every parameterization of the form (4.3) and does not
depend on the actual angles and lengths in �
j
(U
j
). Obviously, the kernel of �
j
has four
16 L. Kobbelt
dimensions while the kernel of the corresponding continuous di�erential operator has only
three dimensions (the set of a�ne functions). This bigger kernel makes the analysis of the
unique solvability (cf. (3.9)) necessary.
Without loss of generality we assume that the net N
0
is generated by a subdivision
operator S
r
with r � 4. For smaller r more special cases have to be considered. Let U
j
,
U
k
, and U
l
be three overlapping 1-discs corresponding to adjacent inner vertices. From the
over-determination of vertex values (according to the individual kernels of �
j
, �
k
, and �
l
respectively), it follows that the kernel of the combined operator [�
j
;�
k
;�
l
] is only three
dimensional (cf. Fig. 8).
a a+b
a+ca+d
a−b
a−c a−d
a+2b
a+2b+d = a+2c−d
Figure 8. Constructing a basis for the kernel of
e
�.
The remaining degrees of freedom are a, b, and d.
The condition a + 2b + d = a + 2c � d implies c = a + d and by further propagating
this condition over other neighboring 1-discs of inner-vertex type, it turns out that the
kernel of the combined operator [�
u;v;w
]
u;v;w�1
covering the 1-discs U
u;v;w
around all inner
vertices belonging to the same initial triangular face, consists of uniform samples of an
a�ne function. The same holds for any other submesh of inner vertices.
The local kernels (one for each original face) are linked together via the 1-discs around
edge vertices. Since the kernel conditions within each inner region imply that the vertex
values are samples of an a�ne function there is only one degree of freedom, x, left in the
1-disc around an edge vertex e. The others are determined since all edge vertices lie on
the intersection of two neighboring a�ne functions. The value x has to be chosen such
that we stay also within the kernel of �
e
. Fig. 9 depicts the situation.
a+baa−b
a+d a+b+d
x x+b
Figure 9. Constraints for the kernel vector in the vicinity of
an edge vertex e (solid dot).
Obviously, the only solution for x is the one that makes the vertex values samples of
an a�ne function with respect to the edge vertex's local parameterization. Any other x
would imply a quadratic term in the interpolating polynomial and thus cannot lie in the
kernel of �
e
(cf. the construction of the di�erence operators by solving a Vandermonde
Mathematics of Surfaces VII 17
system in Sect. 3.2). This is true since three parallel lines can always be interpolated by
a quadratic bivariate polynomial.
The solution x �xes all degrees of freedom in the link between two regions of inner
vertices since each such region is uniquely determined by one of its parameter triangles
(crystal seeds). If the local parameterizations for two edge vertices along the same edge
of the original mesh N di�er by more than an a�ne map then no global solution exists
along that edge and the kernel of the global functional � is empty.
However, if the edge-vertex parameterizations are related by an a�ne map
2
then the
di�erences between vertex values of the kernel vector along edges that connect two edge
vertices is constant (uniform samples of an a�ne function; the value b in Fig. 9). At both
ends of such a chain of `edge-edges' there are corner vertices whose vertex value has to
be zero in order not to violate the interpolation condition. Considering these restrictions
along the three boundaries of a regular submesh corresponding to a single triangular face
of the original net, it turns out that every local kernel vector has to consist of uniform
samples of an a�ne function with three roots not lying on a straight line. The only such
function is identically zero and hence the kernel of the matrix
e
� is trivial. 2
5.1 Higher order smoothness
The thin-plate variational scheme discussed in the last section produces interpolating
nets of high quality (cf. the example in Sect. 7). However from a geometric point of
view, it could make more sense to minimize the variation of curvature, i.e., to distribute
the curvature equally over the surface instead of minimizing it [MS92]. The changes of
curvature are measured by third derivatives.
Therefore the minimization of a discrete version of the energy functional (3.1) based
on (3.2) with k = 3 can be expected to lead to even more pleasant shapes. However,
both the construction of the di�erence operators as well as the solution of the resulting
linear system are computationally more involved. This is the well-known trade-o� between
surface quality and computational complexity.
6 E�cient computation
The computation of the vertex positions in a fair net requires the solution of the large sparse
system (3.8). Such systems are most e�ciently solved by iterative algorithms [Hac91]. Due
to the geometric background of the problem, it is possible to �nd very good starting values
for the iteration. Every step of the iterative scheme can be considered as a smoothing step
taking the vertices closer to the fair solution of the optimization problem.
Typically for such low-pass �lter type iterations, the matrices of these systems are
asymptotically ill conditioned, i.e., the spectral radius � of the corresponding iteration
matrix in a Gau�-Seidel- or Jacobi-scheme converges to � = 1 like O(1� r
�2
) where r is
the order of the re�nement operator S
r
. The reason for such behavior is that in a single
iteration step only local information (one row of the sparse matrix) is used to adjust the
position of a vertex. Hence, local (high frequency) oscillations are smoothed out rather
quickly while low frequency errors decrease slowly.
Fig. 11 shows the oscillations of eigenvectors corresponding to a Gau�-Seidel iteration
matrix for the iterative thin-plate energy minimization. The initial interpolation data is
a regular tetrahedron T and the values are color coded on the surface of the minimum
energy solution. The shading represents the absolute value of the Laplacian (high-pass)
of the actual kernel vector values in order to emphasize the oscillatory behavior.
2
Such a situation occurs, e.g., when we consider the graph of a function as a special parametric surface.
18 L. Kobbelt
The pictures in Fig. 11 are based on the 18th order re�nement N
0
:= S
18
T of the
tetrahedron. The re�ned net N
0
contains 650 vertices, four of which are �xed due to
the interpolation conditions. For the application of the Gau�-Seidel iteration, the matrix
A :=
e
�
T
e
� has to be split into its lower triangular part L (including the diagonal) and the
upper triangular part R. The contraction rate of the error is then bounded by
�(I � L
�1
A) = 1� �
min
(L
�1
A):
We computed the eigenvectors of L
�1
A and sorted them according to their corresponding
eigenvalues in increasing order. The �rst vectors in this list span the subspaces where
the convergence of the iterative scheme is slowest. In Fig. 11 we show the vectors 1, 20,
50, 100, 200, 300, 450, and 646 of this list. Apparently, frequency and amplitude of the
oscillation increase.
A practical consequence of this special eigenstructure of the iteration matrix is that
(by using a naive solving algorithm) locally smooth meshes can be found quite e�ciently
while convergence to the exact fair solution of the underlying variational problem cannot
be achieved in a reasonable time. However, low-pass �lter characteristics of the iteration
matrix in a solving scheme is the classical situation where multi-grid schemes are expected
to accelerate the iterative solver signi�cantly [Hac85]. The justi�cation for this statement
is that, due to its special eigenstructure, the iterations on lower re�nement levels reduce
the errors in those subspaces which are doomed to slow convergence on the �ner level.
The multi-resolutional decomposition of (3.8) naturally arises from the subdivision
topology of the re�ned net N
0
. If the optimization is performed on N
0
= S
r
N then a
maximum sequence of embedded levels of resolution is obtained from factoring r into its
prime factors r
i
. The most simple choice is r
i
:= 2 and r = 2
m
.
A multi-grid algorithm consists of two ingredients: a basic iterative solver with smooth-
ing characteristics and prolongation/restriction operators P
i
/R
i
to switch between levels.
Since we can exploit the geometric coherence in the mesh data, it is easy to �nd good
(smooth) starting values, e.g., we can use appropriate stationary subdivision operators
e
S
r
i
to obtain the initial net
e
N =
e
S
r
n
: : :
e
S
r
1
N .
The action of a simple V-cycle multi-grid scheme on the i-th re�nement level can
be described by
i
= �P
i
i�1
R
i
� where � is the basic iterative solver (smoother). In
our special situation, pre-smoothing is not necessary because the initial vertex positions
in
e
N usually are su�ciently smooth. A natural choice for the restriction operator is
R
i
:=
e
S
�1
r
i
and for the prolongation P
i
:=
e
S
r
i
. Classically, R
i
and P
i
have to be adjoint
operators with respect to the underlying error norm. However, our special choice makes
the discrete fairing algorithm much simplier and does not a�ect the convergence behaviour
signi�cantly.
With these assumptions, unfolding the whole recursive V-cycle algorithm leads to
N
0
:=
n
N =
�
n
Y
i=1
�
e
S
r
i
�
N;
i.e., stationary subdivision
e
S
r
i
alternates with iterative smoothing � (e.g. Gau�-Seidel).
Hence, an appropriate adaption of the multi-grid paradigm to the iterative fairing of tri-
angular nets reduces to the back-tracking phase (back leg) of a V-cycle multi-grid scheme.
7 Conclusions
To conclude this paper we show an example surface to give an impression of the quality
of the resulting interpolants. In Fig. 10, we show the original mesh (left) and the re�ned
Mathematics of Surfaces VII 19
surface (right). We used the subdivision operator S
8
= S
3
2
under minimization of the
thin-plate functional. The re�nement is su�cient to produce a visually smooth surface.
The multi-grid algorithm to solve the corresponding sparse linear system took about 90
sec. on a SGI Onyx to compute the re�ned mesh with about 43500 vertices.
The proposed discrete fairing scheme can easily be generalized to open triangular
meshes where special treatment of the boundaries becomes necessary. Following [Kob96b]
this also enables the scheme to produce C
0
features like creases or cusps within an other-
wise smooth surface.
For some real world applications, the interpolation of the vertices of the given net
might be a too strict requirement since the measured vertex positions are subject to noisy
errors. Hence, future work should investigate a modi�cation of the fairing scheme by
relaxing interpolation constraints to approximation constraints satisfying prescribed error
tolerances.
This work was supported by a scholarship granted by the science section of NATO
and organized by the DAAD. I am very grateful to Prof. Carl de Boor who made
this project possible and I would like to thank him for the very helpful discussions
on variational methods.
Figure 10. Original triangular mesh N and the re�ned net S
8
N obtained by
minimization of a discrete thin-plate energy.
Both pictures are rendered with at shading.
20 L. Kobbelt
References
[CG91] G. Celniker / D. Gossard, Deformable curve and surface �nite elements
for free-form shape design, ACM Computer Graphics, 25:257{265, 1991
[DGL90] N. Dyn / J. Gregory / D. Levin, A Butter y Subdivision Scheme for Sur-
face Interpolation with Tension Controll , ACM Trans. Graph. 9 (1990),
pp. 160{169
[Duc79] J. Duchon, Splines minimizing rotation invariant semi-norms in Sobolev
spaces , W. Schempp, K. Zeller, eds., Multivariate Approximation Theory,
Birkh�auser 1979, pp. 85-100
[Els70] L. Elsgolc, Variationsrechnung , Teubner Verlag Stuttgart 1970
[Gre94] G. Greiner, Variational design and Fairing of Spline Surfaces, Computer
Graphics Forum, 13(3):143-154, 1994
[GLW96] G. Greiner / J. Loos / W. Wesselink, Data Dependent Thin Plate Energy
and its Use in Interactive Surface Modeling , Computer Graphics Forum,
1996
[Hac85] W. Hackbusch, Multi-Grid Methods and Applications, Springer Verlag,
Berlin, 1985
[Hac91] W. Hackbusch, Iterative L�osung gro�er schwach besetzter Gleichungssys-
teme, Teubner Verlag 1991, Stuttgart
[HKD93] M. Halstead / M. Kass / T. DeRose, E�cient Fair Interpolation Using
Catmull-Clark Surfaces , ACM Computer Graphics, 27:35-44, 1993
[Kob96a] L. Kobbelt, A Variational Approach to Subdivision, CAGD 13 (1996), pp.
743{761
[Kob96b] L. Kobbelt, Interpolatory Subdivision on Open Quadrilateral Nets with
Arbitrary Topology , Computer Graphics Forum 15 (1996), Eurographics
'96 Conference Issue, pp. 409{420
[MS92] H. Moreton / C. S�equin, Functional Optimization for Fair Surface Design,
ACM Computer Graphics, 1992, pp. 167{176
[Pow94] M. Powell, The Uniform Convergence of Thin Plate Interpolation in Two
Dimensions, Numer. Math. 68 (1994), pp. 107{128
[Sap94] N. Sapidis ed., Designing Fair Curves and Surfaces , SIAM, Philadelphia,
1994
[ZSS96] D. Zorin, P. Schr�oder, W. Sweldens, Interpolating Subdivision for Meshes
with Arbitrary Topology , ACM Computer Graphics, 1996, pp. 189{192