22

Discrete - RWTH Aachen University · Discrete airing F Leif Kobb elt ... GD. CA The main source for these problems is that y an basis ... results from ariational v calculus] [Els70

  • 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

Mathematics of Surfaces VII 21

Figure 11. Color coded Laplacian of the eigenvectors of the Gau�-Seidel iteration

matrix corresponding to the minimization of the thin-plate energy.