ia*: an adjacency-based representation for non-manifold simplicial shapes in arbitrary dimensions

7
Short Communication to SMI 2011 IA*: An adjacency-based representation for non-manifold simplicial shapes in arbitrary dimensions David Canino a , Leila De Floriani a , Kenneth Weiss b, a Department of Computer Science, University of Genova, Italy b Department of Computer Science, University of Maryland, MD, USA article info Article history: Received 21 December 2010 Received in revised form 16 February 2011 Accepted 7 March 2011 Available online 23 March 2011 Keywords: Simplicial complexes Non-manifold data structures Topological data structures abstract We propose a compact, dimension-independent data structure for manifold, non-manifold and non- regular simplicial complexes, that we call the Generalized Indexed Data Structure with Adjacencies (IA n data structure). It encodes only top simplices, i.e. the ones that are not on the boundary of any other simplex, plus a suitable subset of the adjacency relations. We describe the IA n data structure in arbitrary dimensions, and compare the storage requirements of its 2D and 3D instances with both dimension-specific and dimension-independent representations. We show that the IA n data structure is more cost effective than other dimension-independent representations and is even slightly more compact than the existing dimension-specific ones. We present efficient algorithms for navigating a simplicial complex described as an IA n data structure. This shows that the IA n data structure allows retrieving all topological relations of a given simplex by considering only its local neighborhood and thus it is a more efficient alternative to incidence-based representations when information does not need to be encoded for boundary simplices. & 2011 Elsevier Ltd. All rights reserved. 1. Introduction Simplicial complexes are commonly used to describe non- manifold objects in several applications, including finite element analysis, solid modeling, animation, terrain modeling and visua- lization of scalar and vector fields. Informally, a manifold (with boundary) is a compact and connected subset of the Euclidean space for which the neighborhood of each of its points is home- omorphic to an open ball, or to an open half-ball. Objects that do not fulfill this property at one or more points are called non- manifold, while they are called non-regular if they also contain parts of different dimensions. Existing modeling tools are generally designed to handle only shapes with a manifold domain [6], since they are topologically simpler. However, non-manifold and non-regular objects arise in several applications. For example, in the idealization process for preparing an object for finite element simulations, regions repre- senting beam or plate behavior are substituted with 1D lines or 2D surfaces, respectively, resulting in objects that contain non- manifold singularities and parts of different dimensions. In the literature, both dimension-specific and dimension- independent data structures have been developed for cell and simplicial complexes. The former typically exploit properties of the embedding domain to reduce storage requirements, while the latter are independent of the embedding domain. Dimension independent incidence-based representations for cell [10] and simplicial [4,7] complexes encode all the cells of the complex as well as a subset of the incidence relations among the entities, and thus they tend to be quite verbose. In the case of simplicial complexes, adjacency-based data structures for manifold objects, and for 2D and 3D non-manifold objects have been shown to be more compact and efficient, since they encode only the top simplices, i.e. those simplices that are not on the boundary of other simplices, as well as the adjacency relations among such simplices [6]. They have, therefore, been used in applications which do not require an explicit encoding of all the simplices. Here, we propose a dimension-independent data structure for simplicial complexes, that we call the Generalized Indexed Data Structure with Adjacencies (IA data structure), which generalizes the well known Indexed data structure with Adjacencies (IA data structure) [18]. We show that the IA data structure is able to retrieve all the relations among the simplices of a simplicial complex very efficiently, it is more compact than all the inci- dence-based representations and is even slightly more compact than the dimension-specific ones [8,5]. This is interesting since the latter are able to exploit dimension-specific properties of their Contents lists available at ScienceDirect journal homepage: www.elsevier.com/locate/cag Computers & Graphics 0097-8493/$ - see front matter & 2011 Elsevier Ltd. All rights reserved. doi:10.1016/j.cag.2011.03.009 Corresponding author. E-mail addresses: [email protected] (D. Canino), defl[email protected] (L. De Floriani), [email protected] (K. Weiss). Computers & Graphics 35 (2011) 747–753

Upload: david-canino

Post on 26-Jun-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IA*: An adjacency-based representation for non-manifold simplicial shapes in arbitrary dimensions

Computers & Graphics 35 (2011) 747–753

Contents lists available at ScienceDirect

Computers & Graphics

0097-84

doi:10.1

� Corr

E-m

deflo@d

journal homepage: www.elsevier.com/locate/cag

Short Communication to SMI 2011

IA*: An adjacency-based representation for non-manifold simplicial shapesin arbitrary dimensions

David Canino a, Leila De Floriani a, Kenneth Weiss b,�

a Department of Computer Science, University of Genova, Italyb Department of Computer Science, University of Maryland, MD, USA

a r t i c l e i n f o

Article history:

Received 21 December 2010

Received in revised form

16 February 2011

Accepted 7 March 2011Available online 23 March 2011

Keywords:

Simplicial complexes

Non-manifold data structures

Topological data structures

93/$ - see front matter & 2011 Elsevier Ltd. A

016/j.cag.2011.03.009

esponding author.

ail addresses: [email protected] (D. Canino)

isi.unige.it (L. De Floriani), [email protected]

a b s t r a c t

We propose a compact, dimension-independent data structure for manifold, non-manifold and non-

regular simplicial complexes, that we call the Generalized Indexed Data Structure with Adjacencies

(IAn data structure). It encodes only top simplices, i.e. the ones that are not on the boundary of any other

simplex, plus a suitable subset of the adjacency relations. We describe the IAn data structure in

arbitrary dimensions, and compare the storage requirements of its 2D and 3D instances with both

dimension-specific and dimension-independent representations. We show that the IAn data structure is

more cost effective than other dimension-independent representations and is even slightly more

compact than the existing dimension-specific ones. We present efficient algorithms for navigating a

simplicial complex described as an IAn data structure. This shows that the IAn data structure allows

retrieving all topological relations of a given simplex by considering only its local neighborhood and

thus it is a more efficient alternative to incidence-based representations when information does not

need to be encoded for boundary simplices.

& 2011 Elsevier Ltd. All rights reserved.

1. Introduction

Simplicial complexes are commonly used to describe non-manifold objects in several applications, including finite elementanalysis, solid modeling, animation, terrain modeling and visua-lization of scalar and vector fields. Informally, a manifold (withboundary) is a compact and connected subset of the Euclideanspace for which the neighborhood of each of its points is home-omorphic to an open ball, or to an open half-ball. Objects that donot fulfill this property at one or more points are called non-manifold, while they are called non-regular if they also containparts of different dimensions.

Existing modeling tools are generally designed to handle onlyshapes with a manifold domain [6], since they are topologicallysimpler. However, non-manifold and non-regular objects arise inseveral applications. For example, in the idealization process forpreparing an object for finite element simulations, regions repre-senting beam or plate behavior are substituted with 1D lines or2D surfaces, respectively, resulting in objects that contain non-manifold singularities and parts of different dimensions.

ll rights reserved.

,

u (K. Weiss).

In the literature, both dimension-specific and dimension-independent data structures have been developed for cell andsimplicial complexes. The former typically exploit properties ofthe embedding domain to reduce storage requirements, while thelatter are independent of the embedding domain. Dimensionindependent incidence-based representations for cell [10] andsimplicial [4,7] complexes encode all the cells of the complex aswell as a subset of the incidence relations among the entities, andthus they tend to be quite verbose. In the case of simplicialcomplexes, adjacency-based data structures for manifold objects,and for 2D and 3D non-manifold objects have been shown to bemore compact and efficient, since they encode only the top

simplices, i.e. those simplices that are not on the boundary ofother simplices, as well as the adjacency relations among suchsimplices [6]. They have, therefore, been used in applicationswhich do not require an explicit encoding of all the simplices.

Here, we propose a dimension-independent data structure forsimplicial complexes, that we call the Generalized Indexed Data

Structure with Adjacencies (IA� data structure), which generalizesthe well known Indexed data structure with Adjacencies (IA datastructure) [18]. We show that the IA� data structure is able toretrieve all the relations among the simplices of a simplicialcomplex very efficiently, it is more compact than all the inci-dence-based representations and is even slightly more compactthan the dimension-specific ones [8,5]. This is interesting sincethe latter are able to exploit dimension-specific properties of their

Page 2: IA*: An adjacency-based representation for non-manifold simplicial shapes in arbitrary dimensions

D. Canino et al. / Computers & Graphics 35 (2011) 747–753748

embedding space, such as the linear ordering of triangles andtetrahedra around an edge in 3D, to reduce their storage require-ments. Furthermore, the IA� data structure is highly scalable to themanifold case. This means that, although it can handle arbitrarysimplicial complexes, it has negligible overhead, compared to theIA data structure, in manifold regions of the dataset. This isimportant since, in a typical modeling scenario, the non-manifoldirregularities in the shape arise in relatively few localized regionsof the shape.

The remainder of this paper is organized as follows. In Section 2,we summarize background notions about simplicial complexes andtopological relations, while in Section 3, we review related work. InSection 4, we describe the IA� data structure, its 2D and 3D instancesand their storage costs. We present navigation algorithms forefficiently retrieving topological relations among the simplices of acomplex in Section 5. In Section 6, we compare the IA� datastructure with dimension-independent and dimension-specific datastructures for simplicial complexes. Finally, in Section 7, we drawsome concluding remarks and discuss our current implementationof the IA� data structure as well as future developments.

2. Background notions

A Euclidean simplex s of dimension d is the convex hull ofdþ 1 linearly independent points in the n-dimensional Euclideanspace En, where drn is called the dimension of s and is denoteddimðsÞ. We refer to a Euclidean d-simplex as a d-simplex: a0-simplex is a vertex, a 1-simplex is an edge, a 2-simplex is atriangle, and a 3-simplex is a tetrahedron. Any Euclidean k-simplexs0, with kod, generated by a set of vertices Vs0DVs of cardinalitykþ1rd, is called a k-face of s. Where no ambiguity arises, thedimension of s0 can be omitted and s0 is simply called a face of s.

A finite collection S of Euclidean simplices forms a Euclidean

simplicial complex when (i) for each simplex sAS, all the faces ofs belong to S, and (ii) for each pair of simplices s and s0, eithers \ s0 ¼ | or s \ s0 is a face of both s and s0. The maximaldimension d of the simplices in S is called the order, or thedimension, of complex S. The domain, or carrier, of a d-dimen-sional Euclidean simplicial complex S embedded in En, with drn,is the subset of En defined by the union, as point sets, of all thesimplices in S.

The (combinatorial) boundary of a simplex s is the set of all thefaces of s in S, excluding s. The star of a simplex s denoted StðsÞis the set of simplices in S that have s as a face. Any simplex ssuch that StðsÞ contains only s is called a top simplex. The link of asimplex s, denoted LkðsÞ, is the set of all the faces of the simplicesin StðsÞ which are not incident in s.

Two simplices are incident to each other if one of them is a faceof the other, while they are k-adjacent if they share a k-face: inparticular, two vertices are called adjacent if they are bothincident at a common edge. An h-path is a sequence of (hþ1)-simplices ðsiÞ

ki ¼ 0 in a simplicial complex S such that two con-

secutive simplices si�1 and si in the sequence are h-adjacent. Twosimplices s and s� are h-connected when there exists an h-pathðsiÞ

ki ¼ 0 such that s is a face of s0 and s� is a face of sk. A subset S�

of a complex S is called h-connected if and only if any twosimplices of S� are h-connected. Any maximal h-connected sub-complex of a complex S is called an h-connected component of S.

A d-complex S in which all top simplices are d-simplices iscalled regular. A regular (d�1)-connected d-complex in which thestar of all (d�1)-simplices consists of one or two simplices iscalled a (combinatorial) pseudo-manifold. A manifold simplicialcomplex is a pseudo-manifold where the link of any k-simplex,with kod�1, is homeomorphic to the (d�k)-sphere.

Let us consider a simplicial d-complex S and a p-simplex sAS,with 0rprd. The topological relations are defined over S interms of the incidence and adjacency among its simplices:

Boundary relation: Rp,qðsÞ, with 0rqop, consists of the set ofq-simplices that are faces of s.

Co-boundary relation: Rp,qðsÞ, with poqrd, consists of the setof q-simplices incident in s.

Adjacency relation: Rp,pðsÞ consists of the set of p-simplices in Sthat are (p�1)-adjacent to s (when p40), or the set of 0-sim-plices that are adjacent to s through an edge (when p¼0).

We call constant any relation which involves a constant numberof entities, while relations which involve a variable number ofentities are called variable. In general, the co-boundary and adjacencyrelations in a simplicial complex are variable, while the boundaryrelations are constant. A constant relation should be retrieved by adata structure representing S in constant time, while variable rela-tions for a simplex s should be retrieved by examining a localneighborhood of s. If the retrieval of a relation requires examining allthe simplices of a specific dimension, then the data structure doesnot support an efficient retrieval of that relation.

3. Related work

Dimension-independent data structures, such as the cell-tuple

[1] and the n–G-map [14], have been proposed for encodingd-dimensional manifold cell complexes. The Incidence Graph(IG) [10] represents a general cell complex by encoding all thecells of the complex as well as boundary relations Rp,p�1 and co-boundary relations Rp�1,p. It provides a complete, but verbose,description of the complex. Simplified versions of the incidencegraph specific for simplicial complexes have been proposed in[4,7]. Both data structures encode all the simplices in a simplicialcomplex and subsets of the relations (which we denote as R�p,q)represented in the IG. The Indexed data structure with Adjacencies

(IA) is a dimension-independent data structure for manifoldsimplicial d-complexes embedded in the n-dimensional Euclideanspace [18]. It encodes only the d-simplices in the complextogether with boundary relation Rd,0 and adjacency relation Rd,d.Encoding an additional top d-simplex in the star of each vertex (i.e.R�0,d) enables the efficient retrieval of all topological relations.

Several dimension-specific data structures have been developedfor manifold 2D cell complexes [6], whereas some are specific fortriangle meshes, e.g. the corner table [19]. Data structures have beenproposed for modeling non-manifold and non-regular objects whoseboundaries are discretized as cell complexes. The Partial Entity (PE)data structure [13] is the most scalable to the manifold case, but it isstill verbose when applied to simplicial 2-complexes [6]. Dimension-specific data structures have been also proposed for encodingsimplicial 2-complexes [2,8,17]. The Loop Edge-use (LE) [17] andthe Directed Edge (DE) [2] data structures are for regular simplicialcomplexes in which non-manifold singularities occur only at edges.The former is a specialization of the PE data structure, while thelatter is an extension of the half-edge data structure [16] to non-manifold shapes. The Triangle-Segment (TS) data structure [8] is anadjacency-based representation for simplicial 2-complexes embe-dded in 3D space. It encodes all the triangles and vertices of thecomplex, but only the edges which are top simplices. A comparisonamong such data structures, presented in [6], shows that the TS datastructure requires about half of the space compared to the othertwo. The eXtended Map (X-Map) [3] data structure generalizes thecombinatorial maps described in [1,14], to handle non-manifold andnon-regular simplicial 2-complexes embedded in E3, and can bemore expensive than the IG and its variants.

Only a few representations have been proposed in the litera-ture for 3D manifold complexes. The Facet-Edge (FE) [9] and the

Page 3: IA*: An adjacency-based representation for non-manifold simplicial shapes in arbitrary dimensions

D. Canino et al. / Computers & Graphics 35 (2011) 747–753 749

Handle-Face (HF) [15] data structures both describe 3D cellsimplicitly by encoding the manifold complexes that form theirboundary. In [12], a scalable data structure for manifold tetra-hedral complexes has been proposed, which extends the cornertable [19] to the 3D case. An efficient extension of the corner tableto tetrahedral meshes has been recently proposed in [11]. TheNon-Manifold Indexed data structure with Adjacencies (NMIA) [5] isa dimension-specific extension of the IA data structure for non-manifold tetrahedral meshes embedded in 3D space. It encodesall tetrahedra, but only the top triangles and edges.

4. The IA� data structure

In this section, we introduce a new compact dimension-independent data structure for representing Euclidean simplicialcomplexes in arbitrary dimensions, that we call the Generalized

Indexed Data Structure with Adjacencies (IA� data structure), whichgeneralizes the IA data structure [18] to non-manifold and non-regular objects discretized as simplicial complexes.

The IA� data structure encodes all the top simplices of ad-dimensional simplicial complex S embedded in the n-dimen-sional Euclidean space (with drn) plus the following relations:

Rp,0ðsÞ:

boundary relation for each top p-simplex s, where0oprd;

R�p,pðsÞ:

partial adjacency relation for each top p-simplex s,where p41: it consists of all top p-simplices adjacentto s along a (p�1)-face;

R�p�1,pðtÞ:

partial co-boundary relation for each (p�1)-simplex ton the boundary of more than two top p-simplices, with0o ðp�1Þod: it consists of all top p-simplices incidentto t;

R�0,1ðvÞ:

partial co-boundary relation for each vertex v: it con-sists of all top 1-simplices in the star of v;

R�0,pðvÞ:

partial co-boundary relation for each vertex v, with2rprd: it consists of one arbitrarily selected topp-simplex for each (p�2)-connected component S0 ofthe link of v, LkðvÞ, where S0 is formed by top (p�1)-simplices in LkðvÞ.

e

v

f1

f2f3

f4

W1W2W3

W4

Fig. 1. A simplicial 2-complex embedded in E3. Partial adjacency relations R�2,2 for

a triangle f1 (red) along non-manifold edge e points to R�1,2ðeÞ ¼ ff1 ,f2 ,f3 ,f4g, which

is encoded only once for all triangles incident to e. Encoded co-boundary relations

for vertex v are R�0,1ðvÞ ¼ fw1 ,w2 ,w3 ,w4g and R�0,2ðvÞ ¼ ff1g, where f1 is arbitrarily

selected. (For interpretation of the references to color in this figure legend, the

reader is referred to the web version of this article.)

Relation R�p�1,pðtÞ encodes the co-boundary relation of the(p�1)-faces t of a top p-simplex s such that there are more thantwo top p-simplices adjacent to s along t. This facilitates anefficient encoding for relation R�p,pðsÞ along a (p�1)-face t aseither a single top p-simplex adjacent to s along t or as a pointerto the list of all top p-simplices incident in t (i.e. R�p�1,pðtÞ).

Note that for each d-simplex s, the encoded R�d,dðsÞ is actuallythe full adjacency relation Rd,dðsÞ since all d-simplices are topsimplices. When d¼n, any simplicial d-complex is a pseudo-mani-fold in the d-dimensional Euclidean space. In this case, Rd,dðsÞ is aconstant relation consisting of one simplex adjacent to s along eachof its (d�1)-faces. Consequently, R�d�1,dðsÞ is empty.

When the complex is regular, all top simplices are d-simplices,so the cardinality of partial co-boundary relation R�0,dðvÞ for avertex v is equal to the number of connected components of thelink of v. Since there are no top simplices of dimension less than d,the only boundary relations stored are Rd,0.

If the domain of S is a manifold, the IA� data structure reducesto the IA data structure. Specifically, R�0,pðvÞ is empty for any0opod, and R�0,dðvÞ contains just one d-simplex since the link ofa vertex v consists of a single (d�2)-connected component.Furthermore, since there are no non-manifold simplices, R�p�1,p

is always empty.

4.1. The IA� data structure in 2D and 3D

We consider here two instances of the IA� data structure forsimplicial 2- and 3-complexes in the 3D Euclidean space E3, thatwe call, for brevity, the IA�(2D) and IA�(3D) data structures.

The IA�(2D) data structure encodes the vertices as well as alltriangles (top 2-simplices) and all wire edges (top 1-simplices), i.e.edges not on the boundary of any triangle, plus the followingrelations:

R1,0ðsÞ:

boundary relation for each wire edge; R2,0ðsÞ: boundary relation for each triangle; R2,2ðsÞ: adjacency relation for each triangle s: it consists of all

triangles adjacent to s along an edge;

R1,2ðeÞ: co-boundary relation for non-manifold edge e, consisting

of all triangles incident to e;

R�0,1ðvÞ: partial co-boundary relation for each vertex v: it consists

of all wire edges in the star of v;

R�0,2ðvÞ: partial co-boundary relation for each vertex v: it consists

of one triangle from each 0-connected component of LkðvÞ

formed by at least one edge.

In a simplicial 2-complex embedded in E3, an edge e is non-manifold if more than two triangles are incident to e. Conse-quently, we can encode R2,2 along a non-manifold edge e as apointer to the list of all triangles incident to e, i.e. R�p�1,pðeÞ. Fig. 1illustrates the relations encoded by the IA�(2D) data structure fora small simplicial 2-complex in E3.

The IA�(3D) data structure encodes the vertices as well as thetetrahedra (top 3-simplices), the dangling faces (top 2-simplices)and wire edges (top 1-simplices) plus the following relations:

Rk,0ðsÞ:

boundary relation for each top k-simplex s; R3,3ðsÞ: adjacency relation for each tetrahedron s: it consists of

the four tetrahedra adjacent to s along the trianglesbounding s;

R�1,2ðeÞ:

partial co-boundary relation for each non-manifold edgee on the boundary of a top triangle: it consists of all toptriangles incident to e;

R�2,2ðsÞ:

partial adjacency relation for each dangling face s: it consistsof all top 2-simplices adjacent to s along their edges;
Page 4: IA*: An adjacency-based representation for non-manifold simplicial shapes in arbitrary dimensions

e

vw

t1t2

f1

f2f3

f4

Fig. 2. Simplicial 3-complex in E3. Adjacency relations among the tetrahedra are

R3,3ðt1Þ ¼ ft2g and R3,3ðt2Þ ¼ ft1g. Partial adjacency relations R�2,2 for the four top

triangles fi along non-manifold edge e points to R�1,2ðeÞ ¼ ff1 ,f2 ,f3 ,f4g. Co-boundary

relations for vertex v are R�0,1ðvÞ ¼ fwg; R�0,2ðvÞ ¼ ff1g (red), which is arbitrarily

selected from the single 0-connected component of edges in LkðvÞ; and

R�0,3ðvÞ ¼ ft1g (green), which is arbitrarily selected from the single 1-connected

component of triangles in LkðvÞ. (For interpretation of the references to color in

this figure legend, the reader is referred to the web version of this article.)

D. Canino et al. / Computers & Graphics 35 (2011) 747–753750

R�0,1ðvÞ:

partial co-boundary relation for each vertex v: it consistsof all top 1-simplices in the star of v;

R�0,2ðvÞ:

partial co-boundary relation for each vertex v: it consistsof one triangle for each 0-connected component in Lk(v)that consists only of top 1-simplices in Lk(v);

R�0,3ðvÞ:

partial co-boundary relation for each vertex v: it consistsof one tetrahedron for each 1-connected component ofLk(v) formed by triangles in Lk(v).

In a simplicial 3-complex embedded in E3, an edge e is non-manifoldwhen its link consists of more than one connected component. Thus,we can encode relation R2,2 along a non-manifold edge e as a pointerto all dangling triangles (top 2-simplices) incident in e, i.e. R�1,2ðeÞ.Fig. 2 illustrates relations encoded by the IA�(3D) data structure for asimplicial 3-complex in E3.

4.2. Implementation and storage costs

In our implementation of the IA� data structure, each simplexis indexed through an integer value. The vertices are encoded inan array storing the coordinates plus partial co-boundary rela-tions R�0,pðvÞ, with pZ1, which are encoded as variable-sizedarrays. Boundary relations for top p-simplices (with p41) arestored in arrays of dimension pþ1. For efficiency, partial adja-cency relation R�p,pðsÞ is encoded as an array with (pþ1) elements,each corresponding to a (p�1)-face t of s. If t is manifold, theelement of the array corresponding to t contains the index of theonly p-simplex adjacent to s along t. Otherwise, it contains apointer to a variable-size array encoding R�p�1,pðtÞ, which containsthe indexes of all top p-simplices incident in t.

In a simplicial d-complex S, we denote with si the total numberof its i-simplices, and with si

t the number of its top i-simplices, withi¼1, 2, y, d. The IA� data structure for encoding a d-dimensional

simplicial complex S embedded in the n-dimensional Euclideanspace stores the following number of integer values:

ðdþ1Þ � sd for boundary relation Rd,0; � ðjþ1Þ � st

j for partial boundary relations R�j,0, for 1r jod;

� ðdþ1Þ � sd for adjacency relation Rd,d; � ðkþ1Þ � st

k for partial adjacency relation R�k,k restricted to thetop k-simplices, with 1okod;

� Pskþ 1

q ¼ 1 nmkq for partial co-boundary relation R�k,kþ1 restricted to

non-manifold k-simplex t on the boundary of a top (kþ1)-simplex;

� 2st

1 for partial co-boundary relation R�0,1;P

� s0

j ¼ 1 ckq for partial co-boundary relation R�0,k, k41;

where nmkqAf0,1, . . . ,kþ2g denotes the number of non-manifold

k-faces in top (kþ1)-simplex sq and cqk denotes the number of

(k�2)-connected components of Lk(vq) consisting only of top(k�1)-simplices in Lk(vq). Thus, the total cost of the topologicalrelations in the IA� data structure is equal to

2Xd

j ¼ 1

ðjþ1Þstjþ

Xd�1

k ¼ 1

Xskþ 1

q ¼ 1

nmkqþ

Xd

k ¼ 2

Xs0

q ¼ 1

ckq,

where each item is an integer value. Substituting Ck forPs0

j ¼ 1 ckq

and NM1 forPs2

k ¼ 1 nm1k , we can determine the storage cost for

IAn(2D) to be 6s2þ4st1þNM1

þC2, and that of IAn(3D) to be8s3þ6st

2þ4st1þNM1

þC2þC3.

5. Retrieving topological relations

In this section, we show how to retrieve the topological relationsfrom the IA� data structure encoding a d-dimensional simplicialcomplex S embedded in the n-dimensional Euclidean space. Theseform the basis for navigating and manipulating the complex.

5.1. Retrieving boundary relations

All boundary relations Rp,0 are explicitly encoded. Boundaryrelation Rp,qðsÞ for a top p-simplex s, with 0oqop, can be simplyretrieved by generating all ðqþ1Þ-tuple s of vertices forming theq-faces of s. The time complexity is therefore Oððpþ1

qþ1ÞÞ.Boundary relation Rp,qðsÞ for a non-top p-simplex s, with qop,

can be retrieved only when s is specified as a p-face of a toph-simplex t, with h4p. In this case, the q-simplices which arefaces of s can be simply retrieved as above.

5.2. Retrieving co-boundary relations

We consider first co-boundary relations based on the vertices,which allow us to retrieve the simplices incident in any givenvertex v. Relation R0,dðvÞ, i.e. all d-simplices incident in v, isretrieved by starting from the d-simplices in R�0,dðvÞ and navigat-ing the complex by using the explicitly stored Rd,d relation. R�0,dðvÞ

gives us one d-simplex for each ðd�1Þ-connected cluster ofd-simplices incident in vertex v. Specifically, given the d-simplexs encoded in R�0,dðvÞ, we initialize the cluster with s and retrieveall d-simplices in the same cluster as s by a breadth-first traversalusing relation Rd,d.

Relation R0,d�1ðvÞ, i.e. the collection of all (d�1)-simplicesincident in v, is retrieved in two stages. First, we retrieve R0,dðvÞ

as above, and, for each d-simplex s in R0,dðvÞ, we extract its(d�1)-faces through boundary relation Rd,d�1ðsÞ. We then apply abreadth-first traversal of the elements in R�0,d�1ðvÞ using a similaralgorithm as above for R�0,dðvÞ. Thus, the retrieval of any R0,pðvÞ canbe performed by retrieving relations R0,jðvÞ and Rj,pðsÞ, with j4p,

Page 5: IA*: An adjacency-based representation for non-manifold simplicial shapes in arbitrary dimensions

D. Canino et al. / Computers & Graphics 35 (2011) 747–753 751

for every j-simplex s in R0,jðvÞ, for j¼ d,d�1, . . . ,p. The timecomplexity can be easily shown to be linear in the total numberof top simplices of dimension p,pþ1, . . . ,d incident in v.

Relation Rp,qðsÞ, with poq, for a p-simplex s is specified bydescribing s as a ðpþ1Þ-tuple ½v0,v1, . . . ,vp� of vertices. We thenretrieve R0,qðv0Þ and we select all the q-simplices t in R0,qðv0Þ suchthat all the other vertices ðv1, . . . ,vpÞ in the (pþ1)-tuple are inRq,0ðtÞ as well. For instance, for retrieving R1,3ðeÞ of an edgee¼ ðv0,v1Þ, we need to retrieve all tetrahedra incident in v0

through R0,3ðv0Þ and then we select only those tetrahedra contain-ing vertex v1 in their boundary. The time complexity of thealgorithm for retrieving Rp,qðsÞ is dominated by the complexityof retrieving relation R0,qðv0Þ, which is linear in the number of topsimplices incident in v0 of dimension from q to d.

5.3. Retrieving adjacency relations

Adjacency relation Rd,dðsÞ is stored in the IA� data structure foreach d-simplex s in S. Partial relation R�p,pðtÞ, p41, is stored forevery top p-simplex t and is restricted to the top p-simplices(p�1)-adjacent to t.

Adjacency relation Rp,pðsÞ, p40, for a top p-simplex s isextracted by considering R�p,pðsÞ, which gives us top p-simplices(p�1)-adjacent to s. The other p-simplices, which are not topsimplices, are retrieved by combining boundary relation Rp,p�1

and co-boundary relation Rp�1,p. Boundary relation Rp,p�1ðsÞ con-sists of (pþ 1) p-tuples of vertices formed by s’s vertices. For eachof them, we retrieve Rp�1,p as above. Note that R�1,1 does not needto be encoded in the IA� data structure.

If s is not a top simplex, then s must be specified as a p-face ofa top h-simplex t, with h4p. In this case, R�p,pðsÞ is empty andthus all p-simplices in Rp,pðsÞ need to be retrieved by combiningboundary relation Rp,p�1ðsÞ with co-boundary relation Rp�1,p.

Adjacency relation R0,0ðvÞ for a vertex v can be retrieved inexactly the same way as R0,1ðvÞ, since the edges in R0,1ðvÞ areexpressed as pairs of vertices.

The time complexity for retrieving adjacency relation Rp,pðsÞ,p40 is dominated by the time required for retrieving Rp�1,pðsÞ,which is linear in the number of top simplices incident in one ofthe vertices of s.

6. Analysis and comparisons

Recall that there are dimension-independent and dimension-specific data structures for simplicial complexes. Dimension-independent data structures for simplicial complexes are inci-dence-based, namely the Incidence Graph (IG) [10] and itsspecialized instances, the Simplified Incidence Graph (SIG) [4] andthe Incidence Simplicial (IS) [7] data structures. In the following,we will restrict our dimension-independent comparisons to the ISwhich has been shown to be the most compact [7]. Regardingdimension-specific data structures, it has been shown that the TSand the NMIA data structures are, respectively, the most compact2D and 3D representations for simplicial complexes and, thus, wewill restrict our dimension-specific comparisons of the IA� datastructure to these data structures. For brevity, we refer the readerto [7,8,5] for details on these data structures.

Incidence-based data structures: Given a d-simplicial complex Sembedded in En (with drn), the IS data structure [7] stores all

simplices of S, the full boundary relations Rp,p�1 and the partial co-boundary relations R�p,pþ1, i.e. one (pþ1)-simplex for each connectedcomponent in the link of each p-simplex. Let hq

p be the number ofconnected components in the link of a p-simplex sq, then the ISrequires

P0oprdðpþ1Þ � spþ

Pd�1p ¼ 0

Psp

q ¼ 1 hpq integers. In the link of

a simplex s, we can identify connected components related to top

simplices and components related to non-top-simplices, indicated asKi ¼

Psp

q ¼ 1 hiq. Thus, the IS requires 6s2þ2s1þ2st

1þ K0 integers in2D, and 8s3þ3s2þ2s1þ3st

2þ2st1þK0þK1 integers in 3D.

Adjacency-based structures: The primary difference betweenthe dimension-specific TS and NMIA data structures from theIA�(2D) and IA�(3D) data structures is that the former exploittheir embedding in E3 in their encodings of the topologicalrelations. Specifically, whereas the IA�(2D) encodes non-manifoldedges of triangles in R�2,2 using a pointer to the shared informationin R�1,2, the TS data structure encodes R�2,2 as a doubly linked listaround the non-manifold edges of its triangles. That is, eachtriangle along non-manifold edge e stores a pointer to theprevious triangle and the next triangle surrounding e in a clock-wise orientation. Over the entire data structure, R�2,2 requires3s2þ2NM1 integers, giving the TS data structure a total cost of6s2þ4st

1þC2þ2NM1 integers.The NMIA encodes its boundary relations similarly to the

IA�(3D), its vertex co-boundary relations similarly to the IS datastructure, i.e. one element per connected component, and orientsthe simplices in the link of non-manifold edges in clockwise ordersimilarly to the TS data structure. It encodes for each cluster (adangling face or a fan of tetrahedra) incident to non-manifold e,the preceding and following cluster surrounding e. Letting NM1,3

be the total number of such fans of tetrahedra and NM1,2 be thetotal number of dangling faces in the mesh (which is equivalent toNM1 for the IA�(3D)), the cost of the NMIA data structure is8s3þ6st

2þ4st1þK0þ2NM1

þ2NM1,3 integers.Since the most common applications of these meshes are for

simplicial 2- and 3-complexes embedded in E3, we compare theIA�(2D) against the IS(2D) and TS data structures, and the IA�(3D)against the IS(3D) and NMIA data structures. We summarize thestorage costs of the different data structures in terms of commonparameters, and compare them experimentally against a testbedof 62 simplicial 2- and 3-complexes of varying domains (mani-fold, regular, non-manifold) and complexity. We highlight arepresentational subset of the 2D datasets in Table 1 and of the3D datasets in Table 2.

In 2D, it is evident that the IA�(2D) is more compact than theTS by the term NM1. The key difference between the IS(2D) andthe IA�(2D) relates to the total number of edges in the meshcompared to the number of wire edges and non-manifold edges,i.e. 2s1 in the former vs. 2s1

tþ NM1 in the latter. Since the total

number of edges in the complex is generally significantly higherthan the number of non-manifold and/or wire edges, we expectthe IA�(2D) and TS data structures to be significantly morecompact than the IS(2D) data structure, and for the IA�(2D) tobe slightly more compact than the TS. Empirically, we found theIS(2D) to require approximately 45% more space than the IA�(2D)in all cases and the TS to require 0–5% more space that the IA�(2D)on a testbed of 43 simplicial 2-complexes that were manifold (8),non-manifold regular (20) and non-manifold non-regular (15).Table 1 highlights a representative sample of these results.

Similarly, in 3D, the primary difference between the IS(3D) andthe IA�(3D) and NMIA data structures relates to the total numberof triangles s2 and edges s1 compared to the number of toptriangles s2

t and top edges s1t , while the IA�(3D) and NMIA differ in

terms of the number of top simplices compared to the number ofnon-manifold edges, i.e. NM1

þC2þC3 vs. 2NM1þ2NM1,3

þK0. Tobetter understand the consequences of these different encodings,we analyze properties of 19 simplicial 3-manifolds in E3 that aremanifold (6), regular non-manifolds (3) and non-manifold non-regular (10) complexes, and present representative samples inTable 2. We observe that C2þC3 in the IA�(3D) encoding isapproximately equal to K0 for NMIA, although K0 can be smaller.Additionally, in the tested datasets, the NM1 and NM1,3 are gene-rally quite small and do not impose a significant overhead.

Page 6: IA*: An adjacency-based representation for non-manifold simplicial shapes in arbitrary dimensions

Table 2Statistics for representative manifold (top), non-manifold regular (middle) and non-manifold non-regular (bottom) simplicial 3-complexes S in E3 and their storage

requirements for the IS(3D), NMIA and IA�(3D) data structures. si are the total number of i-simplices, while sit and si

n are the subset that are top simplices and non-manifold

simplices. C2 and C3 are the sum of 0-connected and 1-connected components in the link of the vertices that consist of edges and triangles, respectively. K0 and K1 are the

sum of connected components in the links of the vertices and edges of the mesh, respectively. NM1¼NM1,2 and NM1,3 are the sums of non-manifold edges on the boundary

of top triangles and tetrahedra in S.

Model s0 s1 s2 s3 s1t s2

t s0n s1

n C2 C3 K0 K1 NM1 NM1,3 IS(3D) NMIA IAn(3D)

Rings 1.2K 6.4K 9.2K 4.0K – – – – – 1.2K 1.2K 6.4K – – 80.2K 33.2K 33.2K

Gargoyle 2.7K 14.7K 22.0K 10.0K – – – – – 2.7K 2.7K 14.7K – – 193K 82.7K 82.7K

Pinched torus 0.3K 1.3K 1.9K 853 – – 10 9 – 262 253 1.3K – 18 16.7K 7.1K 7.1K

Wheel 0.4K 2.1K 2.7K 1.1K 96 32 112 24 48 402 402 1.9K 32 80 24.2K 10.3L 10.2K

Balloon 1.1K 3.9K 3.6K 0.9K 64 1632 48 – 818 274 1.1K 1.4K – – 33.0K 18.0K 18.0K

Flasks 1.3K 6.3K 8.5K 3.5K – 469 40 36 242 1.1K 1.3K 5.6K 68 72 74.0K 32.0K 31.8K

Pot 4.7K 17.9K 17.0K 5.7K 2.9K 3.9K 1.1K 70 2.1K 1.7K 3.7K 9.1K 75 94 163K 84.7K 84.5K

Table 1Statistics for representative manifold (top), non-manifold regular (middle) and non-manifold non-regular (bottom) simplicial 2-complexes S in E3 and their storage

requirements for the IS(2D), TS and IA�(2D) data structures. Statistics are the total number of i-simplices (si), and the subset that are top simplices (sit) and non-manifold

simplices (sin). C2 ¼ K0 is the sum of connected components in the link of the vertices consisting of edges, while NM1 is the sum of non-manifold edges on the boundary of

triangles in S.

Model s0 s1 s2 s1t s0

n s1n C2 NM1 IS(2D) TS IAn(2D)

Football 1.2K 3.7K 2.5K – – – 1.2K – 23.4K 16.0K 16.0K

2D torus 10.4K 30.7K 20.5K – – – 10.4K – 195K 133K 133K

Pinched torus 1.8K 5.5K 3.7K – 1 – 0.3K – 35K 24K 24K

Armchair 5.3K 15.9K 10.6K – 57 56 5.3K 0.2K 101K 69.4K 69.2K

Robot 3.2K 10.0K 6.7K – 508 480 3.2K 1.4K 63.5K 46.4K 45K

Balance 4.1K 12.0K 8.0K 34 8 – 4K – 75.9K 51.9K 51.9K

Chandelier 9.2K 27.6K 18.3K 136 352 264 9.2K 0.8K 175K 121K 120K

Tower-wire 8.3K 24.6K 15.9K 896 1.3 K 795 7.9K 2.4K 154K 112K 109K

D. Canino et al. / Computers & Graphics 35 (2011) 747–753752

The IA�(3D) is the most compact data structure in all testeddatasets. In the manifold case, the IA�(3D) and NMIA require thesame storage, and are both about 1.5 times smaller than the IS(3D)data structure. In all other cases, NMIA requires approximately 3%more storage than IA�(3D). In the regular case, the IS(3D) requiresabout three times the space as IA�(3D), while it requires 2.2 timesthe space when dealing with non-regular datasets.

7. Concluding remarks

We have introduced the Generalized Indexed Data Structure with

Adjacencies (IA� data structure), a new dimension-independent datastructure for encoding non-manifold and non-regular objects inarbitrary dimensions discretized as d-dimensional simplicial com-plexes. We feel that the IA� data structure is the natural general-ization of the Indexed data structure with Adjacencies (IA datastructure) [18] to the domain of non-manifold and non-regularsimplicial shapes, since it is agnostic about its embedding space,and reverts to the IA data structure when presented with manifoldsimplicial shapes. We compared the IA� data structure with otherdimension-specific and dimension-independent representations, interms of storage costs and of efficiency in retrieving topologicalrelations. In terms of storage costs the IA� data structure is morecompact than all state of the art dimension-specific and dimension-independent representations, even those that take the embeddingspace into account. This behavior is even more evident when thenumber of non-manifold singularities and of non-maximal topsimplices is not too high, as is common in most non-manifold shapes.

We have developed a Cþþ library, the IA� library containing adimension-independent implementation of the IA� data structure.The current version supports the construction of the data structure as

well as the navigation queries described in Section 5. The construc-tion (which we omit for brevity) is performed from a soup ofsimplices. Currently, we are enhancing the library by developingtopological manipulation operators, in particular the vertex-pair

contraction operator, to enable simplifications and repair on generalsimplicial complexes. The IA� library is part of a set of tools fornavigating and manipulating simplicial complexes in arbitrarydimensions, and contains implementations of the IS [7], IG (IncidenceGraph) [10] and SIG (Simplified Incidence Graph) [4] data structures.

We have performed some experimental comparisons betweenthe IG, the IS, and the IA� data structures in terms of efficiency of thetopological queries. Our initial results indicate that the IA� datastructure is the most efficient when extracting boundary relations,requiring approximately half the time to extract the boundary of asimplex. Extracting the co-boundary of a vertex from the IA� datastructure also requires about half the time as the IG and the IS datastructures. Interestingly, the extraction times for non-vertex sim-plices in the IA� are within 5% of those for the IS data structure,despite the need to extract the co-boundary of a vertex incident inthat simplex and filter the results in the former case.

Acknowledgments

We would like to thank the anonymous reviewers for theirmany helpful suggestions. This work has been partially supportedby the National Science Foundation under grant CCF-0541032.

Appendix A. Supplementary data

Supplementary data associated with this article can be foundin the online version at doi:10.1016/j.cag.2011.03.009.

Page 7: IA*: An adjacency-based representation for non-manifold simplicial shapes in arbitrary dimensions

D. Canino et al. / Computers & Graphics 35 (2011) 747–753 753

References

[1] Brisson E. Representing geometric structures in d dimensions: topology andorder. In: Proceedings of the 5th ACM symp. on computational geometry.ACM Press; 1989. p. 218–27.

[2] Campagna S, Kobbelt L, Seidel H-P. Directed Edges—a scalable representationfor triangle meshes. Journal of Graphics Tools 1998;3(4):1–12.

[3] Cazier D, Kraemer P. X-Maps: an efficient model for non-manifold modeling.In: Proceedings IEEE shape modeling international. IEEE Computer Society;2010. p. 226–30.

[4] De Floriani L, Greenfieldboyce D, Hui A. A data structure for non-manifoldsimplicial d-complexes. In: Proc. Eurographics/ACM symp. on geom. proces.ACM; 2004. p. 83–92.

[5] De Floriani L, Hui A. A scalable data structure for three-dimensional non-manifold objects. In: Proceedings eurographics symposium on geometryprocessing; 2003. p. 72–82.

[6] De Floriani L, Hui A. Data structures for simplicial complexes: an analysis anda comparison. In: Proc. of the 3rd eurographics symp. on geometry proces-sing; 2005. p. 119–28.

[7] De Floriani L, Hui A, Panozzo D, Canino D. A dimension-independent datastructure for simplicial complexes. In: Proceedings of the IMR. Springer;2010. p. 403–20.

[8] De Floriani L, Magillo P, Puppo E, Sobrero D. A multi-resolution topologicalrepresentation for non-manifold meshes. CAD Journal 2004;36(2):141–59.

[9] Dobkin D, Laszlo M. Primitives for the manipulation of three-dimensionalsubdivisions. Algorithmica 1989;5(4):3–32.

[10] Edelsbrunner H. Algorithms in combinatorial geometry. Springer; 1987.[11] Gurung T, Rossignac J. SOT: a compact representation for tetrahedral meshes.

In: Proc. of the SIAM/ACM geometric and physical modeling. San Francisco,USA; 2009. p. 79–88.

[12] Lage M, Lewiner T, Lopes H, Velho L. CHF: a scalable topological datastructure for tetrahedral meshes. In: Proceedings SIBGRAPI; 2005. p. 349–56.

[13] Lee SH, Lee K. Partial-entity structure: a fast and compact non-manifoldboundary representation based on partial topological entities. In: Proc. ACMsymp. on solid modeling and applications; 2001. p. 159–70.

[14] Lienhardt P. Topological models for boundary representation: a comparisonwith n-dimensional generalized maps. CAD Journal 1991;23(1):59–82.

[15] Lopes H, Tavares G. Structural operators for modeling 3-manifolds. In: Proc. of the4th ACM symp. on solid modeling and applications. ACM Press; 1997. p. 10–8.

[16] Mantyla M. An introduction to solid modeling. Computer Science Press;1987.

[17] McMains S. Geometric algorithms and data representation for solid freeformfabrication. PhD thesis, University of California at Berkeley; 2000.

[18] Paoluzzi A, Bernardini F, Cattani C, Ferrucci V. Dimension-independentmodeling with simplicial complexes. ACM Transactions on Graphics1993;12(1):56–102.

[19] Rossignac J, Safonova A, Szymczak A. 3D compression made simple: edge-breaker with zip & wrap on a corner-table. In: Proc. shape modeling interna-tional; 2001. p. 278–83.