Meyer 2003

Download as pdf or txt
Download as pdf or txt
You are on page 1of 23

Discrete Differential-Geometry Operators

for 'Triangulated 2-Manifolds

Mark Meyer 1 , Mathieu Desbrun 1,2, Peter Schroderl, and Alan H, Barr l

1 Caltech, 1200 East California Boulevard, Pasadena, CA 91125, USA.


{mmeyeT",ps}@cs.caltech.edu, [email protected]
2 USC, 3737 Watt Way, PRE 434, Los Angeles, CA 90089, USA.
[email protected]

Summary. This paper proposes a unified and consistent set of flexible tools to
approximate important geometric attributes, including normal vectors and cur-
vatures on arbitrary triangle meshes. We present a consistent derivation of these
first and second order differential properties using averaging Vomnoi cells and the
mixed Finite-Element/Finite-Volume method, and compare them to existing for-
mulations. Building upon previous work in discrete geometry, these operators are
closely related to the continuous case, guaranteeing an appropriate extension from
the continuous to the discrete setting: they respect most intrinsic properties of the
continuous differential operators. We show that these estimates are optimal in ac-
curacy under mild smoothness conditions, and demonstrate their numerical quality.
We also present applications of these operators, such as mesh smoothing, enhance-
ment, and quality checking, and show results of denoising in higher dimensions,
such as for tensor images.

1 Introduction

Despite extensive use of triangle meshes in Computer Graphics, there is no


consensus on the mm,t appropriate way to e::;tirnate simple geometric at-
tributes such as normal vectors and curvatures on discrete surfaces. Many
surface-oriented applications require an approximation of the first and sec-
ond order properties with as much accuracy as possible. This could be done
by polynomial reconstruction and analytical evaluation, but this often intro-
duces overshooting or unexpected surface behavior between sample points.
The triangle mesh is therefore often the only "reliable" approximation of the
continuous surface at hand. Unfortunately, since meshes are piecewise linear
surfaces, the notion of continuous normal vectors or curvatures is non trivial.
It is fundamental to guarantee accuracy in the treatment of discrete sur-
faces in many applications. For example, robust curvature estimates are im-
portant in the context of mesh simplification to guarantee optimal trian-
gulations [13]. Even if the quadric error defined in [9] measures the Gaus-
sian curvature on an infinitely subdivided mesh, the approximation becomes
rapidly unreliable for sparse sampling. In surface modeling, a number of other
techniques are designed to create very smooth surfaces from coarse meshes,
H.-C. Hege et al. (eds.), Visualization and Mathematics III
© Springer-Verlag Berlin Heidelberg 2003
36 Mark Meyer, Mathieu Desbrun, Peter Schroder, and Alan H. Barr

and use discrete curvature approximations to measure the quality of the cur-
rent approximation (for example, see [19]). Accurate curvature normals are
also essential to the problem of surface denoising [5, 11] where good esti-
mates of mean curvatures and normals are the key to undistorted smoothing.
More generally, discrete operators satisfying appropriate discrete versions of
continuous properties would guarantee reliable numerical behavior for many
applications using meshes.

1.1 Previous Work

Several expressions for different surface properties have been designed. For
instance, we often see the normal vector at a vertex defined as a (sometimes
weighted) average of the normals of the adjacent faces of a mesh. Thurmer
and Wuthrich [27] use the incident angle of each face at a vertex as the
weights, since they claim the normal vector should only be defined very lo-
cally, independent of the shape or length of the adjacent faces. However, this
normal remains consistent only if the faces are subdivided linearly, introduc-
ing vertices which are not on a smooth surface. Max [16] derived weights
by assuming that the surface locally approximates a sphere. These weights
are therefore exact if the object is a (even irregular) tessellation of a sphere.
However, it is unclear how this approximation behaves on more complex
meshes, since no error bounds are defined. Additionally, many meshes have
local sampling adapted to local flatness, contradicting the main property of
this approach. Even for a property as fundamental as the surface normal, we
can see that several (often contradictory) formulre exist.
Taubin proposed the most complete derivation of surface properties, lead-
ing to a discrete approximation of the curvature tensors for polyhedral sur-
faces [25]. Similarly, Hamann [12] proposed a simple way of determining
the principle curvatures and their associated directions by a least-squares
paraboloid fitting of the adjacent vertices, though the difficult task of select-
ing an appropriate tangent plane was left to the user. Our paper is closely
related to these works since we also derive all first and second order prop-
erties for triangulated surfaces. However, many of the previous approaches
do not preserve important differential geometry properties (invariants) on CO
surfaces such as polyhedral meshes.
In order to preserve fundamental invariants, we have followed a path ini-
tiated by Federer, Fu, Polthier, and Morvan to name a few [8, 22, 24, 18, 26].
This series of work proposed simple expressions for the total curvatures, as
well as the Dirichlet energy for triangle meshes, and derived discrete methods
to compute minimal surfaces or geodesics. We refer the reader to the overview
compiled by Morvan [18]. Note also the tight connection with the "Mimetic
Discretizations" used in computational physics by Shashkov, Hyman, and
Steinberg [14, 15]. Although it shares a lot of similarities with all these ap-
proaches, our work offers a different, unified derivation that ensures accuracy
Discrete Differential-Geometry Operators for Triangulated 2-Manifolds 37

(a) (b)

(c) (d)
Fig. 1. Some applications of our discrete operators: (a) mean curvature plot for a
discrete surface, (b) principal curvature directions on a triangle mesh, (c-d) auto-
matic featuT'e-preserving denoising of a noisy mesh using anisotropic smoothing.
and tight error bounds, leading to simple formulre that are straightforward
to implement.

Contributions
In this paper we define and derive the first and second order differential
attributes (normal vector n , mean curvature "'H , Gaussian curvature "'G ,
principal curvatures "'1 and "'2 , and principa l directions e1 and e2) for piece-
wise linear surfaces such as arbitrary triangle meshes. We present a unified
framework for deriving such quantities resulting in a set of operators that
is consistent, accurate, robust (in both regular and irregular sampling) and
simple to compute.
The remainder of this paper is organized as follows. Details of why a local
spatial average of these attributes over the immediate I-ring neighborhood is
a good choice to extend the continuous definition to the discrete setting is first
given in Section 2. We then present a formal derivation of these quantities
for triangle meshes using the mixed Finite-Element/Finite-Volume paradigm
in Sections 3, 4 and 5. The relevance of our approach is demonstrated by
showing the optimality of our operators under mild smoothness conditions.
We demonstrate the accuracy and the use of these operators in different
applications, including the smoothing and enhancement of meshes in Sec-
tion 6. In Section 7, we generalize some of these operators to any 2-manifold
38 Mark Meyer, Mathieu Desbrun, Peter Schroder, and Alan H. Barr

or 3-manifold in an arbitrary dimension embedding space, offering tools for


smoothing vector fields and volume data. Conclusions and perspectives are
given in Section 8.

2 Defining Discrete Operators

In this section, we describe a general approach to define a number of use-


ful differential quantities associated with a surface represented by a discrete
triangle mesh. We begin with a review of several important quantities from
differential geometry. This is followed by a technique for extending these
quantities to the discrete domain using spatial averaging. Concluding this
section is a general framework, used in the remaining sections, for deriving
first and second order operators at the vertices of a mesh.

2.1 Notions from Differential Geometry

Let S be a surface (2-manifold) embedded in JR3, described by an arbitrary


parameterization of 2 variables. For each point on the surface S, we can
locally approximate the surface by its tangent plane, orthogonal to the normal
vector n. Local bending of the surface is measured by curvatuTes. For every
unit direction eg in the tangent plane, the normal curvature KN (B) is defined
as the curvature of the curve that belongs to both the surface itself and the
plane containing both nand eg. The two principal curvatures K1 and K2 of
the surface S, with their associated orthogonal directions e] and e2 arc the
extremum values of all the normal curvatures (see Figure 2(a)). The mean
CUTvature KH is defined as the average of the normal curvatures:

(1)

Expressing the normal curvature in terms of the principal curvatures, KN (B) =


K1cos 2(B) + K2sin2(B), leads to the well-known definition: KH = (K1 + K2)/2.
The Gaussian curvature KG is defined as the product of the two principle
curvatures:
(2)
These latter two curvatures represent important local properties of a sur-
face. Lagrange noticed that KH = 0 is the Euler-Lagrange equation for surface
area minimization. This gave rise to a considerable body of literature on mini-
mal surfaces and provides a direct relation between surface area minimization
and mean curvature flow:
VA
2KH n = lim
diam(A)--tO A
Discrete Differential-Geometry Operators for Triangulated 2-Manifolds 39

where A is a infinitesimal area around a point P on the surface, diam(A) its


diameter, and \7 is the gradient with respect to the (x, y, z) coordinates of P.
We will make extensive use of the mean curvature normalliH n. Therefore,
we will denote by K the operator that maps a point P on the surface to
the vector K(P) = 2IiH(P) n(P). K is also known as the Laplace-Beltrami
operator for the surface S. Note that in the remainder of this paper we
will make no distinction between an operator and the value of this operator
at a point as it will be clear from context. Gaussian curvature can also be
expressed as a limit:
IiG = lim (3)
diam(A)-+O A
where A9 is the area of the image of the Gauss map (also called the spherical
image) associated with the infinitesimal surface A. The above definitions, as
well as many more details, can be found in various sources on Differential
Geometry [10, 4].

(a) (b) (c)


Fig. 2. Local regions: (a) an infinitesimal neighborhood on a continuous surface
patch; (b) a finite-volume region on a triangulated surface using Voronoi cells, or
(c) Barycentric cells.

2.2 Discrete Properties as Spatial Averages

Most of the smooth definitions described above need to be reformulated for CO


surfaces. We can consider a mesh as either the limit of a family of smooth sur-
faces, or as a linear (yet assumedly "good") approximation of an arbitrary
surface. We define properties (geometric quantities) of the surface at each
vertex as spatial averages around this vertex. If these averages are made con-
sistently, and given a few assumptions such as non-degeneracy of the triangle
mesh, a property at a given vertex will converge to the pointwise definition
as the local sampling increases. Thus, by using these spatial averages, we ex-
tend the definition of curvature or normal vector from the continuous case to
discrete meshes. Moreover, this definition is appropriate when, for example,
geometric flows must be integrated over time on a mesh as a vertex will be
updated according to the average behavior of the surface around it. There-
fore, the piecewise linear result of the flow will be a correct approximation of
40 Mark Meyer, Mathieu Desbrull, Peter Schroder, and Alan H. Barr

the smoothed surface if the initial triangle mesh was a good approximation
of the initial surface. Since we make no assumption on the smoothness of the
surface, we will restrict the average to be within the immediately neighboring
triangles, often referred as the I-ring or star neighborhood. For example, we
define the discrete Gaussian curvature, K,Q, at a vertex Pas:

where A is a properly selected area around P. Note however that we will not
distinguish between the (continuous) pointwise and the (discrcte) spatially
averaged notation, except when there may be ambiguity.

2.3 General Procedure Overview

The next three sections describe how we derive accurate numerical estimates
of the first and second order operators at any vertex on an arbitrary mesh.
We fin;t restrict the averaging area to a family of special local surface patches
denoted AM. These regions will be contained within the I-ring neighborhood
of each vertex, with piecewise linear boundaries crossing the mesh edges at
their midpoints (Figures 2(b) and (c)). We show that this choice guaran-
tees correspondences between the continuous and the discrete case. We then
find the precise surface patch that optimizes the accuracy of our operators,
completing the operator derivation. These steps will be explained in detail
for the first operator, the mean curvature normal operator, K, and a more
direct derivation will be used for the Gaussian curvature operator "Q, the
two principal curvature operators "1 and "2, and the two principal direction
operators e1 and e2. All these operators take a vertex Xi and its I-ring ncigh-
borhood as input, and provide an estimate in the form of a simple formula
that we will frame for clarity.

3 Discrete Mean Curvature Normal

We now provide a simple and accurate numerical approximation for both the
normal vector, and the mean curvature for surface meshes in 3D.

3.1 Derivation of Local Integral using FE/FV

To derive a spatial average of geometric properties, we use a systematic ap-


proach which mixes finite elements and finite volumes. Since the triangle mesh
is meant to visually represent the surface, we select a linear finite element
on each triangle, that is, a linear interpolation between the three vertices
corresponding to each triangle. Then, for each vertex, an associated surface
patch (so-called finite volume in the l\Iechanics literature), over which the
Discrete Differential-Geometry Operators for Triangulated 2-Manifolds 41

average will be computed, is chosen. Two main types of finite volumes are
common in practice, see Figure 2(b-c). In each case, their piecewise linear
boundaries connect the midpoints of the edges emanating from the center
vertex and a point within each adjacent triangle. For the point inside each
adjacent triangle, we can use either the barycenter or the circumcenter. The
surface area formed from using the barycenters is denoted ABarycenter while the
surface area using the circumcenters is recognized as the local Voronoi cell
and denoted Avorono;. In the general case when this point could be anywhere,
we will denote the surface area as AM.
We now wish to compute the integral of the mean curvature normal
over the area AM. Since the mean curvature normal operator, also known
as Laplace-Beltrami operator, is a generalization of the Laplacian from fiat
spaces to manifolds [4], we first compute the Laplacian of the surface with
respect to the conformal space parameters u and v. As in [7] and [22], we
use the current surface discretization as the conformal parameter space, that
is, for each triangle of the mesh, the triangle itself defines the local surface
metric. With such an induced metric, the Laplace-Beltrami operator simply
turns into a Laplacian .1u,vx = Xuu + Xvv [4]:

11M K(x) dA = - 11M .1u ,v x du dv. (4)

Using Gauss's theorem as described in the Appendix, the integral of the


Laplacian over a surface going through the midpoint of each I-ring edge of a
triangulated domain can be expressed as a function of the node values and
the angles of the triangulation. The integral of the Laplace-Beltrami operator
thus reduces to the following simple form:

where aij and f3ij are the two angles opposite to the edge in the two triangles
sharing the edge (Xi,Xj) as depicted in Figure 3(a), and N 1 (i) is the set of
I-ring neighbor vertices of vertex i.
Note that this equation was already obtained by minimizing the Dirichlet
energy over a triangulation in [22]. Additionally, it is exactly the formula
established in [5] for the gradient of surface area for the entire I-ring neigh-
borhood. This confirms, in the discrete setting, the area minimization nature
of the mean curvature normal as derived by Lagrange. We can therefore ex-
press our previous result using the following general formula, valid for any
triangulation:
11M K(x)dA = \7 A I - dng • (6)

where AI_r;ng is the I-ring area around a vertex P, and \7 is the gradient with
respect to the (x, y, z) coordinates of P.
42 Mark Meyer, Mathieu Desbrun, Peter Schroder, and Alan H. Barr

Notice that the formula results in a zero value for any flat triangulation,
regardless of the shape or size of the triangles of the locally-flat (zero curva-
ture) mesh since the gradient of the area is zero for any locally fiat region.
Although we have found an expression for the integral of the mean curva-
ture normal independent of which of the two finite volume discrctizations is
used, one finite volume region must be chosen in order to provide an accurate
estimate of the spatial average. We show in the next section that Voronoi
cells provide provably tight error bounds under reasonable assumptions of
smoothness.

3.2 Voronoi Regions for Tight Error Bounds

We now show that using Voronoi regions provides provably tight error bounds
for the discrete operators by comparing the local spatial average of mean
curvature with the actual pointwise value. Given a C2 surface tiled by small
patches Ai around n sample points Xi, we can define the error E created
by local averaging of the mean curvature normal compared to its pointwise
value at Xi as:

E = L, flIIK(x) - K(Xi)11 2
dA

:S L 11 C;llx - xil1
, [,4,
2 dA

where Ci is the Lipschitz constant of the Beltrami operator over the smooth
surface patch Ai, and Cma.x the maximum of the Lipschitz constants. The
Voronoi region of each sample point by definition minimizes Ilx - Xi I since
they contain the closest points to each sample, thus minimizing the bound
on the error E due to spatial averaging [3]. Furthermore, if we add an extra
assumption on the sampling rate with respect to the curvature such that
the Lipschitz constants from patch to patch vary slowly with a ratio E, we
can actually guarantee that the Voronoi cell borders are less than O( E) away
from the optimal borders. As this still holds in the limit for a triangle mesh,
we use the vertices of the mesh as sample points, and pick the Voronoi cells
of the vertices as associated finite-volume regions. This will guarantee op-
timized numerical estimates and, as we will see, determining these Voronoi
cells requires few extra computations.

3.3 Voronoi Region Area

Given a non-obtuse triangle P, Q, R with circumcenter 0, as depicted in


Figure 3(b), we must now compute the Voronoi region for P. Using the prop-
erties of perpendicular bisectors, we find : (L + b + c = 'if / 2, and therefore, (L =
Discrete Differential-Geometry Operators for Triangulated 2-Manifolds 43

,
,, ,,
(- - ,, ,
,,
,

(a) (b) (c)


Fig. 3. (a) 1-ring neighbors and angles opposite to an edge; (b) Voronoi region on
a non-obtuse triangle; (c) External angles of a Voronoi region.
7r /2 - LQ and c = 7r /2 - LR. The Voronoi area for point P lies within this tri-
angle if the triangle is non-obtuse, and is thus: ~ (lP RI 2 coUQ+ IPQ I2 coUR).
Summing these areas for the whole I-ring neighborhood, we can write the
non-obtuse Voronoi area for a vertex Xi as a function of the neighbors Xj:

A vownoi = ~ L (cot aij + cot (3ij) IIXi - Xj112. (7)


jEN , (i)

Since the cotangent terms were already computed for Eq. (5), the Voronoi
area can be computed very efficiently. However , if there is an obtuse triangle
among the I-ring neighbors or among the triangles edge-adjacent to the I-ring
triangles , the Voronoi region either extends beyond the I-ring, or is truncated
compared to our area computation. In either case our derived formula no
longer stands.

3.4 Extension to Arbitrary Meshes

The previous expression for the Voronoi finite-volume area does not hold in
the presence of obtm,e angles. However, the integral of the Laplace-Beltrami
operator given in equation (6) holds even for obtuse I-ring neighborhoods -
the only assumption used is that the finite-volume region goes through the
midpoint of t he edges. It is thus still valid even in obtuse triangulations.
Therefore, we could simply divide the integral evaluation by the barycenter
finite-volume area in lieu of t he Voronoi area for vertices near obtuse angles
to determine the spatial average value. We use a slightly more subtle area, to
guarantee a perfect tiling of our surface, and therefore, optimized accuracy
as each point on the surface is counted once and only once. We define a new
surface area for each vertex x , denoted A M ix e d: for each non-obtuse triangle, we
use the circumcenter point, and for each obtuse triangle, we use the midpoint
of the edge opposite to the obtuse angle. Algorithmically, this area around
a point x can be easily computed as detailed in Figure 4. Note that the
derivation for the integral of the mean curvature normal is still valid for
this mixed area since the boundaries of the area remain inside the I-ring
neighborhood and go through the midpoint of each edge. Moreover, these
44 Mark Meyer, Mathieu Desbrun, Peter Schroder, and Alan H. Barr

mixed areas tile the surface without overlapping. This new cell definition
is equivalent to a local adjustment of the diagonal mass matrix in a finite
element framework in order to ensure a correct evaluation. The error bounds
are not as tight when local angles are more than 1f /2, and therefore, numerical
experiments are expected to be worse in areas with obtuse triangles.
AMixed =0
For each triangle T from the I-ring neighborhood of x
If T is non-obtuse, I I Voronoi safe
II Add Voronoi formula (see Section 3.3)
AMixed+ = Voronoi region of x in T

Else I I Voronoi inappropriate


II Add either area(T)/4 or area(T)/2
If the angle of T at x is obtuse
AMixed+ = area(T)/2
Else
AMixed+ = area(T)/4
Fig. 4. Pseudo-code for region AMixed on an arbitrary mesh

3.5 Discrete Mean Curvature Normal Operator

Now that the mixed area is defined, we can express the mean curvature nor-
mal operator K defined in Section 2.1 using the following expression:

K(Xi) =
1
2AMixed
L (cot aij + cot (3ij) (Xi - Xj) (8)
jEN1(i)

From this expression, we can easily compute the mean curvature value
by taking half of the magnitude of this last expression. As for the normal
/'i,H
vector, we can just normalize the resulting vector K(Xi)' In the special (rare)
case of zero mean curvature (flat plane or local saddle point), we simply
average the I-ring face normal vectors to evaluate n appropriately.
It is interesting to notice that using the barycentric area as an averaging
region results in an operator very similar to the definition of the mean cur-
vature normal by Desbrun et al. [5], since ABarycenter is a third of the whole
I-ring area AI-ring used in their derivation - however, our new derivation uses
non-overlapping regions and is therefore more accurate. At this time, we are
not aware of a proof of convergence for this operator. However, our tests have
shown no divergence as we refine a mesh, as long as we do not degrade the
mesh quality (the triangles must not degenerate). We will give more precise
numerical results in Section 6.1 showing the improved quality of our new
estimate.
Discrete Differential-Geometry Operators for Triangulated 2-Manifolds 45

4 Discrete Gaussian Curvature

In this section, the Gaussian curvature KG for bivariate (2D) meshes embed-
ded in 3D is studied. We will demonstrate that a derivation similar to the
above is easily obtained.

4.1 Expression of the Local Integral of "'G

Similar to what was done for the mean curvature normal operator, we first
need to find an exact value of the integral of the Gaussian curvature KG over
a finite-volume region on a piecewise linear surface. From Eq. (3), we could
compute the integral over an area AM as the associated spherical image area
(also called the image of the Gauss map). Instead, we use the Gauss-Bonnet
theorem [4,10,1] which proposes a very simple equality, valid over any surface
patch. Applied to our local finite-volume regions, the Gauss-Bonnet theorem

J1
simply states:

!AM
KG dA = 27r - Lj
Ej

where the Ej are the external angles of the boundary, as indicated in Fig-
ure 3(c). Note that this simplified form results from the fact that the integral
of geodesic curvature on the piece-wise linear boundaries is zero. If we apply
this expression to a Voronoi region, the external angles are zero across each
edge (since the boundary stays perpendicular to the edge), and the external
angle at a circumcenter is simply equal to ()j, the angle of the triangle at the
vertex P. Therefore, the integral of the Gaussian curvature (also called total
curvature) for non-obtuse triangulations is: 27r - L: j ()j. This result is still
valid for the mixed region and is proven using a similar geometric argument.
This result was already proven by Polthier and Schmies [24], who considered
the area of the image of the Gauss map for a vertex on a polyhedral surface.
Therefore, analogous to Eq. (6), we can now write for the I-ring neighborhood
of a vertex Xi:

J1 !AM
KGdA = 27r -
#f
L ()j
j=1

where ()j is the angle of the j-th face at the vertex Xi, and #f denotes the
number of faces around this vertex. Note again that this formula holds for
any surface patch AM within the I-ring neighborhood whose boundary crosses
the edges at their midpoint.

4.2 Discrete Gaussian Curvature Operator

To estimate the local spatial average of the Gaussian curvature, we use the
same arguments as in 3.2 to claim that the Voronoi cell of each vertex is an
46 Mark Meyer, Mathieu Desbrun, Peter Schroder, and Alan H. Barr

(a) (b) (c) (d)


Fig. 5. Curvature plots of a triangulated saddle using pseudo-colors: (a) Mean, (b)
Gaussian, (c) Minimum , (d) Maximum.

appropriate local region to use for good error bounds. In practice, we use the
mixed area A Mixed to account for obtuse triangulations. Since t he mixed area
cells tile the whole surface without any overlap, we will satisfy the (continu-
ous) Gauss-Bonnet theorem: the integral of the discrete Gaussian curvature
over an entire sphere for example will be equal to 41f whatever the discretiza-
tion used since the sphere is a closed object of genus zero. This result ensures
a robust numerical behavior of our discrete operator. Our Gaussian curvature
discrete operator can thus be expressed as:

#f
""G(Xi) = (21f - 2)1j)/AMixed (9)
j= l

Notice that this operator will return zero for any fiat surface, as well as any
roof-shaped I-ring neighborhood, guaranteeing a satisfactory behavior for
trivial cases. Note also that convergence conditions (using fatness or straight-
ness) exist for this operator [8 , 26], proving that if the triangle mesh does not
degenerate, the approximation quality gets better as the mesh is refined . We
postpone numerical tests until Section 6.l.

5 Discrete Principal Curvatures

We now wish to robustly determine the two principal curvatures, along with
their associated directions. Since the previous derivations give estimates of
both Gaussian and mean curvature, the only additional information that
must be sought are the principal directions since the principal curvatures
are, as we are about to see, easy to determine.

5.1 Principal Curvatures

We have seen in Section 2.1 that the mean and Gaussian curvatures are easy
to express in terms of the two principal curvatures ""1 and ""2. Therefore , since
both ""H and ""G have been derived for triangulated surfaces , we can define
the discrete principal curvatures as:
Discrete Differential-Geometry Operators for Triangulated 2-Manifolds 47

K:l(X'i) = I'£H(Xi) + J .:1(Xi) (10)


1'£2(Xi) = I'£H(Xi) - J .:1(Xi) (11)

Unlike the continuous case where .:1 i8 always positive, we must make
sure that 1'£'iI is always larger than 1',0 to avoid any numerical problems, and
thre8hold .:1 to zero if it is not the case (an extremely rare occurrence).

5.2 Mean Curvature as a Quadrature

In order to determine the principal axes at a vertex, we will first show that
the mean curvature from our previous expression can be interpreted as a
quadrature of normal curvature samples:

1 1
I'£H(Xi) = "2 (2I'£H(xi)n) . n = "2 K (Xi) . n

4A
1
. L (cot Gij + cot (3ij) (Xi - Xi) . n
Mixed JENdi)

where we define:
N (Xi - Xj) . n
I'£i ..i = 2 I Xi - Xj 112 .

This I'£;:'i can be 8hown to be an estimate of the normal curvature in the direc-
tion of the edge XiXj' The radius R of the o8culating circle going through the
vertices Xi and Xj is easily found u8ing the mean curvature normal e8timate
as illustrated in Figure 9(a). Since we must have a right angle at the neighbor
vertex xi, we have (Xi - Xj) . (Xi - Xj - 2R n) = O. Thi8 implie8:

R= Ilxi - Xj 11 2 /(2 (Xi - Xj) . n)


This proves that I'£f,j is a normal curvature estimate in the direction of the
edge XiXj (as it is the inverse of the radius of the osculating circle). This
expression was also used in the context of curvature approximation in [19]
and [25].
Therefore, Eq. (12) can be interpreted as a quadrature of the integral
from Eq. (1), with weights Wij:
48 Mark Meyer, Mathieu Desbrun, Peter Schroder, and Alan H. I3arr

"'H(Xd = L Wi] "'G,


JEN,(i)

where the Wij = AM~xed [k(cot Qj + cot (3j ) Ilxi - xj112] sum to one for each i
on a non-obtuse triangulation.

5.3 Least-Square Fitting for Principal Directions

In order to find the two orthogonal principal curvature directions we can


simply compute the eigenvectors of the curvature tensor. Since the mean
curvature obtained from our derivation can be seen as a quadrature using
each edge as a sample direction, we use these samples to find the best fitting
ellipse, in order to fully determine the curvature tensor. In practice, we select
the symmetric curvature tensor B as being defined by three unknowns a, b, c:

This tensor will provide the normal curvature in any direction in the tan-
gent plane. Therefore, when we use the direction of the edges of the I-ring
neighborhood, we should find:

N
= ""i,j'

where di,j is the unit direction in the tangent plane of the edge XiXj' Since
we know the normal vector n to the tangent plane, this direction is calculated
using a simple projection onto the tangent plane:

d ._ (Xj - Xi) - [(Xj - Xi) . nl n


',J - II(xj - Xi) - [(Xj - Xi)' nl nil
A conventional least-square approximation can be obtained by minimizing
the error E:

E(a, b, c) = L
j
Wj ( d7,j B d i ,] - "'G f
Adding the two constraints a + b = 2"'H and ac - b2 = "'c, to ensure coher-
ent results, turns the minimization problem into a third degree polynomial
root-finding problem. Once the three coefficients of the matrix B are found,
we find the two principal axes el and e2 as the two (orthogonal) eigenvectors
of B. In practice, all our experiments have demonstrated that the non-linear
constraint on the determinant is not necessary (reducing the problem to a lin-
ear system). An example of these principal directions is shown in Figure 1 (b)
(Color Plate 23(b) on page 439).
Although we could actually determine the principal curvatures (and thus
the mean and gaussian curvaturm,) using an unconstrained least squares pro-
cedure, we use our operators to compute the curvatures and only use the
Discrete Differential-Geometry Operators for Triangulated 2-Manifolds 49

least squares for the principal directions as the curvature values computed
from the least squares are often less accurate in practice while the directions
are fairly robust. A plausible interpretation for the bad numerical properties
of a pure least squares approach is the hypothesis of elliptic curvature vari-
ation: although this is perfectly valid for smooth surfaces, this is somewhat
arbitrary for coarse, triangulated surfaces. It seems therefore more natural to
use our previous operators that rely on differential properties still valid on
discrete meshes.

6 Results and Applications


With robust curvature estimates at our disposal, we demonstrate some useful
applications such as quality checking for surface design and tools for smooth-
ing and enhancement of meshes. We first demonstrate the numerical quality
of our operators.

6.1 Numerical Quality of our Operators

We performed a number of tests to demonstrate the accuracy of our approach


in practice. First, we compared our operators to the well-known second-order
accurate Finite Difference operators on several discrete meshes approximating
simple surfaces such as spheres, or hyperboloids, where the curvatures are
known analytically. In order to do so, we used special surfaces defined as
height fields over a fiat, regular grid so that the FD operators can be computed
and tested against our results. The table below lists some representative
results:
%error FD KH [DMSB99] KH our KH FD KG our KG
Sphere patch 0.20 0.17 0.16 0.4 1.2
Paraboloid 0.0055 0.0038 0.0038 0.01 0.02
Torus (irregular) - 0.047 0.036 - 0.05
Table 1. Companson of our operators w~th Fm~te D~fferences. The error is mea-
sured in mean percent error compared to the exact, known curvature values. Dashes
"-" indicate that the FD tests cannot be performed since the triangulation is irreg-
ular. The angles OJ needed for the Gaussian curvature were computed using the C
function atan2, instead of acos or asin since acos and asin would significantly
deteriorate the precision of the results.

Overall, the numerical quality of our operators is equivalent to FD op-


erators for regular sampling. A major advantage of our new operators over
FD operators is that these differential-geometry based operators can still be
used on irregular sampling, with the same order of accuracy.
We also tested our operators against one of the most widely used curva-
ture estimation techniques [25]. We tested several simple surfaces (spheres,
parametric surfaces, etc.) to determine the effect of sampling on the opera-
tors. The surfaces were created with 258 points, quadrisected and reprojected
50 Mark Meycr, Mathieu Desbrun, Peter Schroder, and Alan H. I3arr

to create surfaces of 1026, 4098 and 16386 points. In all cases, the average
percent error of our operators did not exceed 0.07% for mean curvature and
l.3% for gaussian curvature. The previous method had average errors of up
to l.8% for mean curvature and exceeding 10% in some instances for gaussian
curvature.
Finally, we tested the effects of irregularity on the operators. In irregular
areas of the surfaces (such as the area joining two regions of different sam-
pling rates), our operators performed with the same order of accuracy as in
the fairly regular regions (less than 0.2% average error for mean curvature
and below l.8% average error for gaussian curvature in regions of mild irreg-
ularity). The accuracy of our operators decreases as the irregularity (angle
and edge length dispersion) increases, but, in practice, the rate at which the
error increase8 is low.

6.2 Geometric Quality of Meshes

Producing high quality meshes is not an easy task. Checking if a given mesh
is appropriately smooth requires a long inspection with directional or point
light sources to detect any visually unpleasant discontinuities on the surface.
Curvature plots (see Figure 5 and Color Plate 24 on page 439), using false
color to texture the mesh according to the different curvatures, can immedi-
ately show problems or potential problems since they will reveal the variation
of curvatures in an obviou8 way. Figure 6 demonstrates that even if a surface
(obtained by a subdivi8ion scheme) looks very smooth, a look at the mean
curvature map reveals flaws such as discontinuities in the variation of curva-
ture across the surface. Conversely, curvature plots can reveal unsuspected
details on existing scanned meshes, like the veins on the horse.

6.3 Denoising and Enhancement of a Mesh

If the quality of a mesh is not sufficient (due to noise resulting from inaccurate
scans for instance), denoising and enhancements can be performed using our
discrete operators.

Isotropic Shape Smoothing Just like Laplacian filtering in image pro-


cessing, a mean curvature flow will disperse the noise of a smooth mesh
appropriately by minimizing the surface area as reported in [5]. We imple-
mented thi8 implicit fairing technique using our new operators with success.
However, since our mesh can represent a surface with sharp edges, we some-
times experienced a dilemma: how can one get rid of the noise by smoothing
the surface, while preserving sharp edges to keep the underlying geometry
intact? We would like to smooth a noisy cube, for example, without turning
it into a cushion-like shape (Figure 7(a) and (b)). A possible solution is to
manually spray-paint the desired value of 8moothing on the vertices [5], mak-
ing the preservation of sharp edges possible while suppressing noise. But it is
Discrete Differential-Geometry Operators for Triangulated 2-Manifolds 51

(a) (b) (c)


Fig. 6. M ean ClLrvatlLre plots revealing slLrface details for: (a) a Loop sm/ace from
an 8-neighbor T'ing, (b) a horse mesh, (c) a noisy m esh obtained from a 3D scan-
ner and the same mesh after smoothing, OlLr operator performs well on irreglLlar
sampling slLch as on the ear of the horse, Notice also how the operator correctly com-
plLtes qlLickly varying ClLrvatlLres on the noisy head while retlLrning slowly varying
ClLrvatlLres on the smoothed version,

(a) (b) (c)


Fig. 7. ClLbe: (a) Original, noisy mesh (±3% lLniform noise added along the nor-
mal d'irection), (b) Isotropic smooth'ing, (c) Anisotropic smoothing defined in Sec-
t'ion 6,3,

a rather time-consuming task for big meshes, and it will leave ragged edges
on the vertices forced to a low smoothing amount.

Enhancement of Meshes We would like to automate the previous process,


providing a way to smooth meshes while keeping clear features (like sharp
edges) intact, This relates closely to the specific problem of image denoising,
where clear features like object boundaries should be kept , while noisy, yet
homogeneous regions should be smoothed, Different forms of anisotropic dif-
fusion have shown good results for this problem in image processing [21], in
flow visualization [23], and more recently on meshes too [2]. The underlying
idea is to still diffuse the noise, but with an adaptive conductance over the
image in order to preserve edges. We experimented with a simple technique
to achieve similar results on meshes. Additionally, an enhancement procedure
to help straighten edges has been designed.
52 Mark Meyer, Mathieu Desbrun, Peter Schroder, and Alan H. Barr

An isotropic implicit curvature flow on regions uniformly noisy is desired,


while special treatment must be applied for obvious edges and corners to pre-
vent them from being smoothed away. In our previous work [6], we proposed
a weighted mean curvature smoothing, where the weights are computed using
the first fundamental form to preserve height field discontinuities. However,
even if such an approach is appropriate for height fields, it does not capture
enough information to perform adequately on a general mesh. The second
fundamental form, i.e., local curvature, provides more information on the
local variations of the surface, and therefore, will be more accurate for the
weighting.

An Anisotropic Smoothing Technique Most of the meshes acquired from


real object scans contain corners and ridges, which will be lost if isotropic
denoising is used. Therefore, if these sharp edges are necessary features of a
noisy mesh, the noise should be only directionally diffused in order to keep the
characteristics intact. Presence of such features can be determined using the
second-order properties of the surface. Indeed, in the case of an edge between
two faces of a cube mesh, the minimum curvature is zero along the edge, while
the maximum curvature is perpendicular to this edge. An immediate idea is
to perform a weighted mean curvature flow that penalizes vertices that have
a large ratio between their two principal curvatures. This way, clear features
like sharp edges will remain present while noise, more symmetric by nature,
will be greatly reduced.
We define the smoothing weight at a vertex Xi as being:

1
1 if 1/\;11 :S T and 1/\;21 :S T
o if 1/\;11> T and 1/\;21 > T and /\;1/\;2> 0
Wi = /\;I!/\;H if 1K:11 = min(IK:11, 1K:21, IK:HI)
K:2/K:H if 1K:21 = min(IK:11, 1K:21, IK:HI)
1 if IK:HI = min(IK:11, 1K:21, IK:HI)

The parameter T is a user defined value determining edges. The general


smoothing flow is then: oxdat = -Wi K:H(Xi) n(xi)' As we can see, uniformly
noisy regions (cases 1 and 5 in the weight definition given above) will be
smoothed isotropic ally, while corners (case 2) will not move. For edges (cases
3 and 4), we smooth with a speed proportional to the minimum curvature,
to be assured not to smooth ridges. The caveat is that this smoothing is no
longer well-posed: we try to enhance edges, and this is by definition a very
unstable process. Pre-mollification techniques have been reported successful
in [23], and should be used in such a process. However, we have had good
results by just thresholding the weights Wi to be no less than -0.1 to avoid
strong inverse diffusion, and using implicit fairing to integrate the flow. As
Figure 7 demonstrates, a noisy cube can be smoothed and enhanced into an
almost perfect cube using our technique. For more complicated objects (see
Figure l(c-d) and Color Plate 23(c-d) on page 439), a pass of curve smoothing
Discrete Differential-Geometry Operators for Triangulated 2-Manifolds 53

(also using implicit curvature flow) has been added to help straighten the
edges.

7 Discrete Operators in nD

Up to this point , we defined and used our geometric operators for bivariate
(2D) surfaces embedded in 3D. However, since they were derived in a di-
mensionless manner, our operators generalize easily to any embedding space
dimensionality. The extension of our geometric operators to higher dimen-
sional embedding spaces allows us to use the same smoothing technology
used on meshes for vector fields or tensor images. To demonstrate the prac-
tical accuracy of our operator, we performed different smoothings on higher
dimensional spaces. For instance, Figure 8 demonstrates how our operators
can smooth a vector field , with or without preservation of features. As shown,
anisotropic smoothing can indeed preserve significant discontinuities such as
the boundary between the straight flow and the vortex, just as we preserved
edges during mesh smoothing in 3D.

----------------
-_
----- -------
...... . .- .- , ,---
, , ,,----..
......... \ , ; • , t, ,,_-----.

" ,,, - ...

_-
...... " " . ' 1"", _ _

-_---------------
- ..... \ \ 1 · · ' , / .... _ -
-", ....
---_ _-
... - " , / '
................ , .... -",,"'-'---
...... .............

(a) (b) (c)


Fig. 8. Vector field denoising: (a) Original, noisy vector field; (b) Smoothed us-
ing B eltrami flow; (c) Smoothed using anisotropic weighted flow to automatically
preserve the vortex region.
We can also extend the previous mean curvature normal operator, valid
on triangulated surfaces, to tetrahedralized volumes which are 3-parameter
volumes in an embedding space of arbitrary dimension (see [17] for a detailed
derivation) . This can be used , for example, on any MRI volume data (inten-
sity, vector field or even tensor fields). For these 3-manifolds, we can compute
the gradient of the I-ring volume this time to extend the Beltrami operator.
Once again, the cotangent formula turns out to be still valid, but this time
for the dihedral angles of the tetrahedrons. This Beltrami operator can still
be used to denoise volume data as it minimizes volume just as we denoised
meshes through a surface area minimization.
54 Mark Meyer, Mathieu Desbrun, Peter Schroder, and Alan H. Barr

8 Conclusion

A complete set of accurate differential operators for any triangulated surface


has been presented. We consistently derived estimates for normal vectors and
mean curvatures (Eq. (8)), Gaussian curvatures (Eq. (9)), principal curva-
tures (Eq. (10) and (11)), and principal directions (Section 5.3), and numer-
ically showed their quality. Extended versions of our operator for surfaces
and volumes in higher dimension embedding spaces have also been provided.
Our operators perform as well as established methods such as Finite Differ-
ences in the regular setting and degrade gracefully as irregularity is increased.
Moreover, we described how to use these simple, local operators to denoise ar-
bitrary meshes or vector fields, including preservation and/ or enhancement of
features. These methods form a family of robust tools to help with processing
noisy data, or simply to build a scale space out of a dataset to offer an adap-
tive description of the data. With little user interaction to select (and direct)
the appropriate tools, noisy scanned meshes can be turned into high-quality
meshes, vector fields can be smoothed to later segment the general flow, or
MRI multi-valued images can be denoised. However, smoothing techniques do
not deal well with large amounts of noise. Multiplicative noise, for example,
can create large dents in a dataset, that only statistical techniques using local
averages of n neighbors can try to deal with [20], often without guarantee of
success. Yet we believe that, as in image processing, our framework can give
rise to other anisotropic diffusion equations particularly designed for specific
noise models.
We have confidence in the adequacy and efficiency of our simple discrete
operators in other surface-based applications. The mean curvature normal
operator for instance can be easily applied to function values on the sur-
face, and it will define a Laplacian operator for the "natural" metric of the
mesh. We are currently exploring other applications of these operators such
as reparameterization, remeshing, geometry based subdivision schemes, and
mesh simplification along the lines of [13].
Future work will try to answer some of the open questions. For instance,
we are trying to determine what would be the minimum sampling rate of
a continuous surface to guarantee that our discrete estimates are accurate
within a given f - laying the foundations for an irregular sampling theory.
More generally, we would like to extend well known digital signal processing
tools and theorems to digital geometry.

Acknowledgements This work waD Dupported in part by the STC for Com-
puter Graphics and Scientific Visualization (ASC-89-20219), IMSC - an
NSF Engineering Research Center (EEC-9529152), an NSF CAREER award
(CCR-0133983), NSF (DMS-9874082, ACI-9721349, DMS-9872890, and ACI-
9982273), the DOE (W-7405-ENG-48/B341492), Intel, AliaD~Wavefront,
Pixar, Microsoft, and the Packard Foundation.
Discrete DifFerential-Geometry Operators for Triangulated 2-Manifolds 55

References
1. A. D. Aleksandrov and V. A. Zalgaller. Intrinsic Geornetr'Y of Surfaces. AMS,
Rhode Island, USA, 1967.
2. U. Clarenz, U. Diewald, and M. Rumpf. Anisotropic Geometric Diffusion in
Surface Processing. In IEEE Vistwlization, pages 397 -405, 2000.
3. Qiang Du, Vance Faber, and Max Gunzburger. Centroidal Voronoi Tessela-
tions: Applications and Algorithms. SIAM Review, 41(4):637-676, 1999.
4. Ulrich Dierkes, Stefan Hildebrandt, Albrecht Kiister, and Ortwin \Vohlrab.
Minimal Snrfaces (I). Springer-Verlag, 1992.
5. Mathieu Desbrun, Mark Meyer, Peter Schroder, and Alan H. Barr. Implicit
Fairing of Irregular Meshes using Diffusion and Curvature Flow. In SIG-
GRAPH 99 Conference Proceedings, pages 317-·324, 1999.
6. Mathieu Desbrun, Mark Meyer, Peter Schroder, and Alan H. Barr. Anisotropic
Feature-Preserving Denoising of Height Fields and Images. In Graphics Inter-
face'2000 Conference Proceedings, pages 145-152, 2000.
7. G. Dziuk. An Algorithm for Evolutionary Surfaces. Nurner. Math., 58, 1991.
8. J. Fu. Convergence of Curvatures in Secant Approximations. Jonrnal of Dif-
ferential Geometry, :37:177-190, 1993.
9. Michael Garland and Paul S. Heckbcrt. Surface Simplification Using Quadric
Error Metrics. In SIGGRAPH 97 Conference Proceedings, pages 209 -216,
August 1997.
10. Alfred Gray. Modem D'ifferential Geometry of Curves and Snrfaces with Math-
ematica. CRC Press, 1998.
11. Igor Guskov, \Vim Sweldens, and Peter Schroder. Multiresolution Signal Pro-
cessing for Meshes. Tn SIGGRAPH 99 Conference Proceedings, pages 325-334,
1999.
12. Bernd Hamann. Curvature Approximation for Triangulated Surfaces. In
G. Farin et al., editor, Geometric Modelling, pages 139-15:3. Springer Verlag,
1993.
13. Paul S. Heckbert and Michael Garland. Optimal Triangulation and Quadric-
Based Surface Simplification. Journal of Computational Geometry: Theory
and Applications, November 1999.
14. J. M. Hyman and M. Shashkov. Natural Discretizations for the Divergence,
Gradient and Curl on Logically Rectangular Grids. Applied Nnmerical Math-
ematics, 25:413-442, 1997.
15. J. M. Hyman, M. Shashkov, and S. Steinberg. The numerical solution of
diffusion problems in strongly heterogenous non-isotropic materials. Journal
of Compntational Physics, 132:130 148, 1997.
16. Nelson Max. \Veights for Computing Vertex Normals from Facet Normals.
Journal of Graphics Tools. 4(2):1-6, 1999.
17. Mark Meyer. Differential Operators for Computer Graphics. Ph.D. Thesis,
Caltech, December 2002.
18. J.M. Morvan. On Generalized Curvatures. Pr'eprint, 2001.
19. Henry P. Moreton and Carlo H. Sequin. Functional Minimization for Fair
Surface Design. In SIGGRAPH 92 Conference Proceedings, pages 167-176,
July 1992.
20. R. Malladi and J.A. Sethian. Image Processing: Flows under Min/Max Curva-
ture and Mean Curvature. Graphical Models and Image Processing, 58(2):127-
141, March 1996.
56 Mark Meyer, Mathieu Desbrun, Peter Schroder, and Alan H. Barr

21. P. Perona and .I. Malik. Scale-space and Edge Detection Using Anisotropic
Diffusion. IEEE Transactions on Patter'n Analysis and Machine Intelligence,
12(7):629-639, July 1990,
22, Ulrich Pinkall and Konrad Polthier. Computing Discrete Minimal Surfaces
and Their Conjugates. Experimental Mathematics, 2(1):15-36, 1993.
23. T. PreuBer and M. Rumpf. Anisotropic Nonlinear Diffusion in Flow Visual-
ization. In IEEE Visual'ization, pages 323-332, 1999.
24. Konrad Polthier and Markus Schmies. Straightest Geodesics on Polyhedral
Surfaces. In H.C. Hege and K. Polthier, editors, Mathematical Visualization.
Springer Verlag, 1998.
25. Gabriel Taubin. Estimating the Tensor of Curvature of a Surface from a
Polyhedral Approximation. In Pmc. 5th Intl. Conf. on Computer Vision
(ICCV'95), pages 902-907, June 1995.
26, 13, Thibert and J.M. Morvan, Approximations of A Smooth Surface with a
Triangulated Mesh. Prepr'int, 2002.
27. Grit Thurmer and Charles Wuthrich. Computing Vertex Normals from Polyg-
onal Facets. Journal of Graphics Tools, 3(1):43-46, 1998.

Appendix

Mean Curvature Normal on a Triangulated Domain

In this section, we derive the integral of the mean curvature normal over a
triangulated domain. We begin by computing the integral of the Laplacian
of the surface point x with respect to the conformal parameter space. Using
Gauss's theorem, we call turll the integral of a Laplacian over a region into
a line integral over the boundary of the region:

J.1~Ir
e .1 u ,v x du dv = r
lOAM
V'u,vx, n U,V dl, (13)

where the subscript u, v indicates that the operator or vector must be with
respect to the parameter space.
Since we ai:)sumed our surface to be piecewise linear, its gradient V'u.vx is
constant over each triangle of the mesh. Ai:) a consequence, whatever the type
of finite-volume discretization we use, the integral of the normal vector along
the border aA~1 within a triangle will result in the same expression since
the border of both regions passes through the edge midpoints as sketched in
Figure 9(b). Inside a triangle T = (Xi,Xj,Xk), we can write:

where J.. denotes a counterclockwise rotation of 90 degrees.


Since the function x is linear over any triangle T, using the linear basis
functions B z over the triangle, it follows:
Discrete Differential-Geometry Operators for Triangulated 2-Manifolds 57

·c

XJ
(a) (b)
Fig. 9. (a) Osculating circle for edge XiXj . (b) The integration of the surface
gradient dotted with the norm.al of the region contour does not depend on the finite
volum.e discretization used.

x = Xi Bi(u, v) + Xj Bj(u, v) + Xk Bk(U, v)


'Vu ,vX = Xi 'Vu ,vBi(U, v) + Xj 'Vu,vBj(n, v) + Xk V,L,vBk(U, v)

Using the fact that the gradients of the 3 basis function8 of any triangle T
8um to zero and rearranging terms, the gradient of X over the triangle can be
expressed as 'Vu,vx = 21T
[(Xj-Xi) ( [Xi - Xk]t,v)T +(Xk-Xi) ([Xj - Xi]t,v)T],
where T denotes the transpose. Note that 'Vu ,vx is an n x 2 matrix - n for
the dimension of the embedding of X and 2 for the (11., v) space. The previous
integral can then be rewritten as:

r
J8An T
'Vu ,vx , nu ,v dl = Al [([Xi - Xk]' [Xj - Xk])u,v (Xj - Xi)
4 T
+([Xj - Xi] . [Xj - Xk])u,v (Xk - x;l].

Moreover, the area AT is proportional to the sine of any angle of the triangle.
Therefore, we can use the cotangent of the 2 angles opposite to Xi to simplify
the parameter space coefficients and write:

Combining the previous equation with Eq. (4) and (13), using the current
surface discretization as the conformal parameter space, and reorganizing
terms by edge contribution, we obtain:

11 K(x)dA=~
~M
L
JENdi)
(cotaij+Cot(3ij) (Xi-Xj)

where aij and (3ij are the two angles oppo8itc to the edge in the two triangles
sharing the edge (Xj,Xi) as depicted in Figure 3(a).

You might also like