Page 1

Department of Computer & Information Science

Technical Reports (CIS)

University of PennsylvaniaYear 2008

Construction of C?Surfaces from

Triangular Meshes Using Parametric

Pseudo-Manifolds

Marcelo Siqueira∗

Dianna Xu†

Jean H. Gallier‡

∗Universidade Federal de Mato Grosso do Sul

†Bryn Mawr College

‡University of Pennsylvania, jean@cis.upenn.edu

This paper is posted at ScholarlyCommons.

http://repository.upenn.edu/cis reports/877

Page 2

Construction of C∞Surfaces from Triangular Meshes Using

Parametric Pseudo-Manifolds

Marcelo SiqueiraDianna Xu

Departamento de Computac ¸˜ ao e Estat´ ısticaDepartment of Computer Science

Universidade Federal de Mato Grosso do SulBryn Mawr College

Campo Grande, MS 79002-204, BrazilBryn Mawr, PA 19010, USA

email: marcelo@dct.ufms.br

email: dxu@cs.brynmawr.edu

Jean Gallier

Department of Computer and Information Science

University of Pennsylvania

Philadelphia, PA 19104, USA

email: jean@cis.upenn.edu

Technical Report MS-CIS-08-14

University of Pennsylvania

Department of Computer and Information Science

Page 3

ACKNOWLEDGMENTS

This manuscript was the result of a collaborative work initiated at INRIA, Sophia-Antipolis, France, dur-

ing the summer of 2007. We are grateful to Nicholas Ayache and the members of the ASCLEPIOS group

for their hospitality.

Some people have read incomplete versions of the manuscript, pointed out several mistakes, and

given useful suggestions. In particular, we thank Dimas Mart´ ınez, Luis Gustavo Nonato, and Luiz Velho

for that. All of them are currently working with us on some extensions of the results described in this

manuscript. In addition, Luis Gustavo Nonato generated the curvature plots in Chapter 6. We are also

very grateful to Jos Stam for providing us with his own code for exact evaluation of Loop subdivision

surfaces.

Almost all triangle meshes used in the experiments described in this manuscript belong to the reposi-

tory of 3D digital models of the AIM@SHAPE project. We also relied upon several open source and freely

available softwares, such as MeshLab, Geomview, SurfRemesh and Blender, for preprocessing the tri-

angle meshes we used. Luiz Velho also provided us with a software for mesh simplification based on his

Four-Face Clusters algorithm.

Marcelo Siqueira would like to thank CNPq for partially supporting his research (Grant 475703/2006-

5).

i

Page 4

ABSTRACT

We present a new constructive solution for the problem of fitting a smooth surface to a given triangle

mesh. Our construction is based on the manifold-based approach pioneered by Grimm and Hughes.

The key idea behind this approach is to define a surface by overlapping surface patches via a gluing

process, as opposed to stitching them together along their common boundary curves. The manifold-

based approach has proved to be well-suited to fit with relative ease, Ck-continuous parametric surfaces

to triangle and quadrilateral meshes, for any arbitrary finite k or even k = ∞. Smooth surfaces generated

by the manifold-based approach share some of the most important properties of splines surfaces, such as

local shape control and fixed-sized local support for basis functions. In addition, the differential structure

of a manifold provides us with a natural setting for solving equations on the surface boundary of 3D

shapes.

Our new manifold-based solution possesses most of the best features of previous constructions. In

particular, our construction is simple, compact, powerful, and flexible in ways of defining the geometry of

the resulting surface. Unlike some of the most recent manifold-based solutions, ours has been devised to

work with triangle meshes. These meshes are far more popular than any other kind of mesh encountered

in computer graphics and geometry processing applications. We also provide a mathematically sound

theoretical framework to undergird our solution. This theoretical framework slightly improves upon the

one given by Grimm and Hughes, which was used by most manifold-based constructions introduced

before.

ii

Page 5

Contents

1Introduction1

2Background and Prior Work7

3 Mathematical Preliminaries 16

3.1 Simplicial Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16

3.2Topological Spaces and Homeomorphisms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.3 Manifolds. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.4Sets of Gluing Data for Manifolds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24

3.5Parametric Pseudo-Manifolds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.6 Statement of the Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34

4Building Sets of Gluing Data 35

4.1

p-Domains, Gluing Domains, and Transition Functions . . . . . . . . . . . . . . . . . . . . . 35

4.2Construction Correctness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45

5Building Parametrizations 51

iii

Page 6

5.1Parametric Pseudo-Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51

5.2Shape Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53

5.3Weight Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

5.4Parametrizations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

6Implementation and Experimental Results64

6.1Implementation Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64

6.1.1 The Augmented DCEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65

6.1.2 The Constructor tPPS::tPPS() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

6.1.3Transition Maps and Weight Functions . . . . . . . . . . . . . . . . . . . . . . . . . . 69

6.1.4 The Method tPPS::eval() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

6.2Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

7 Conclusion81

7.1On-going and Future Work. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

A Proofs and Counterexamples 93

A.1 Proofs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

A.2 The Cocycle and Hausdorff Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

iv

Page 7

List of Figures

1.1 Two parametric surface patches joining together along their common boundary. . . . . . . .3

2.1Illustration of the definition of a manifold. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8

2.2 Manifold and the World Atlas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9

2.3Illustration of p-domains, gluing domains, transition functions, and parametrizations. . . . 10

3.1Collections of simplices in R2. (a) and (b) are not simplicial complexes, but (c) is. . . . . . .18

3.2(a) A simplicial complex. (b) The star of vertex v in (a). (c) The link of vertex v in (a). . . . .19

3.3The 2-complex consisting of the proper faces of the two tetrahedra is not a simplicial surface. 19

3.4 Illustration of condition 3(c) of Definition 3.4.1. . . . . . . . . . . . . . . . . . . . . . . . . . .25

3.5 Illustration of condition 4 of Definition 3.4.1. . . . . . . . . . . . . . . . . . . . . . . . . . . .26

3.6 The quotient construction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.7The four cases of the proof of Condition (4) of Definition 3.4.1. . . . . . . . . . . . . . . . . .30

4.1A P-polygon (left) and its canonical triangulation (right). . . . . . . . . . . . . . . . . . . . .37

4.2The action of gvupon a point p ∈ Cv. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39

4.3The action of g(u,w)upon a point p ∈ Ωu− {(0,0)}. . . . . . . . . . . . . . . . . . . . . . . . .40

v

Page 8

4.4The circles C and D, the canonical lens E, and the quadrilateral Q (drawn with dotted line). 41

4.5Illustration of Definition 4.1.10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4.6 The image sets of the canonical lens, E, under R−1

(u,w)◦ g−1

u

and R−1

(w,u)◦ g−1

w. . . . . . . . . .48

4.7The open balls Vx, Vy, and Vp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49

5.1Illustration of Condition (C) of Definition 3.5.1. . . . . . . . . . . . . . . . . . . . . . . . . . . 53

5.2Local sampling of S′(white-filled vertices are not in Q). . . . . . . . . . . . . . . . . . . . . .55

5.3Plot of ξ(t) for t ∈ (0,1) ⊂ R, using H1= 0.2 and H2= 0.8. . . . . . . . . . . . . . . . . . . . 57

5.4Plot of γv(p), for every p ∈ [−1,1]2⊂ R2, with H1= 0.2 and H2= 0.8. . . . . . . . . . . . . .58

6.1Half-edges h1and h2are mates. The origin vertex of h1(resp. h2) is u (resp. w), and its

destination vertex is w (resp. u). Half-edge h1belongs to triangle t, while h2belongs to the

triangle that shares the edge consisting of h1and h2with t. . . . . . . . . . . . . . . . . . . .66

6.2 Illustration of the mapping carried out by tPPS::eval(). . . . . . . . . . . . . . . . . . . .71

6.3 Mesh models (a) 1, (b) 2, (c) 3, and (d) 4 from Table 6.1. . . . . . . . . . . . . . . . . . . . . .76

6.4Curvature plots for the surfaces generated from mesh model 1: (a) PN triangle; (b) PPS

from the surface in (a); (c) Loop; and (d) PPS from the surface in (c). . . . . . . . . . . . . . . 77

6.5Curvature plots for the surfaces generated from mesh model 3: (a) PN triangle; (b) PPS

from the surface in (a); (c) Loop; and (d) PPS from the surface in (c). . . . . . . . . . . . . . .78

6.6Curvature plots for the surfaces generated from mesh model 2: (a) PN triangle; (b) PPS

from the surface in (a); (c) Loop; and (d) PPS from the surface in (c). . . . . . . . . . . . . . .79

6.7Curvature plots for the surfaces generated from mesh model 4: (a) PN triangle; (b) PPS

from the surface in (a); (c) Loop; and (d) PPS from the surface in (c). . . . . . . . . . . . . . .80

A.1 The sets gu◦ R(u,w)(Ωuw) and gu◦ R(u,w)(Ωuz). . . . . . . . . . . . . . . . . . . . . . . . . . .95

vi

Page 9

A.2 The sets h ◦ Mπ

3◦ gx◦ R(u,x)◦ gu(Ωxu) and h ◦ gx◦ R(u,x)◦ gu(Ωxu). . . . . . . . . . . . . . . 97

A.3 Illustration of the cocycle condition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

vii

Page 10

Chapter 1

Introduction

The use of triangle meshes for the representation of surfaces with highly complex geometry and arbitrary

topology has become the de facto standard in many different areas of computer graphics and geometry

processing. This is mainly due to (1) their geometric simplicity, (2) the existence of efficient algorithms

for displaying, editing, smoothing, simplifying, remeshing, parametrizing and compressing them, and

(3) the advent and progress of 3D laser range scanner technologies [1]. In addition, most techniques for

manipulating traditional industry-standard smooth surface representations, such as NURBS [2], are now

available for triangle meshes.

Triangle meshes can represent surfaces with arbitrary topology with much more ease than smooth

surfaces. In addition, triangle meshes have always been used in several stages of a typical pipeline in

geometric design applications. Thus, it would seem attractive to replace smooth surfaces with triangle

meshes in all stages, avoiding inter-stage, error-prone representation conversion and accelerating the

production pipeline. On the other hand, in certain applications smooth surface representations are still

preferable over triangle meshes for reasons of compactness, manufacturability, appearance, and high-

degree continuity:

• Smooth surface representations offer a more compact way of representing fine geometric features,

which would typically require an enormous amount of small triangles to achieve the same level of

detail [3, 4, 5, 6, 7].

1

Page 11

Introduction2

• Many shapes designed by CAD systems are physically realized by numerically controlled (NC)

machines. To meet aesthetic and functional requirements, shapes are often represented by smooth

surfaces [8].

• It is well known that C2-continuity is important for visual quality, as it guarantees smooth normal

variation.

• Higher degrees of continuity are desirable for numerical purposes. For instance, Ck-continuous sur-

faces, for any finite integer k, are used in [9] to enable smooth calculations in the quantification of

joint kinematics, ligament strains, and distances between joint surfaces. In turn, C∞-continuous sur-

faces are used in [10] to achieve high-order convergence rates in the numerical solution of boundary

integral equations.

Therefore, algorithms to convert a triangle mesh representation into a smooth surface one and vice-

versaarestillnecessaryintheprocessingpipelineofcertainapplicationsrelatedtocomputergraphicsand

scientific computing. In this paper, we are only interested in converting triangle mesh representations into

smooth surfaces ones. In particular, we regard this conversion as a surface fitting problem, whose solution

is a smooth surface with the same topology as the triangle mesh that closely approximates the mesh

vertices.

Fitting a surface with guaranteed topology and continuity to the vertices of a mesh (triangle or quadri-

lateral) of arbitrary topology has been a topic of major research interest for many years. This is mainly due

to the fact that, in general, meshes of arbitrary topology cannot be parametrized on a single rectangular

domain and have no restriction on vertex connectivity. Much of the previous research efforts has been fo-

cused on stitching parametric polynomial patches together along their seams (see Figure 1.1). Each patch

is the image of a distinct parametrization of a closed, planar domain. Because the patches need to be

“pieced” together, there are natural smoothness concerns along the borders where they join. It turns out

that ensuring continuity along the borders has proved to be a difficult problem, in particular for closed1

meshes.

Although there is a large number of Ckconstructions, where k is a finite integer, based on the “stitch-

1Meshes without boundary, or equivalently, in which each edge is shared by exactly two triangles (or quadrilaterals).

2

Page 12

Introduction3

ing” paradigm and catered to triangle meshes2(see [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,

26]), only a few go beyond C2-continuity (i.e., [19, 21, 26]). However, higher order constructions suffer

from the following drawbacks:

• High order polynomial patches. To enforce high order continuity, high order polynomial patches,

whose degree rapidly grows with the desired degree, k, of continuity, are required. A recent ex-

ception is the construction in [26], which is capable of producing Gk-continuous surfaces of low

degree.

Figure 1.1: Two parametric surface patches joining together along their common boundary.

• Free parameters. The geometry of the polynomial patches is defined by a finite amount of points,

called control points, whose locations are determined by free parameters of the construction. Free pa-

rameters can be used to adjust and fair the shape of the patches. However, an automatic procedure

for optimizing these parameters is rarely found among the majority of the constructions. As a re-

sult, shape tuning is up to the designer and it can become an extremely laborious task if the triangle

mesh has a large number of triangles (as the number of patches is in general no smaller than the

number of triangles).

• Lack of shape control. Continuity is ensured by maintaining constraints on the position of the

control points, which limits the freedom to move those points freely to achieve a desirable shape.

2Some of them are actually Gk-continuous, which is a measure of continuity that subsumes strict parametric continuity.

3

Page 13

Introduction4

• Lack of simplicity. Higher order constructions are in general complex. Very few of them were ever

implemented, and the visual quality of their resulting surfaces was typically inferior to lower degree

constructions.

Subdivision surfaces are another common approach to fit a smooth surface to triangle or quadrilateral

meshes of arbitrary topology, and they have been extensively investigated in the recent past [27, 28, 29,

30, 31, 32, 33]. These surfaces are limit surfaces obtained by repeatedly subdividing a given polygonal

mesh. The subdivision process requires nothing else than vertex positions and connectivity information,

is in general very simple, can easily handle meshes with arbitrary topology, and produces smooth sur-

faces with good visual quality in an intuitive sense, except near vertices of high degree3. These are the

main reasons for the success of subdivision surfaces in the computer graphics and geometric modeling

communities.

Despite their advantages for modeling surfaces of arbitrary topology, subdivision surfaces also have

drawbacks. For instance, surface evaluation is often carried out by explicit, recursive subdivision, as most

subdivision schemes do not possess a closed-form, analytic formulation (the Catmull-Clark subdivision

scheme [27] is a notable exception [34]). In addition, most existing subdivision schemes yield Gk- or

Ck-continuous surfaces, for k = 1,2, only. If the input mesh has extraordinary vertices4, then the result-

ing subdivision surface is not even C1at those vertices, and it may also present shape artifacts around

them [35, 36]. Although it is possible to produce subdivision surfaces with C2or even higher continuity

order at extraordinary vertices, previous efforts by Prautzsch and Reif [37, 38] have shown that subdivi-

sion schemes to produce such surfaces cannot be as simple and elegant as existing subdivision schemes.

Finally, there is also no easy way to parametrize a subdivision surface for purposes such as texture map-

ping.

Implicit functions have also been used to fit smooth surfaces to triangle meshes [4, 5]. Implicit and

parametric representations have complementary properties, and hence the advantages and drawbacks of

each is highly dependent on the application [39]. In particular, implicit functions have been successfully

used for fitting surfaces to dense and unorganized point sets [40, 41, 42]. This is because unorganized

point sets have no explicit topological information, and this information is not required for defining an

3The degree of a vertex is the number of edges incident to it.

4For triangle (resp. quadrilateral) mesh based schemes, this means a vertex of degree different from six (resp. four).

4

Page 14

Introduction5

implicit surface that interpolates or closely approximates the points. However, in general the topology of

the resulting surface cannot be anticipated, unless the point set is very dense and satisfies some special

constraints [43]. Although the topology is known a priori in the surface fitting problem we are interested

here (i.e., it is the mesh topology), ensuring that the implicit surface will have this exact topology remains

very difficult, and we are not aware of any result that provides such a guarantee for any triangle mesh of

arbitrary topology.

Finally, amanifold-basedapproachpioneeredbyGrimmandHughes[44]hasprovedtobewell-suited

to fit with relative ease, Ck-continuous parametric surfaces to triangle and quadrilateral meshes, for any

arbitrary finite k or even k = ∞ [45, 46, 47, 48]. Manifold-based constructions also share some of the

most important properties of splines surfaces, such as local shape control and fixed-sized local support

for basis functions. In addition, the differential structure of a manifold provides us with a natural setting

for solving equations on surfaces with complex topology and geometry. Thus, as pointed out in [49], a

manifold is a very attractive surface representation form for a handful of applications in computer graph-

ics, such as reaction-diffusion texture [50], texture synthesis [51, 52], fluid simulation [53], and surface

deformation [54].

The main contributions of our work are two-fold:

(1) A new manifold-based construction for fitting a C∞-continuous surface to a triangle mesh of ar-

bitrary topology. Our construction combines, in the same framework, most of the best features of

previous constructions. In particular, it is simpler and more compact than the ones in [44, 45, 48],

does not contain singular points as the construction in [47], and shares with [46], a construction de-

vised for quadrilateral meshes, the ability of producing C∞-continuous surfaces and the flexibility

in ways of defining the geometry of the resulting surface.

(2) A theoretical framework that provides a sound justification for the correctness of our construction.

This framework is a slight improvement upon the one in [44], which was also used to undergird the

constructions in [45, 46, 48].

After a review of prior work, given in Chapter 2, we review some basic mathematical notions in Chap-

ter 3, and introduce the theoretical framework that supports our manifold-based construction. In Chap-

5

Page 15

Introduction6

ter 4 and Chapter 5, we describe in detail our manifold-based construction for fitting a C∞-continuous

surface to a triangle mesh. In Chapter 6, we give details of an implementation of our construction, and

present and discuss experimental results. Finally in Chapter 7, we offer some concluding remarks and

directions for future work.

6