Topological Construction of 2-Manifold Meshes From Arbitrary Polygonal Data

8
Topological Construction of 2-Manifold Meshes from Arbitrary Polygonal Data VINOD SRINIVASAN and ERGUN AKLEMAN Visualization Sciences Program College of Architectu re J OHN KEYSER Department of Compute r Science College of Engineer ing Texas A&M University Abstract  In this pap er we pr ese nt a simple algor ith m to con- struct 2-manif old meshes fr om arbitrary collections of poly- gons. We form our nal data structure using two very basic manifold-preserving operations, thus guaranteeing that the result is a valid manifold. Our algorithm is purely topolog- ical and does not consider the geometric properties of the underlying shape. The algorithm automatically and correctly creates the missing faces of manifold s with boundari es. It also elim- inate s all twog ons (2-s ided polygons ) and convert s non- manifold meshes into one of the possible manifold inter-  pr etati ons. We have implemented this algori thm and we highlight the performance of our algorithm on a number of sample models. 1 Intr oduct ion and Moti vat ion When modeling sol id objects, the construct ion of a man- ifold representation is often desirable, although it can be difcult to achieve. In this paper, we present an algorithm for constructing manifolds from a given collection of arbi- trary polygonal data. 1.1 Mot iv ati on The tra nsf er of dat a bet wee n va rio us sys tems and le for - mats can be the cause of signicant problems when model- ing solids . Often the output to an inte rmedi ate le format loses much of the topological information that a particular syste m mainta ins inte rnall y. In other cases , data that is vali d in one system creates problems in another. Address: 216 Langford Center, College Station, Texas 77843- 3137. email: [email protected]. phone: +(979) 845-6599. Supported in part by the Texas A&M, Scholarly & Creative Activities Program. Addre ss: Depar tment of Comput er Science, Coll ege Station , TX 7784 3-31 12. email : key ser@c s.tamu.edu . Supp orted i n part b y NSF Award 0138446 Graphics le formats in particular often omit topological information, as only the geometric denitions of polygons are necessary for display purposes. For example, Alias- Wavefront’s obj le format is one of the more common graphics le formats, and geometry is fundament ally stored as just a collection of oriented polygons. For many solid modeling and shape modeling applica- tions, we desire that the meshes describing object bound- aries be represented as valid and correct 2-manifolds in 3D. Certain algorithms (e.g. certain subdivision surface and ob-  ject intersec tion algorit hms) rely on th is property to guaran- tee correctness. This issue becomes apparent in very practi- cal situ ation s. For inst ance, any model ing syste m fail s when Doo-Sabin subdivision [9, 17] is applied to a non-manifold mesh since Doo-Sabin requires manifold meshes [3]. We would like to have a simple and straightforward way to construct valid manifold meshes from an arbitrary set of polyg ons. Such a method will allow the import atio n and construction of objects from les that lack direct topolog- ical connectivity, and will allow the exploration of a wide variety of manifold solids. Furth ermo re, we woul d like to use only topological operations to perform this construc- tion. While geometric considerations have great usefulness and may address many of the problems encountered, the utility of such techniques will vary de pending on the partic- ular application. Since such geometric techniques are not universally applicable, and will need to be “tuned” to par- ticular data sets, we choose to avoid them. 1.2 Mai n Res ult s We prese nt an algor ithm for constructi ng mani fold soli ds from an arbitrary collection of oriented polygons. This al- gorithm reads in a collection of oriented polygonal faces, each described by an order ed sequen ce of vertices. Using only topological operations, it constructs a manifold solid from this data. The algorithm has the following properties: The output is always a manifold . If the original dat a corresponds to a single valid manifold solid, then that is the manifold that will be output. 1

Transcript of Topological Construction of 2-Manifold Meshes From Arbitrary Polygonal Data

Page 1: Topological Construction of 2-Manifold Meshes From Arbitrary Polygonal Data

8/6/2019 Topological Construction of 2-Manifold Meshes From Arbitrary Polygonal Data

http://slidepdf.com/reader/full/topological-construction-of-2-manifold-meshes-from-arbitrary-polygonal-data 1/8

Topological Construction of 2-Manifold Meshes from Arbitrary Polygonal Data

V INOD SRINIVASAN and E RGUN A KLEMAN

Visualization Sciences ProgramCollege of Architecture

JOHN KEYSERy

Department of Computer ScienceCollege of Engineering

Texas A&M University

Abstract

In this paper we present a simple algorithm to con-struct 2-manifold meshes from arbitrary collections of poly-gons. We form our nal data structure using two very basicmanifold-preserving operations, thus guaranteeing that theresult is a valid manifold. Our algorithm is purely topolog-ical and does not consider the geometric properties of theunderlying shape.

The algorithm automatically and correctly creates themissing faces of manifolds with boundaries. It also elim-inates all twogons (2-sided polygons) and converts non-manifold meshes into one of the possible manifold inter- pretations. We have implemented this algorithm and wehighlight the performance of our algorithm on a number of sample models.

1 Introduction and Motivation

When modeling solid objects, the construction of a man-ifold representation is often desirable, although it can bedifcult to achieve. In this paper, we present an algorithmfor constructing manifolds from a given collection of arbi-trary polygonal data.

1.1 Motivation

The transfer of data between various systems and le for-mats can be the cause of signicant problems when model-ing solids. Often the output to an intermediate le formatloses much of the topological information that a particularsystem maintains internally. In other cases, data that is validin one system creates problems in another.

Address: 216 Langford Center, College Station, Texas 77843-3137.email: [email protected]. phone: +(979) 845-6599. Supported in partby the Texas A&M, Scholarly & Creative Activities Program.

y Address: Department of Computer Science, College Station, TX77843-3112. email: [email protected]. Supported in part by NSFAward 0138446

Graphics le formats in particular often omit topologicalinformation, as only the geometric denitions of polygonsare necessary for display purposes. For example, Alias-Wavefront’s obj le format is one of the more commongraphics le formats, and geometry is fundamentally storedas just a collection of oriented polygons.

For many solid modeling and shape modeling applica-tions, we desire that the meshes describing object bound-aries be represented as valid and correct 2-manifolds in 3D.Certain algorithms (e.g. certain subdivision surface and ob- ject intersection algorithms) rely on this property to guaran-tee correctness. This issue becomes apparent in very practi-cal situations. For instance, any modeling system fails whenDoo-Sabin subdivision [9, 17] is applied to a non-manifoldmesh since Doo-Sabin requires manifold meshes [3].

We would like to have a simple and straightforward wayto construct valid manifold meshes from an arbitrary set of polygons. Such a method will allow the importation andconstruction of objects from les that lack direct topolog-ical connectivity, and will allow the exploration of a widevariety of manifold solids. Furthermore, we would like touse only topological operations to perform this construc-tion. While geometric considerations have great usefulnessand may address many of the problems encountered, theutility of such techniques will vary depending on the partic-ular application. Since such geometric techniques are notuniversally applicable, and will need to be “tuned” to par-ticular data sets, we choose to avoid them.

1.2 Main Results

We present an algorithm for constructing manifold solidsfrom an arbitrary collection of oriented polygons. This al-gorithm reads in a collection of oriented polygonal faces,each described by an ordered sequence of vertices. Usingonly topological operations, it constructs a manifold solidfrom this data. The algorithm has the following properties:

The output is always a manifold. If the original datacorresponds to a single valid manifold solid, then thatis the manifold that will be output.

1

Page 2: Topological Construction of 2-Manifold Meshes From Arbitrary Polygonal Data

8/6/2019 Topological Construction of 2-Manifold Meshes From Arbitrary Polygonal Data

http://slidepdf.com/reader/full/topological-construction-of-2-manifold-meshes-from-arbitrary-polygonal-data 2/8

Each face is oriented in a way consistent with the otherfaces in the manifold.

There are no twogons (two-sided faces).

No new vertices are created.

No looping edges (edges from one vertex to the samevertex) are created.

There are three signicant results in the work we presenthere. These are:

1. Crack repair. Our algorithm provides a simple methodto automatically ll holes in the input model. That is,if the input polygons correspond to a manifold withboundary, the output will be a manifold. We do notneed to explicitly determine the boundaries of holes.Two examples of manifoldswith boundaries are shownin Figure 1.

Figure 1. Examples of manifolds with bound-aries.

2. Generating manifolds from non-manifolds. Given in-put that corresponds to a non-manifold (includingcases such as dangling faces), we generate a manifoldinterpretation of the data. Note that there might bemany possible manifold interpretations for the givendata as shown in Figure 2. We guarantee only that theresulting structure ts one of those interpretations.

3. Insight into manifolds. By intentionally introducingartifacts into a data set such as wrongly-oriented poly-gons or non-manifold situations, we can create a num-

ber of strange (but still manifold) objects. Our ap-proach allows us the freedom to explore a wide varietyof manifold object representations that are not gener-ally created or considered when modeling solids.

1.3 Geometric Considerations

Note that because our algorithm is based entirely ontopology, it totally ignores the geometric properties of the

Figure 2. Two 2-manifold interpretions of anon-manifold.

underlying shape. For instance, the geometry might be self-intersecting, vertices might be coincident, and vertices of

polygonal faces might not be coplanar. Such can hold truefor both the input and the output of our algorithm. Sim-ilar problems may result from any purely topology-basedapproach.

While the focus of our approach is strictly topological,a number of geometric operations could be applied as apreprocess or postprocess step. For example, coincidentvertices in the input could be easily merged before apply-ing our algorithm. While such steps eliminate some geo-metric problems, the output may still contain geometric ir-regularities, given sufciently difcult input. For example,non-manifold input, wrongly-oriented faces, or non-planarcracks can lead to output polygons for which the vertices

are not coplanar. Although this may be undesirable in cer-tain situations, we view this as a potential benet—it al-lows us to examine the manifold representations possiblewhen non-standard data (such as a “wrongly-oriented” faceor non-manifold situation) is provided.

2 Previous Work

Akleman and Chen recently introduced topologically ro-bust mesh modeling operators [1] based on topologicalgraph theory [8, 11]. Topological graph theory is a rela-tively obscure mathematical theory introduced almost 100

years ago [10, 13] and familiar to only a handful of graphtopologists. Akleman and Chen’s I NSERT EDGE and D EL E -TE EDGE [1] operators can effectively change the topologyof a manifold mesh by inserting and deleting handles. Theyalso have recently shown [5] that all and only orientable 2-manifold structures can be created using the two simplestEuler operations, MVFS (make a surface with a single ver-tex and a single face) and KVFS (inverse of MVFS) [15],along with I NSERT EDGE and E DG E D ELETE . Moreover,

Page 3: Topological Construction of 2-Manifold Meshes From Arbitrary Polygonal Data

8/6/2019 Topological Construction of 2-Manifold Meshes From Arbitrary Polygonal Data

http://slidepdf.com/reader/full/topological-construction-of-2-manifold-meshes-from-arbitrary-polygonal-data 3/8

these four operators can be efciently implemented [5] onalmost every mesh data structure including winged-edge,[7], half-edge [15] and quad-edge[12]. These results sug-gest that software development for mesh modeling with atopologically guaranteed orientable manifold property canbe greatly simplied using only these four operators.

3 Methodology

Among the four operators, two are sufcient to constructour algorithm. These are I NSERT E DGE and C REATE V ER -TE X :

1. C REATE V ERTEX ( v ) is similar to the Euler operatorMVFS. It creates a new isolated vertex v and its cor-responding face; we call this a point-sphere (see Fig-ure 3.) This operator effectively adds a new surfacecomponent to the current 2-manifold.

v 0f 0

Figure 3. A point sphere is a manifold thatconsists of only one vertex and one face with-out an edge.

The C REATE V ERTEX operator is essential in the initial

stage of manipulating 2-manifolds since it is needed tocreate and add a new surface component in an emptymanifold.

2. INSERT E DGE ( c

1

c

2

e ) inserts a new edge e to themesh structure between two corners c

1

and c

2

. For-mally, a corner is a subsequence of a face bound-ary walk consisting of two consecutive edges plus thevertex between them except in the case of a pointsphere, in which the vertex itself is the corner. If a face has only one instance of each vertex, thenwe can consider a corner as a face-vertex pair whichis given as f f

i

v

j

g . We can also consider a cor-

ner as a subsequence of a face boundary walk con-sisting of three consecutive vertices. For example if f = f v

1

v

2

v

3

v

4

g is a face, f v

1

v

2

v

3

g is a cornerreferring to the vertex v

2

in face f and f v

3

v

4

v

1

g isthe corner referring to the vertex v

4

in face f .

If INSERT EDGE inserts an edge between two cornersof the same face, the new edge divides the face into twofaces. On the other hand, if I NSERT E DGE inserts anedge between corners of two different faces, the new

edge merges the two faces into one. See the gures in[1] for visual explanation.

When the operator I NSERT E DGE is inserting an edge e

between corners of two different faces f

1

and f

2

, thereis an interesting and intuitive interpretation of the oper-ation as two steps. In the rst step, we delete the facesf

1 and f

2 , which results in a 2-manifold with bound-aries because of two “open” holes left by deleted facesf

1

and f

2

. In the second step we run a new “pipe” be-tween these two holes and allow the pipe ends to “seal”the two holes.

Note that the choice of corners is extremely importantfor the I NSERT EDG E operation. An edge inserted be-tween two vertices may combine two faces into one orseparate one face into two depending on the choice of corners.

Figures 4, 5 and 6 show how a tetrahedron can be con-structed by a series of C REATE V ERTEX and I NSERT E DGE

operations. The followingsection presents an algorithmthatuses only the above mentioned operators to construct a 2-manifold mesh from a list of vertex positions and a list of oriented polygons given as a sequence of vertex indices.

v 0f 0v 1f 1

Insert Edge

v 0

f 0

v 1

e 0

Figure 4. A line manifold can be obtained bycombining two point spheres with an insertedge operation. Note that the insert edge op-eration combines the two initial faces f

0

andf

1

and the result has only one face.

3.1 Overview of the Algorithm

The algorithm consists of three steps.

1. Read all vertex positions and create a point-sphere foreach vertex using the C REATE V ERTEX operator. LetV be the array of point-spheres thus created.

Page 4: Topological Construction of 2-Manifold Meshes From Arbitrary Polygonal Data

8/6/2019 Topological Construction of 2-Manifold Meshes From Arbitrary Polygonal Data

http://slidepdf.com/reader/full/topological-construction-of-2-manifold-meshes-from-arbitrary-polygonal-data 4/8

2. Read all faces. Parse each face and create a list of edges present in each face using the index into the ar-ray V to denote the edge ends.

3. Go through the list of edges created in step 2 and in-sert each edge. If an edge already exists between twovertices it need not be inserted again. If an edge wouldcause a self-loop it is not inserted.

v 2f 1

v 0

f 0

v 1

e 0

Insert edgeInsert edge

v 2

f 1

v 0

f 0

v 1

e 0

e 1 e 2

Figure 5. A triangle manifold (two-sided tri-angle) can be obtained by combining threepoint spheres with three insert edge opera-tions. A face manifold (two sided face) canbe obtained by combining n number of pointspheres with n number of inserted edges.

The edges created in step 2 will be represented as a pairof corners. Note that corners in different faces can share the

same vertex. Each vertex stores a list of corners that referto it.

The edge insertion process uses the I NSERT E DGE oper-ator which inserts an edge between two corners. To insertan edge we rst need to nd the two end corners. Initiallywe have only a group of distinct point-spheres each corre-sponding to a vertex in the model and each containing onecorner. Before any edges are inserted all these corners aretagged with a marker.

v 2

f 1

v 0

f 0

v 1e 0

e 1 e 2

v 3

Insert edge

operations

v 2f 1

v 0 v 1e 0

e 1 e 2

v 3f 2

f 0

f3

f2 e 3

e 4e 5

Figure 6. A tetrahedron can be obtained bycombining four point spheres with six insertedge operations.

Page 5: Topological Construction of 2-Manifold Meshes From Arbitrary Polygonal Data

8/6/2019 Topological Construction of 2-Manifold Meshes From Arbitrary Polygonal Data

http://slidepdf.com/reader/full/topological-construction-of-2-manifold-meshes-from-arbitrary-polygonal-data 5/8

Let the two ends of edge e

1 2

be the corners c

1

=

f a v

1

b g and c

2

= f c v

2

d g referring to vertices v

1

andv

2

respectively. (As we have mentioned earlier, a cornercan be considered as a sequence of three vertices belongingto a face except when the face is a point sphere.) Insertingan edge involves the following steps:

1. Get the list of corners referring to vertex v

1

and v

2

. Wewill refer to these lists as C

v

1

and C

v

2

correspondingtov

1

and v

2

respectively. To nd the corner correspond-ing to c

1

, go through C

v

1

and nd the corner which ispreceded by vertex a or followed by vertex b . If C

v

1

contains only 1 corner select that corner. The cornercorresponding to c

2

is found similarly using C

v

2

. If ei-ther of C

v

1

or C

v

2

contains more than one corner and amatching corner for c

1

or c

2

cannot be found, postponeinsertion of this edge.

2. If we can nd matching corners for both c

1

and c

2

in

the above step, do the actual edge insertion using theINSERT EDGE operator.

After the rst pass, we go through the list of postponededges and repeat the above steps again.

If in two successive passes no postponed edges could beresolved, it indicates that the object has multiple 2-manifoldinterpretations. We choose one of the interpretations arbi-trarily 1 by picking the originally tagged corner during thenext pass. Note that this might need to be done for only oneof the postponed edges since other edges might be resolvedafter this edge is inserted.

Once no more edges are left to be inserted the algorithm

terminates.

4 Implementation and Testing

Our algorthm is implementedin C++ and has been incor-porated into an existing manifold mesh modeling system.One of the main uses of the algorithm is to ensure thatWave-front obj les are always imported as correct manifolds.Corrupt les such as the ones representing non-manifoldsor manifolds with boundaries could crash a manifold mod-eler. The new reader guarantees that we always deal withmanifold meshes.

Our algorithm has been successfully tested on severalpublicly available models ranging in size from a few poly-gons to several thousands. We found that in practical exam-ples the algorithm appears to be O ( n l o g n ) in terms of thenumber of edges.

1Note that this arbitrary choice depends only on the order of faces inthe face list. In other words, there is a unique manifold interpretation forany given face list order. Thus, a given input will always give the sameoutput.

4.1 Manifolds

Manifold mesh construction from manifold data isstraightforward. It can easily be seen that if the arbitrarycollection of polygonscorresponds to a valid manifold, thenthe algorithm will create the corresponding manifold mesh.

Because each edge of the manifold will be inserted exactlyonce, and each edge insertion will be consistent with the“correct” manifold representation, the resulting manifoldwill be the one described by the input data.

4.2 Crack Repair for Manifolds with Boundaries

How the algorithm repairs cracks can be understood bylooking at Figure 1. As shown in the gure, all the cracks(i.e. missing polygons) are enclosed by boundary edges. Inour algorithm, when we insert these boundary edges, themissing faces bounded by those edges are automaticallycreated.

When enough edges are inserted to create a polygon, twofaces are effectively created, a “front” face and a “back”face (see Figure 5). This back face can be thought of as ll-ing in the empty area (i.e. the crack) around that polygon.As additional edges are inserted, this back face continues toll in the regions not yet inserted into the model. Note thatthere may be several of these back faces existing simultane-ously. Once all edges have been inserted, these back facesthus repair the cracks that might exist in the input data. Notethat the orientation of these back faces will always be con-sistent with the rest of the model, as one would like.

We give below a simply example to demonstrate how

crack repair works. Let the input data be a tetrahedron witha missing face and the faces be given as f

0

= f v

0

v

1

v

2

g ,f

1

= f v

0

v

3

v

1

g and f

2

= f v

0

v

2

v

3

g . The algo-rithm rst inserts edges for the face f

0

, f v

0

v

1

g f v

1

v

2

g

and f v

2

v

0

g . After inserting these 3 edges a “back” facef

b

= f v

0

v

2

v

1

g will be automatically created. Then, thealgorithm inserts remaining edges for face f

1

, which aref v

0

v

3

g and f v

3

v

1

g . As a result, the back face now be-comes f

b

= f v

0

v

2

v

1

v

3

g . In the next step, the algorithmadds remainingedges for the face f

2

, which involves addingonly the edge f v

2

v

3

g . Inserting this edge divides f

b

intotwo. One part becomes the face f

2

, while the remainingback face is f

b

= f v

2

v

1

v

3

g . Notice that f

b

now lls in,

with correct orientation, the crack created by the missingface of the tetrahedron.

4.3 Non-Manifold Conversion and Insight toManifolds

The interpration of non-manifold cases are more inter-esting. Using the reader, we can convert non-manifolds tomanifolds. This conversion gives us a powerful insight into

Page 6: Topological Construction of 2-Manifold Meshes From Arbitrary Polygonal Data

8/6/2019 Topological Construction of 2-Manifold Meshes From Arbitrary Polygonal Data

http://slidepdf.com/reader/full/topological-construction-of-2-manifold-meshes-from-arbitrary-polygonal-data 6/8

the nature of manifolds. Some of the manifold shapes wecreate using this conversion sometimes defy conventionalwisdom.

We present three examples illustrated in Figures 7, 8 and9. As will be clear in all three examples, in order to converta non-manifold to a manifold, ouralgorithmcombinessome

of the faces to create larger faces. The conversion maintainsthe integrity of the edge directions in the combined faces.

In each of these gures, the leftmost image shows thenon-manifold shape. The middle column shows some man-ifold interpretations of the non-manifold shape. The right-most column shows the result of two iterations of Doo-Sabin subdivision applied to the manifold representationsin the middle column. The Doo-Sabin smoothed versionsare included (1) to demonstrate that non-manifold geometryhas been converted to manifold, since Doo-Sabin can onlybe applied to manifold meshes and (2) to visually show thatgenus can vary, i.e. different manifold interpretations canhave different genera.

The rst example is shown in Figure 7. This nonman-ifold shape is given by the following faces that are repre-sented by cyclic ordered sets:

f

0

= f 3 2 1 4 g f

1

= f 7 8 9 1 0 g

f

2

= f 2 3 6 g f

3

= f 4 1 5 g

f

4

= f 6 9 8 g f

5

= f 5 7 1 0 g

f

6

= f 6 5 1 0 9 g f

7

= f 5 6 3 4 g

f

8

= f 6 8 7 5 g f

9

= f 1 2 6 5 g

If the faces are given with the order above, our algo-rithm converts this non-manifold to a manifold by com-bining faces f

8

and f

9

into one hexagonal face f

1 0

=

f 1 2 6 8 7 5 g as shown in top row of Figure 7. Note

that the hexagonf

1 0

is automatically created once we in-sert all the edges. More interesting cases can occur whenthe algorithm reads the faces in different orders. One suchcase is shown in the bottom row of Figure 7. In this casethe faces f

4

, f

5

, f

7

and f

9

are combined into one facef

1 1

= f 9 8 6 3 4 5 7 1 0 5 1 2 6 g . This large face isself intersecting and makes the genus of the object 1 as canclearly be seen in the Doo-Sabin smoothed image.

The second example is shown in Figure 8. This nonman-ifold shape is given by the following faces that are repre-sented by cyclic ordered sets:

f

0

= f 3 2 1 4 g f

1

= f 6 7 8 9 g

f

2

= f 1 2 5 g f

3

= f 7 6 5 g

f

4

= f 4 1 5 g f

5

= f 6 9 5 g

f

6

= f 3 4 5 g f

7

= f 9 8 5 g

f

8

= f 2 3 5 g f

9

= f 8 7 5 g

If the faces are given with the order above, our algo-rithm converts this non-manifold to a manifold by com-bining faces f

8

and f

9

into one hexagonal face f

1 0

=

f 2 3 5 8 7 5 g as shown in top row of Figure 8. The sec-ond and third rows show two other interpretations whenthe algorithm reads the faces in different orders. In the

Figure 7. Two 2-manifold interpretations of anon-manifold.

middle row, f

9

and f

2

are read as the last two polygonsand the algorithm combines them into a new face f

1 1

=

f 1 2 5 8 7 5 g

. In the last row,f

9 andf

4 are read as thelast two polygons and the algorithm combines them into anew face f

1 2

= f 4 1 5 8 7 5 g . In this example it is clearthat the algorithm treats the last two polygons as if they aremissing.

In thenext example, we have introduced an aditional faceinside of a prism as shown in Figure 9. This shape is givenby the following faces that are represented by cyclic orderedsets.

f

0

= f 4 3 2 1 g f

1

= f 9 1 0 1 1 1 2 g

f

2

= f 7 8 1 2 1 1 g f

3

= f 3 4 8 7 g

f

4

= f 4 1 5 8 g f

5

= f 8 5 9 1 2 g

f

6

= f 2 3 7 6 g f

7

= f 6 7 1 1 1 0 g

f

8

= f 1 2 6 5 g f

9

= f 5 6 1 0 9 g

f

1 0

= f 5 6 7 8 g

Since this visual example is more complicated than ear-lier ones, we have not drawn the face f

1 0

and the initialshape looks like a simple prism. If the faces are given withthe order above, our algorithm simply eliminates the facef

1 0

as shown in the top row of Figure 9. The more inter-esting example is shown in the bottom row of Figure 9. Inthis case, several faces are combined. Since more than one

Page 7: Topological Construction of 2-Manifold Meshes From Arbitrary Polygonal Data

8/6/2019 Topological Construction of 2-Manifold Meshes From Arbitrary Polygonal Data

http://slidepdf.com/reader/full/topological-construction-of-2-manifold-meshes-from-arbitrary-polygonal-data 7/8

Figure 8. Three 2-manifold interpretations ofa non-manifold.

combined face is created we have not highlighted them toavoid confusion. The following information can be helpfulto understand the manifold structure shown in the bottomrow:

f

4

and f

5

combine and become a hexagon asf 4 1 5 9 1 2 8 g .

f

6

and f

7

combine and become a hexagon asf 2 3 7 1 1 1 0 6 g .

f

3

, f

8

and f

1 0

combine and become one octagon asf 3 4 8 5 1 2 6 7 g .

Although we do not give any examples here, we testedour algorithm on models that include some wrongly-oriented faces. As in the case of non-manifold input data,the conversionmaintains the integrity of the edge directionsby combining two or more faces into one.

Figure 9. Two 2-manifold interpretations for anon-manifold.

5 Conclusion and Future Work

Manifolds with boundaries, non-manifolds, and artifactsare very common in computer graphics les. Many mod-eling packages allow manifolds with boundaries and non-manifolds. Also, many practical mesh data structures allowarbitrary collections of polygons that can include artifactssuch as wrongly-oriented polygons and T-junctions.

Various algorithms have been developed for the identi-cation and correction of such artifacts [6, 16]. These meth-ods are often quite complicated and rely on geometric infor-mation. The algorithm we have presented is different fromothers in that it is simple, is purely topological, and theo-retically guarantees the manifold property of the resultingmesh regardless of the input data.

Note that our algorithm totally ignores the geometricproperties of the underlying shape. For instance, self inter-sections are not considered and cannot be eliminated by ouralgorithm. Moreover, two vertices are considered differentif they are declared separately regardless of their position(i.e. even if their positions are the same, they are considereddifferent). Ignoring the geometry greatly simplies our al-gorithm.

Page 8: Topological Construction of 2-Manifold Meshes From Arbitrary Polygonal Data

8/6/2019 Topological Construction of 2-Manifold Meshes From Arbitrary Polygonal Data

http://slidepdf.com/reader/full/topological-construction-of-2-manifold-meshes-from-arbitrary-polygonal-data 8/8

5.1 Future Work

Our algorithm is useful in other aspects of modeling sys-tem implementation, beyond le input or transfer. For ex-ample, our technique has been used to create the dual of any 2-manifold mesh. Ignoring twogons and self-loops is

extremely useful for le input or transfer since we do notcreateunnecessary edges. However, if this algorithmis usedfor other operations, this restriction can be a problem. Oneproblem with the dual operationis that if the initial mesh hasvalence-2 or valence-1 vertices, the dualcannot correctly becreated since it should have twogons and self-loops. Thus,in order to use the algorithmto simplify programming tasks,we would need to include twogons and self-loops.

Includinggeometry can be another improvement. For in-stance, all the shapes in Figure 8 are the same in terms of topology. However, each shape gives a different subdividedshape. By augmentingour strictly topological methods withsome geometric constraints, we could provide users addi-tional control.

References

[1] E. Akleman and J. Chen, Guaranteeing the 2-manifold property for meshes with doubly linked facelist, International Journal of Shape Modeling , Volume5, no. 2, pp. 149-177, 1999.

[2] E. Akleman, J. Chen, and V. Srinivasan, A newparadigm for changing topology during subdivisionmodeling, Proceedings 8th Pacic Conference onComputer Graphics and Applications , (PG’2000),(2000), pp. 192-201.

[3] E. Akleman, J. Chen, V. Srinivasan and F. Eryoldas,A New Corner Cutting Scheme with Tension andHandle-Face Reconstruction, International Journal of Shape Modeling , No. 2, pp. 111-121, 2001.

[4] E. Akleman, J. Chen and V. Srinivasan, An interactivesystem for modeling 2-manifold meshes, Proceedingsof International Conference on Shape Modeling and Applications 2002, pp. 43-50, May 2002.

[5] J. Chen and E. Akleman, Topologically robustmesh modeling: concepts, structures and oper-ations, Submitted to a journal (See http://www-viz.tamu.edu/faculty/ergun/research/topology/to get acopy).

[6] G. Barequet and S. Kumar, “Repairing CAD mod-els”, in Proceedings of IEEE Visualization’97 , (Octo-ber 1997) pp. 363-370.

[7] B. J. Baumgart, “Winged-edgepolyhedronrepresenta-tion”, Technical Report CS-320, Stanford University,1972.

[8] J. Chen, “Algorithmic Graph Embeddings”, Theoreti-cal Computer Science , 181 (1997) 247-266.

[9] D. Doo and M. Sabin, “Behavior of Recursive Subdi-vision Surfaces Near ExtraordinaryPoints”, Computer Aided Design , 10 (September 1978) 356-360.

[10] J. Edmonds, “A Combinatorial Representation forPolyhedral Surfaces”, Notices American MathematicsSociety , 7 (1960) 646.

[11] J. L. Gross and T. W. Tucker, Topological Graph The-ory , (Wiley Interscience, New York, 1987).

[12] L. Guibas, J. Stol, “Primitives for the manipulationof general subdivisions and computation of Voronoidiagrams”, ACM Transaction on Graphics , 4 (1985)74-123.

[13] L. Heffter, “Uber das Problem der Nachbargebiete”, Math. Annalen , 38 (1891) 477-508.

[14] C. M. Hoffmann, Geometric & Solid Modeling, An Introduction , (Morgan Kaufman Publishers, Inc., SanMateo, Ca., 1989).

[15] M. M ANTYL A, An Introduction to Solid Modeling ,Computer Science Press, Rockville, MA, 1988.

[16] T. M. Murali and T. A. Funkhouser, “Consistent solidand boundary representations from arbitrary polygo-nal data”, in Proceedings of 1997 Symposium on In-teractive 3D Graphics , (1997) pp. 155-162.

[17] D. Zorin and P. Schr¨ oder, co-editors, Subdivision for Modeling and Animation, ACM SIGGRAPH’2000Course Notes no. 23, July, 2000.