Representing geometric structures ind dimensions: Topology and order

Discrete & Computational Geometry, Apr 1993

This work investigates data structures for representing and manipulatingd-dimensional geometric objects for arbitraryd ≥ 1. A class of geometric objects is defined, the “subdividedd-manifolds,” which is large enough to encompass many applications. A new representation is given for such objects, the “cell-tuple structure,” which provides direct access to topological structure, ordering information among cells, the topological dual, and boundaries. The cell-tuple structure gives a simple, uniform representation of subdivided manifolds which unifies the existing work in the field and provides intuitive clarity in all dimensions. The dual subdivision, and boundaries, are represented consistently. This work has direct applications in solid modeling, computer graphics, and computational geometry.

A PDF file should load here. If you do not see its contents the file may be temporarily unavailable at the journal website or you do not have a PDF plug-in installed and enabled in your browser.

Alternatively, you can download the file locally and open with any standalone PDF reader:

Representing geometric structures ind dimensions: Topology and order

Discrete Comput Geom Order 0 1 0 Annual A CM Symposium on ComputationalGeometry. t Current address: Department of Computer Science , WellesleyCollege,Wellesley,MA 02181 , USA 1 University of Washington , Seattle, WA 98195 , USA This work investigates data structures for representing and manipulating d-dimensional geometric objects for arbitrary d >_ 1. A class of geometric objects is defined, the "subdivided d-manifolds," which is large enough to encompass many applications. A new representation is given for such objects, the "cell-tuple structure," which provides direct access to topological structure, ordering information among cells, the topological dual, and boundaries. The cell-tuple structure gives a simple, uniform representation of subdivided manifolds which unifies the existing work in the field and provides intuitive clarity in all dimensions. The dual subdivision, and boundaries, are represented consistently. This work has direct applications in solid modeling, computer graphics, and computational geometry. 1. Introduction Many computational models of physical and mathematical phenomena describe objects as a set of simple building blocks connected by some proximity relation. This allows the separation of the description of geometry (the °'shape" of the building blocks) from topology (the relation between the building blocks). While there are a great variety of different geometric descriptions, many models use basically the same topological framework. The class of "subdivided d-manifolds" defined in Section 3 gives such a topological framework and allows a very general geometric structure. The basic building blocks in subdivided manifolds are k-dimensional cells, where 0 < k <_ d. A basic requirement of any representation is that it represent topological structure up to equivalence. As an example, the two objects in Fig. 1 are considered to be equivalent. The definition of topological equivalence is given in Section 3. It is also useful to have access to several other properties. A n u m b e r of computational geometry algorithms use ordering information, for example: the only k n o w n optimal three-dimensional convex hull algorithm [29]; the divideand-conquer m e t h o d (one optimal algorithm) for building the two-dimensional Voronoi diagram [16], [19], [33]; and one way of describing the optimal algorithm for constructing the two-dimensional arrangement [6] (the other method is given in [13]). Figure 2 shows, within a subdivision of a surface: (a) an ordering of the edges and faces I incident to a vertex, and (b) an ordering of the vertices and edges incident to a face. Figure 3 shows, within a subdivision of a three-dimensional object: (a) an ordering of the faces and volumes incident to an edge, (b) an ordering of the edges and faces incident to both a vertex and a volume, and (c) an ordering of the vertices and edges incident to a face. These kinds of ordering are unified and generalized to d-dimensions in Section 7. Given a subdivision of an object, it is sometimes useful to have access to the topological dual of that subdivision. A classic example in computational geometry is the duality between the Voronoi diagram and the Delaunay diagram. In rough t The term "face" is used in two differentways in this paper: to denote a two-dimensionalcell in a two- or three-dimensionalsubdivided manifold; or to denote a subcell of a simplex. Representing Geometric Structures in d Dimension,, terms, the dual of a subdivided d-dimensional object is a subdivision of the same object produced by replacing every k-dimensional cell by a (d - k)-dimensional cell, while maintaining the corresponding incidence relations. An example is given in Fig. 4 (the original subdivision is depicted by solid lines and solid circles, while the dual is shown by dashed lines and open circles). The objects encountered when modeling real-world phenomena often have boundaries, so to be useful in practice, a representation must be able to handle boundaries consistently. Figure 5 gives an example of an object and its boundary. In the field of computational geometry, the most widely used and longeststanding representation of topological structure is the incidence graph [12], [15], [32]. This is a graph containing a node for every cell in an object, with arcs connecting nodes if the corresponding cells are incident and differ in dimension by one. The incidence graph does not provide any direct access to ordering information. Accessing ordering information requires searching in the graph, or the addition of auxiliary data structures, e.g., linked lists. Ii/ \ I I i i I !) Fil. 4. Example of the dual, The original sule~tivisionis depicted bY solid lines and solid circles, while the dual is shown by dashed lines and open circles. Note the one-to-one correspondences between original faces and dual vertices, between original edgesand dual edges, and between original vertices and dual faces. manifAoldsu-wbditihv-ibdoeudndary Its boundary Fig. 5. Exampleof an objectand its boundary. In the case of two-dimensions, ordering information may be attached to edges; such edge-based schemes [2,1, [7!, [25,1 work out nicely because an edge is always incident to at most two faces and to at most two vertices. Similar work appears in the context of constructive solid geometry, where one method of representing solid (three-dimensional) objects is to represent their boundaries (e.g., [1,1, [3,1, [t 1,1,and [23]). Other work on representing subdivided surfaces appears in [10,1, [14,1, [20,1, and [34,1. For a comparative analysis of edge-based representations, see the work of Weiler [38,1, [39,1. In 1984 Guibas and Stolifi [16,1 introduced the "edge algebra," which uses a single basic unit (the directed, oriented edge), together with three simple operators, to represent the structure of, and ordering in, subdivisions of surfaces (2-manifolds). Faces and vertices are represented implicitly by "rings" of directed, oriented edges. The edge algebra can be characterized in an abstract setting as a finite set with three operators (following certain rules) acting on them. A one-to-one correspondence is shown between subdivided 2-manifolds and abstract edge algebras. The development includes an explicit representation of the dual subdivision, allowing symmetric access to the dual. Two primitive constructors are given for creating and combining edge algebras, capable of producing the edge algebra corresponding to any subdivided 2-manifold. The implementation of the edge algebra is called the "quad-edge data structure." In 1987 Dobkin and Laszlo [9,1 gave a generalization of this new idea to the three-dimensional case. They use a single basic unit, the "facet-edge," along with a set of five operators for moving within the structure, and four constructors. A somewhat similar data structure was described by Buckley [5]. One of the main properties of the new approach opened up by Guibas, Stolfi, Dobkin, and Laszlo is that it represents cells implicitly (by certain sets of basic elements). For this reason, the representations developed in this new line of research will be referred to as "implicit-cell representations," and the more conventional approaches will be referred to as "explicit-cell representations." This paper is concerned with generalizing the implicit-cell approach to the general case of arbitrary dimension. Similar work has been done independently by Lienhardt [21,1; while the approach and the class of objects considered in his work is different from that in this work, the underlying idea is the same. The main difference is that the present work defines and uses the class of subdivided manifolds, which allows a simple desciption of the basic elements and operators, and allows the results given by the three main theorems of this paper. The work of Tits [36] also contains a similar idea in an entirely different context, proving properties of mathematical objects called "buildings." The present work introduces the "cell-tuple structure," a new representation of d-dimensional geometric objects, which contains in an easily accessible form the topological structure, ordering information, the dual, and boundaries. The basic elements are (d + 1)-tuples of cells, and the basic operators act on the components of these tuples in a natural way. Part of this work is the careful identification of an appropriate class of geometric objects, the subdivided manifolds, which encompass a large class of natural objects. The main results are given as three theorems. The first theorem shows a relationship between sets of incident cells in a subdivided manifold and orbits of cell-tuples in its cell-tuple structure, which allows a simple description of many natural decompositions of objects and gives a unifying framework for existing representations. The second theorem shows that both the incidence graph and the cell-tuple structure are powerful enough to represent subdivided manifolds up to topological equivalence. The third theorem shows that circular orderings of cells exist in subdivided d-manifolds for all 1 < k _<_<d: given a (k - 2)-dimensional cell which is incident to a (k + 1)-dimensional cell, there is a simple closed path encountering each of the cells "between" them exactly once. To prove the theorems, the "generalized barycentric subdivision" of a subdivided manifold is defined. This gives the connection between the "continuous" subdivided manifolds and the "discrete" cell-tuple structure, and is essential to understanding implicit-cell representations and seeing the basic similarity which they all share. The cell-tuple structure may be implemented in several ways: as a set of abstract entities acted on by operators following "algebraic" rules; as a regular, arc-labeled graph; or as a data base acted on by relational queries. The "ring of cells" in any ordering can be obtained by a straightforward application of the basic operators. Each cell-tuple contains "positional" information, e.g., which endpoint of an edge you are near, which side of a face you are on, etc. Constructors are defined for creating and manipulating subdivided manifolds. 2. Problems with the Combinatorial Approach in Higher Dimensions The representations of topological structure considered in this paper are combinatorial in nature, in that they are discrete structures representing relations between cells. One of the nice properties of the existing schemes in two dimensions (e.g., [16]) is that they are complete and unambiguous: a one-to-one correspondence may be established between all subdivided 2-manifolds (surfaces) and all valid instances of a combinatorial representation. While it would be nice to keep this property when generalizing to higher dimensions, it is unlikely that this will be possible. While all surfaces may be characterized combinatoriaUy by the classification theorem for sufaces [8], [35], there is no corresponding classification theorem for d-manifolds for any d > 3. A famous problem in mathematics is whether the Poincar6 conjecture [28] is true or false: that among 3-manifolds the 3-sphere is characterized by having a trivial fundamental group. 2 Since there is currently no way to identify the 3-sphere combinatorially, it is unlikely that there is any simple way to decide if a combinatorial structure is a 4-manifold. The same holds for d > 4. Furthermore, two related results show that such an approach is not feasible. Markov [24] showed that the problem of recognizing whether two d-manifolds are homeomorphic (for d >_4) is recursiverly unsolvable, and S. P. Novikov (see [37]) showed that the problem of recognizing a d-sphere (for d > 5) is recursively unsolvable. These results suggest that any combinatorial scheme which is general enough to represent all subdivided manifolds is also bound to allow nonmanifolds as well. Unfortunately, this implies that when building and manipulating such general combinatorial representations of geometric objects in higher dimensions, no matter what set of rules are imposed, the risk is run of constructing what Dobkin and Laszlo [9] aptly term "exquisite garbage." An alternative is to restrict the class of subdivided manifolds allowed; though it is not known how to determine whether or not an arbitrary combinatorial object may be realized as a subdivided manifold, in applications it is usually possible to use heuristics to ensure that manifold structure and other desired properties are maintained. (See [4] for further discussion of the combinatorial approach for manifolds and pseudomanifolds.) 3. Subdivided Manifolds In geometric modeling, the objects being represented, and the building blocks which make them up, must be carefully chosen and well defined. Manifolds are a natural choice for objects in higher dimensions because they are simply defined, there are useful mathematical results available, and they are general enough to include most objects which occur in real applications. Informally, a d-manifold is a topological space which looks locally like d-dimensional Euclidean space. (The reader is referred to [26] and [27], or [4], for topological background.) Many of the existing representations in two and three dimensions use manifolds or some restricted class of manifolds. There are several possibilities for the basic buidling blocks. In this work, cells which are homeomorphic to open balls are used, where "self-intersecting" boundaries are not allowed. If self-intersecting boundaries were allowed, many of the results would still hold, but the description would not be as simple and clean. If more complicated building blocks are allowed (e.g., solid tori in three dimensions), 2The (homotopic)fundamentalgroup is a basicconceptin algebraictopology,whichmaybe found in introductorytextson the subject.It is not used(directly)in this paper. then representing the structure of their boundaries is not enough to specify their topology; thus a separate data structure is required. Since a goal of this work is to provide a single data structure, this possibility is not considered. For integers k > 0 denote the open unit k-ball by IBk, and the closed unit k-ball by Bk. F o r k = 0, let B° and B° each consist of a single point. An open k-ceil is a space which is home___omorphicwith Bk and a closed k-cell is a space which is homeomorphic with Bk. Both open and closed k-cells are said to have dimension k. A nonempty Hausdorff space X is called a d-manifold if each point of X has a neighborhood homeomorphic with Bd. Some authors include in their definition of a manifold that it have a countable basis, or that it be metrizable; neither restriction is added here. It is called a d-manifold-with-boundary if each point of X has a neighborhood homeomorphic with either Bd or IBd1/2, where IBd/2 = {(Xl. . . . . xd)e EdI(x~ + ' ' " + X2)1/2 < 1 and xl > 0}. The class of manifolds-with-boundary includes manifolds (without boundaries), but not vice versa. A point x in a manifold-with-boundary X is called a boundary point if its neighborhoods (of the type mentioned in the definition) are homeomorphic to Bd/2 . The set of all boundary points of X is called the boundary of X, denoted t3X. Points of X which are not boundary points are called interior points, and the set of all interior points is denoted by Int X. In this paper use is made of the boundary and interior of balls, simplices (defined in Section 4), and manifolds. Balls always have the subspace topology as a subspace of Rk. If a closed k-ball is considered as a manifold-with-boundary, its boundary and interior as a manifold-with-boundary agree with its boundary and interior as a subspace of Rk. Note that Bk = Int IBk. The same observations hold for k-dimensional simplices. When the interior or boundary of a general manifold-with-boundary are taken, the manifold-with-boundary definition will always apply. Define a subdivided d-manifold as a pair (M, C), where M is a d-manifold and C = {c,}=~ic is a finite collection of disjoint subsets of M whose union is M such that for each ~te lc: • There is an integer k and an embedding f~: Bk ~ M such that f~(Bk) = c~ and L ( B ~) = ~ . • ~ - c~ is equal to a union of cells from C. It is not hard to show that this definition is equivalent to saying that (M, C) is a finite, regular CW complex in which M is a d-manifold. This fact is used in the proof of Lemma 1, and puts the definition of subdivided manifolds in the proper mathematical context. The definition of subdivided d-manifold-withboundary is the same as that for subdivided d-manifold, except that M is a d-manifold-with-boundary. By this definition, each c, e C is an open k-cell for some k between 0 and d, inclusive. The open cells in subdivided manifolds are referred to simply as cells. Examples of 1-cells in a subdivided manifold are given in Fig. 6, and examples of 2-cells in a subdivided manifold are given in Fig. 7. E, Brisson d Not valid l-cells e Valid l-cells Valid 2-cells Not valid 2-cells Fig. 7. 2-cells in a subdivided manifold. Dots represent 0-cells, curved lines represent l-cells, and shaded areas represent 2-cells. Observe that (a), (b), and (c) each consist of an open 2-cell whose boundary is a path of nonoverlapping 0-cells and 1-cells, hence are homeomorphic to B2. The cells making up the boundary of the 2-cells in (d) and (e) do not form a simple path (their boundaries "self-intersect"). The single l-cell in the boundary of the 2-cell in (0 is not a valid 1-cell, as its boundary self-intersects. The closed curve making up the boundary of the 2-cell in (g) is not a 1-cell. The shaded area in (h) is not a 2-cell, as it is not homeomorphic to B2. 8, C c 5 self-intersecting boundaries. The dimension of a cell c~ e C is d e n o t e d by dim(c,). Let c,k be a k-cell a n d let c,, be an /-cell. If c,~ ___b,, write c,k < c~,, and say that c,~ is a subeeli of c,,. T h e cells c~, and c,, are incident if c,~ < c,, or c,, < c,~. N o t e that < is a strict partial ordering of C. A sequence 7io,. .... ai~ of cells satisfying ~0 < "'" < ai~ is called an ascending chain of cells. If c,~ < c,, and l = k + 1, write c,, -< c,,. If M is a manifold-with-boudary, a k-cell c, ~_ c3M is called a boundary k-cell. T w o subdivided d-manifolds (or subdivided d-manifolds-with-boundary) are equivalent, (M, C)-~ (N, D), if there is a h o m e o m o r p h i s m between M a n d N carrying k-cells o n t o k-cells. An example of two equivalent subdivided 3-manifoldsw i t h - b o u n d a r y was given in Fig. 1. F o r n o t a t i o n a l convenience, we assume the existence of a cell c,_, of dimension - 1 and a cell c~+, o f dimension d + I, such that c~_, < c~ < c~+, for all c~ e C. It is stressed that this is notation only, and these cells are never actually used. F o r example, when we write c.... < c,~ -< c,~+,, where d i m ( c J = i, it is u n d e r s t o o d that if k = 0, this simply means c~0 -< c,,, and if k = d, it simply means c,~_, -< c,,. T h e incidence g r a p h can be defined using the partial ordering defined on cells. This g r a p h has a node for every cell and arcs connecting two nodes if and only if the c o r r e s p o n d i n g cells are incident and differ in dimension by one. It is convenient to refer to the nodes by the indices of the ceils, so the node set for the incidence g r a p h of (M, C) is the index set I c. The incidence graph of (M, C) is ~ u . c ) = (Ic, <), where ~k < ~l¢~-C,, -< C,,. It is assumed that associated with the incidence g r a p h is a labeling of the index set giving the dimension o f its associated cell, dim(c0 = k , ~ dim(c~) = k. 4. The Generalized Barycentric Subdivision The generalized barycentric subdivision of a subdivided manifold is defined in this section. An u n d e r s t a n d i n g of the generalized barycentric subdivision gives the right vantage point for understanding the mathematics underlying this work, and for seeing the underlying similarities among all of the implicit-cell representations. It is also a crucial object in the proofs of the theorems given in Sections 6 and 7, giving a link between subdivided manifolds and their combinatorial representation. The definition of the generalized barycentric subdivision applies to subdivided manifolds-with-boundary as well as subdivided manifolds. Note that the term generalized barycentric subdivision is used for two different concepts in the algebraic topology literature. Our definition agrees with that in [22], but is different from that in [27]. Given a subdivided manifold (M, C), the partial order defined by its incidence relation is used to define a simplicial complex. Lemma 1 shows the existence of a homeomorphism from this simplicial complex onto (M, C), thus giving a triangulation of the manifold M. Furthermore, this triangulation is a refinement of (M, C) which allows the cells of C to be written in a very convenient form. (A refinement of (M, C) is a subdivided manifold (M, D) in which every cell of D is contained in a cell of C. In this particular case, the cells of D are the images of simplices under the homeomorphism.) An intuitive description of the generalized barycentric subdivision is given now, by giving an informal sketch of a construction of the set of cells which make it up. F o r every cell c~ ~ C create a new vertex c,a(00 in c,. For every pair of cells c~k' < c~k2 in C, add a new 1-cell C~a(~k,,OC2k) in c~2 having as endpoints the new 0-cells Csd(0tk), and Csa(Ctk:).For every ascending chain c,~, < c,,2 < c ~ of three cells, add a 2-cell in c,~ which has as its boundary the 0-cells C~a(Otk,),C~a(O~k),and C~d(Ctk) and the 1-cells C~d(O~k,,Otk), C~,a(~k,,O~k,),and C,d(Otk~,Ctk). Continue "filling in" cells of increasing dimension in this fashion, until finally new d-cells are added for all maximal ascending chains of cells in the partial order on C. The set of newly defined cells gives the generalized barycentric subdivision. (See Fig. 9.) a~ 0 ~b 1 Fig. 9. Example of construction of the generalized barycentric subdivision, At the top is a subdivided 2-manifold-with-boundary. The bottom sequence shows the construction. First five new vertices are added, one in each of the five cells; then eight edges are added, one for each pair of incident cells; and finally four faces are added, one for each full ascending chain of cells. A k-simplex, k >_ 0, is the convex hull of k + 1 affinely independent points in ll~d. A face of a simplex is a simplex formed by a subset of the simplex's vertices. The following notation is used to identify particular simplices: if v l , . . . , va are points in Rd, tr(v1. . . . . vz) denotes the simplex defined by v~. . . . , vt. A simplicial complex K in Rd is a collection of simplices in Rd such that every face of a simplex of K is in K and the intersection of any two simplices of K is a face of each of them. The polytope (or underlyingspace) of a simplicial complex K is IKI = U,,-~ K a. A triangulation of a space X is a simplicial complex K together with a homeomorphism h: IK I --' X. An abstract simplicial complex d is a collection of finite nonempty sets, such that if A is an element of the collection, so is every subset of A. The vertex scheme of a simplicial complex is the abstract simplicial complex defined by the vertex sets of its simplices. A geometric realization of an abstract simplicial complex ~¢ is any simplicial complex whose vertex scheme is ~¢. If (M, C) is a subdivided d-manifold or a subdivided d-manifold-with-boundary, where C = {c~}~xc, define the abstract simplicial complex = { { % . . . . . < "" < + I ¢ ) . For example, ~¢~M.C~for the subdivided manifold shown in Fig. 9 is {a, b, 1, 2, A, al, a2, bl, b2, aA, bA, 1A, 2A, alA, a2A, blA, b2A}. Let KtM.C~ be any geometric realization of ~¢(M,C~,SO that the vertex v~,e K~M,c~ corresponds to {ei} e ~¢tM.c~.This always exists by Theorem 3.1(a) of [27]. It may be assumed that Ktu.c ~is embedded in Nn for some n (see the proof of Theorem 3.1(a) of [27]). If ~: tKtM.c~I ~ M is a homeomorphism and c%< . . . < ei,, define %(% . . . . . ei~) = ~,(Int a(v~,o. . . . . v~,)); thus c,(% . . . . . e~) is the image under ~, of the interior of the simplex tr(v~. . . . . v~,). Recall that the interior of a vertex is equal to the vertex, so that c~,(%) is a point in M. Lemma 1. I f (M, C) is a subdivided d-manifold or a subdivided d-manifold-withboundary, then there exists a homeomorphism OtM.C):IKtM.C~I--' M such that c , = U In the statement of this lemma, and in the remainder of the paper, the following convention holds: the set of sequences over which the union is taken includes the sequence consisting only of c~. Proof The proof is omitted for brevity. It involves a formalization of the construction given earlier in this section, and may be found in [4]. [] F o r a given (M, C), let @~u,c) be a homeomorphism satisfying Lemma 1, and E~Brisson 398 (M, Cu) is the generalized barycentric subdivision of (M, C). (M, C~d) is a subdivided d-manifold or subdivided d-manifold-with-boundary itself, and each cell c~d(~e. . . . . ctl,) of C~d is the image under ~(u.c) of the interior of the simplex tr(v~,°. . . . . v~,). Because characteristic maps are not unique, the barycentric subdivision is not unique, but is unique up to equivalence. The generalized barycentric subdivision allows the use of theorems from algebraic topology about triangulated manifolds in the proofs of the main results, and may be used when extending those results to manifolds-with-boundary. Writing cells in C as unions of cells in C~ is useful in proofs, and allows the definition of the dual in a straightforward manner in Section 8. Note that the proof of Lemma 1 depends on the basic building blocks being open cells and on the characteristic functions being homeomorphisms. The definition of the generalized barycentric subdivision depends on Lemma 1. The proof of Lemma 2 in the next section makes use of the generalized barycentric subdivision, and L e m m a 2 is necessary for the definition of the cell-tuple structure. In short, the results in this paper depend critically on the particular definition of subdivided manifolds. Two facts about K(M.c) for manifolds and manifolds-with-boundary are used at various times in the remainder of the paper. The first says that in a triangulated manifold or manifold-with-boundary, every simplex is a face of a d-simplex. This follows from Exercise 35.4 of [27]. Fact 1. I f a ~ K(M.c ~, then: (a) a is a d-simplex, or (b) a is contained in a d-simplex. Since KtM, c) is homeomorphic to M, and is trivially triangulated, it is a triangulated manifold. The following fact says that a (d - 1)-simplex in K(u.c) is in the boundary of IK(u,c)l if and only if it is incident to exactly one d-simplex (otherwise it is incident to exactly two d-simplices). This fact follows from Exercise 35.4 of [27]. Fact 2. I f a e K(M.c) is a (d - 1)-simplex, then: (a) a ~ c~lK(M.c)l=:"a is contained in exactly two d-simplices. (b) a ~_ dlK(u.c)l =~ a is contained in exactly one d-simplex. 5. The Cell-Tuple Structure The basic elements of the cell-tuple structure are now defined. If (M, C) is a subdivided d-manifold, a (d + 1)-tuple (Go. . . . . C,d) of cells from C such that c~,e C, C~o~ ( - . - -< c~ is called a ceil-tuple. Tuples are conceptually simple a n d change in a uniform way with dimension. This simplicity and uniformity carries over to the cell-tuple structure. The set of all cell-tuples for (M, C) denoted by T~u,c~ = {(C~o. . . . . %)1c~, e C, c~o < . . . -< c J . T h e k - c o m p o n e n t of a cell-tuple t = (c~ . . . . . c~) is denoted by t k = Ca~. T h e basic o p e r a t o r s act on c o m p o n e n t s of the cell-tuples. Before defining these o p e r a t o r s the following l e m m a is needed, which shows that if a c o m p o n e n t of a given cell-tuple is specified, then there is a unique cell-tuple which agrees with the given cell-tuple on all c o m p o n e n t s except the specified one. Lemma 2. I f ( M , C) is a subdivided d-manifold, t ~ T~M.c~,and 0 < k < d, then there is a unique t' E T~M.c~such that t'k ~ tk and tl = tifor all i ~- k. Recall from Section 4 that v~ denotes the vertex of KtM.C~ c o r r e s p o n d i n g to c~ e C. In this section tr(~ t . . . . . ~t) is used as s h o r t h a n d for the simplex tr(v. . . . . . . ~,~,) c o r r e s p o n d i n g to the chain of cells c% < "" < c~,,e C. Proof L e t t ~ T ~ M ,c) a n d 0 _ < k < d . I f t = ( c ~ o. . . . . c.... , c , , , c .... , . . . . c , , ) , l e t a = tr(Cto. . . . , ~k- 1, ~k, Ctk+1. . . . . Ctd) and let a' = a(% . . . . . ~k- 1, ~k+ 1. . . . . atd). By Fact 2(a), there is a d-simplex or" # a which contains tr'. There must exist a k-cell c,~ such that a" = 0-(% . . . . . ak- ~, ~,, Ztk+ ~. . . . . ~n). Let t' = (c~ o. . . . . c . . . . . c ~ , c ~ + , . . . . . c~). This guarantees that the following definition of the basic o p e r a t o r s is well defined. F o r 0 < k < d, define switchk: Ttu,c ~---}T~M.c) by switchk(t) = t', where t' is such t h a t t~, ~ tk and t~ = ti for i # k, as given by L e m m a 2. T h e result of switchk(t) is to return the cell-tuple which agrees with t on all but the kth c o m p o n e n t . W h e n showing examples of the cell-tuple structure, cell-tuples are d r a w n as dots located within their d-dimensional c o m p o n e n t , and near to their other c o m p o n e n t s . See Fig. i0 for examples of switcho(t), switchl(t), and switch2(t), where t = (a, 6, B). T h e eeli-tuple structure ~M.C~ for (M, C) is the pair (T(M.C),{switChk}o<k<_d ). Abusing notation, switch will often be taken to represent the set of o p e r a t o r s {switChk}o<_k<a, e.g., the cell-tuple structure will be written as (T~M.c~, switch). It is useful, and helpful for intuition, to think of the cell-tuple structure as an undirected arc-labeled graph GtM.c>, which has a node for each ceU-tuple and a k-arc between nodes whose cell-tuples are related by switch k. T h a t is, GtM.c~ = (V, E), where V = T~M,c), Ek = {(t 1, t2)tswitchk(tl) = rE}, and E = UO<_k<_dEk. An arc e ¢ E is labeled with k if e e E k. These undirected arcs are well defined, because L e m m a 2 implies that switchk(t 1) -- t 2 if and only if switchk(~ 2) = t 1. This labeling is well defined, because the Ek'S are disjoint: k # l ~ [switChk(t)]k # [switchl(t)]k. N o t e that every n o d e of this g r a p h is incident to exactly one arc labeled k for F i g . 11. Example of GtM,o, Nodes corresponding to cell-tuples are depicted by dots as in Fig. 10. There is an arc labeled k for every pair of cell-tuples related by switchk. (a.6,B) 7 _ * * ,,n,u,~, 7 " . . t t $ 0 0 1 * J . / " ! 1 1 0 < k < d. F i g u r e 11 s h o w s GtM, c ~ for the s u b d i v i s i o n o f the 2-sphere given in Fig. 8. I f w = w 1 .-. w~e { 0 , . . . , d}*, define s w i t c h w ( t ) S s w i t c h ~ , ( s w i t c h w , _ , ( ' " ( s w i t c h w 2 ( s w i t c h ~ ( t ) ) ' " ) ) ) if if w ~ 2, w = L I f J ~_ {0 . . . . . d}*, let s w i t c h , ( t ) = { s w i t c h w ( t ) l w ~ J } . I f I _~ {0 . . . . . d } , s w i t c h t . ( t ) is c a l l e d t h e / - o r b i t o f t. T h i s m a y b e t h o u g h t o f a s t h e s e t o f a l l c e l l - t u p l e s obtainable from t by repeated applications of switchk operations, where the k's are in I. The set o f / - o r b i t s for all t e TtM,c~partitions T~t,c~ into a set of equivalence classes. Each subset I gives a unique partition. In terms of the graphical interpretation of the cell-tuple structure a n / - o r b i t of t may be understood as the set of all cell-tuples in GtM.c~ reachable from t by following paths whose arcs are labeled by elements of I. Another way of thinking of this is by considering the subgraph of G~M,c ~consisting of all arcs whose labels are in I. The /-orbit of t is just the connected component of this subgraph containing t. The connected components of this subgraph are exactly the set of /-orbits of T~M.c~, hence are equal to the equivalence classes generated by the /-orbits. If c, is a k-cell of C, the set of ceU-tuples having c, as a component, assoc(c~) = {t ~ T~M,c~lt, = c~}, is called the set of associated cell-tuples of G. If G,o < " ' < dim(G) = ij for j e {0. . . . . l} the set of cell-tuples G,,, such that assoc(G,,,, . . . , c~,) = {t ~ T~M,c)Iti, = c%, 0 <__j <_ t} is called the set of associated ceii-tuples of C,o, ..., G,. This gives a correspondence between chains of cells in C and subsets of T~M,cv F o r 0 < k < d, the associated sets of the k-ceils in C form a partition of TtM,c). This is developed to give a fundamental relationship between cells in C and orbits in ~M.c), when Theorem 1 and Corollary 3 are proved in Section 6. Two cell-tuple structures are equivalent, J~M.C~ -----~'~N,o~, if there is a bijection j: T~M.c~--* T~N.o~which preserves the switch operation, i.e., switChk(j(t)) = j(switchk(t)) for all t e T~M.c~, 0 < k <_ d. The following lemma shows that for any ascending chain of cells there is a cell-tuple which has all of the cells in that chain as components. This is equivalent to showing that any ascending chain of cells may be extended to a maximal ascending chain. Lemma 3. I f ( M , C) is a subdivided d-manifold or a subdivided d-manifold-withboundary and G,o < "'" < G,~, where I > O, c% ~ C and dim(c%) = ij, then there exists t ~ TtM.c ~ such that ti, = c% for j = 0 . . . . . I. Proof. If I = d, let t = (G,0. . . . . c~,,).If I < d, let a = a(~i o. . . . . ai,). By Fact 1 there exists a d-simplex a(~o, . . . , ~a) ~ K~M.c~ containing a. Let t = (Go,-.-, G,). [] A similar result to that of Lemma 2 can be phrased without reference to the cell-tuple structure. Given an ascending chain of three cells, where the difference in dimension between each pair of consecutive cells is one, there is a unique cell which is incident to both the first and third cells (taken in ascending order) but is different from the middle cell. Recall (from Section 3) that the assumption of the existence of cells c,_~ and c~+~ is made for notational convenience. Corollary 1. I f (M, C) is a subdivided d.manifold, c ~ _ , - < c ~ c ~ , + , , where 0 < k < d, c~ ~ C and dim(c~) = k, then there is a unique c~, e C such that c~. # c~ and c~_, ~( c~, .< cak+~. Proof. By Lemma 3, there is a t e T~u.c~ such that t~ = c~, for i e { 0 . . . . . d} c~ {k - 1, k, k + 1}. By Lemma 2 there exists a unique t' such that t~ = t~~ i ~ k. Let c~ = t~,.This satisfies the statement of the lemma. It must be shown that c~ is unique. Suppose there exists c~; which is not equal to c~ or c~, such that c~,_, < c~. -< c~+c Then the cell-tuple (t o. . . . . tk- 1, C~,, tk+ 1..... td) is not equal to t or t', contradicting Lemma 2. [] It is useful to define a switch operator on triples, which is possible given Corollary 1. Let S = {(c,,_,, c,k, c~,+,)lc~,_,-<c~,~(c~,+,, 0 <_ k < d, and c~,_,, c~,, c~,~,eC}. Define s w i t c h : S ~ C by switch(c,~_,,c~k,c~,)=c~. ~, where c~ is given by Corollary 1. This allows another approach to the representation of subdivided manifolds, which may be called the augmented incidence graph. To the standard incidence graph, add a new data structure which contains a pointer for every triple (c~k_,, c~,, c~+,) in the set S, which points to switch(c~_,, c~k, c~+,). This requires considerably less space than the full cell-tuple structure when the number of dimensions gets large, at some cost in the speed of switch queries and searches. Yet another possible approach is to maintain a relational database of the set T~M,C~ of tuples, without explicitly representing the switch operators at all. If t is a cell-tuple, switchk(t) may be found by determining the cell-tuple in the database satisfying the definition of switch. Similarly, the set of cetl-tuples associated with a chain of cells may be found by a relational query, i.e., finding all ceU-tuples in the database containing the specified cells in their appropriate components. Thus there are a number of ways of viewing the cell-tuple structure, each leading to a different possible implementation: as a set of data elements and pointers directly representing the cell-tuples and switch operators; as an arc-labeled graph; as an augmented incidence graph; or as a relational database. The time and size requirements of these methods are discussed in [4]. 6. A Basic Relationship Between Cells and Orbits There is a beautiful relationship between sets of cells in a subdivided manifold and orbits of cell-tuples in its cell-tuple structure. This is stated and proved as Theorem 1 in this section. Besides being necessary for the proofs of the two t h e o r e m s in the next section, this r e l a t i o n s h i p allows a concise d e s c r i p t i o n of c o m m o n l y used e l e m e n t s of s u b d i v i d e d manifolds. An i n f o r m a l e x p l a n a t i o n o f the t h e o r e m , a l o n g with e x a m p l e s relating to useful m o d e l i n g techniques, are given i m m e d i a t e l y following the p r o o f o f C o r o l l a r y 3. Recall f r o m Section 5 the definition of t h e / - o r b i t , the set o f cell-tuples r e a c h a b l e f r o m a given cell-tuple by a p p l y i n g sequences of switchk'S, w h e r e the k's are t a k e n f r o m I. I f I is a subset of { 0 , . . . , d}, let f = {0. . . . . d} - I. T h u s if I = {io . . . . . i~}, t h e n l - o r b i t ( t ) = switch~ o...... d~-~t...... ~,}},(t). If c~,° < . . . < c~,, is a n ascending c h a i n o f cells, recall f r o m Section 5 t h a t the a s s o c i a t e d set o f this c h a i n o f cells, a s s o c ( c ~ . . . . . c,,) is the set of cell-tuples which c o n t a i n these cells as c o m p o n e n t s . I f I = {io . . . . . it} is the set o f d i m e n s i o n s o f these cells, a n d t is a n y cell-tuple in the a s s o c i a t e d set, then T h e o r e m 1 shows t h a t the associated set is equal to the set of cell-tuples which m a y be o b t a i n e d f r o m t b y r e p e a t e d a p p l i c a t i o n s of s w i t c h k, w h e r e k ¢ I. T h e o r e m 1. I f c% < . . . < c,,, and t ~ T~M.c~ such t h a t ttj = c% f o r 0 <_j <_ I, then assoc(c,, °. . . . . c~,,) = switchi.(t), where I = {io . . . . . it}. T h e following definitions are needed in the proof. I f a is a simplex in K, t h e n the s t a r o f a is St a = {Int a ' l a ' e K a n d a is a face of a'}. T h e closed s t a r o f a is S-']a = { a ' e K l 3 a " e K s.t. a is a face o f a" a n d a ' is a face o f a"}. T h e link o f a is L k a = {a' e K l~r' ~ S-t cr a n d a ' c~ a = ~ } . In words, if ~r is a simplex in a simplicial c o m p l e x K, t h e n S t cr is the set of the interiors of simplices in K which h a v e a as a face; ST a is the set of simplices in K which h a v e a as a face, plus all of their faces; a n d L k a is the set o f simplices in S t a which are disjoint f r o m a. (See Fig. 12.) T h e k - s k e l e t o n o f a simplicial c o m p l e x is the union o f all simplices o f d i m e n s i o n less t h a n o r e q u a l to k, a n d the k-skeleton of a s u b d i v i d e d m a n i f o l d is the u n i o n of all cells of d i m e n s i o n less t h a n or equal to k. T h e intuition b e h i n d the use of ~ c St C5 L k t~ Fig. 12. Examples of the star, closed star, and link. Here tr is a 0-simplex (point); its star St tr consists of itself, plus the interiors of the 1-simplices and 2-simplices (open line segments and triangles) incident to o; its closed star ST tr consists of all 2-simplices (closed triangles) incident to tr plus their subfaces; and its link L k tr is the set of simplices in ST tr which are disjoint from a. the star, closed star, and link in what follows is that if c~ is a k-cell in C, then, within the k-skeleton of KtM, c), ISt v~l corresponds to ca, ISt v~l corresponds to ~ , and ILk v~l corresponds to ~ (under the homeomorphism given by Lemma 1). T o show assoc(C~o. . . . . ca,) ~ switcht.(t) requires showing that the subgraph of GtM,c~ induced by assoc(c~o. . . . . c J is connected. This is the only difficult part of the proof. The proof uses the fact that there is a one-to-one correspondence between the set of ascending chains of length I in C and the t-simplices of K t u . c , and the similar fact that there is a one-to-one correspondence between celltuples in TtM.c~ and d-simplices in KtM,cr These facts both follow from the definition of K(M.c ~ (the graphical interpretation of the ceU-tuple structure is equivalent to a labeled version of the 1-skeleton of the topological dual of the generalized barycentric subdivision). The ascending chain c ~ < -.. < c~,, corresponds to a(0qo. . . . . ~,), and the cetl-tuples in assoc(c~o. . . . . c~,) correspond to the d-simplices in St a(oqo. . . . . ~i,). T h e n the problem of showing that the subgraph of GcM.o induced by assoc(c~, .._.., c~,) is connected reduces to proving that there is a " p a t h " of d-simplices in St a(o:~. . . . . ~,) between any two d-simplices in St a(~o . . . . . ~i,). It is useful to define switch on the d-simplices of KtM,c): given d-simplex tr = a(~ o. . . . . ~k- 1, Ctk,Ctk+ 1. . . . . Cta),0 <_ k _< d, define switchk(a) to be the unique d-simplex a(cto. . . . . cq_ 1, 0~k, 0~k+ 1..... t~d) such that 0t~,# ctk, i.e., if tr corresponds to t, then switchk(~ ) corresponds to switchk(t). P r o o f o f Theorem 1. T o see that switchto(t) ~_ assoc(c~o. . . . , ca) is easy: If k e then switchk does not change tj for any j e L So if t' = switchw(t ), for any w e/'*, then t~ = tj, for all j e I, i.e., t' ~ assoc(tio . . . . , ti). What must now be shown is that assoc(c~o . . . . . c~,) ~_ switcht.(t). First the following claim is proved: If # is a k-simplex in KtM.o, 0 <_ k < d, and if a, o' are d-simplices in St t~, then there is a sequence tr = a o. . . . . a m = a' of d-simplices of KtM, o , contained in St #, such that tr~ n trj~ 1 is a (d - 1)-simplex for 0 < j < m - 1. T o do so, use is made of Corollary 70.3 of [27]: Corollary 70.3. Let (X, A) be a compact triangulated relative homology dmanifold, with X - A connected. I f tr and a' are two d-simplices o f X not in A, there is a sequence tr = ao, tr1. . . . . am-1 = a' o f d-simplices not in A, such that a i c~ ai+l is a (d - 1)-simplex not in A , f o r each i. It will be shown that the hypotheses of this corollary are met if X = lK(u.c)l and A = IK~M.c~- St #[. T h e claim then follows, since IStS1 = X - A, and the dsimplices in St 0 are exactly those which are not in K~M.c~ -- St ~. Here the pair notation (X, A) means that X and A are topological spaces such that A is a subspace of X. Since if X - A is a d-manifold, then (X, A) is a relative h o m o l o g y d-manifold (see comment on p. 374 of [27]), we only need to show that ISt ~[ is a d-manifold. This follows from the observation t h a t any open subset Y o f a d-manifold X is a d-manifold. F o r a pair (X, A) to be c o m p a c t means that X and A are compact. Since X = IK(u.c)l and A = IK(M,c) -- St 81 are finite unions of d-simplices, they are compact. F o r a pair (X, A) to be triangulated means that X is triangulated by h: [KI ~ X in such a way that A is triangulated by a subcomplex of K u n d e r h. K(M,c) is a simplicial complex, hence X is trivially triangulated, a n d K ( u , c ) -- St is a subcomplex, so (X, A) is a triangulated pair. All that remains to be s h o w n is that X - A = [St 81 is connected. Let x, y ~ ISt #1, and let z e Int ~ (remember that z = 8 if dim(t~) = 0). Let l~ and ly~ be the line segments joining x and y with z, respectively. B o t h l~ and ly~ are contained in [St t~l, so l~ u ly~ is a path from x to y c o n t a i n e d in St ~, so St ~ is path connected, hence is connected. This finishes the p r o o f t h a t the hypotheses of Corollary 70.3 of [27] are met, and hence the claim is proven. Apply the claim with # = a(~e . . . . . ~). Let % be a simplex in the sequence a o . . . . . am, where 0 < j < m. By the definition o f switch on the d-simplices o f K(M.c), % n %+ i is a (d - 1)-simplex if and only if aj+ 1 = switchk(%) for some 0 <_ k < d. Since aj ~_ S-t 8, it m u s t be that t~ ~ %, which gives that the vertices of ~ labeled b y io. . . . . it are also in try+ ~. Therefore, tr~+~ = switch~(%) for some k e I. Given t as in the statement of the lemma, and a t' ~ assoc(te . . . . . t~,), let a and a ' be the c o r r e s p o n d i n g d-simplices in K(u.c), respectively. T h e n t, t' ~ assoc(tio . . . . . t 0 ~r, a ' ~ S t 8 =~ 3 a sequence a = ao, ..., {Tm = (7' o f d-simpliees in St 8 such that aj c~ ai+ is a (d - 1)-face for j = O, ..., m - 1 =~ 3w = Wo"" w,,_ ~~/'* s.t. a' = switchw(a ) 3w = w 0 " " win- 1 e I* s.t. t' = switchw(t ) =~ t' e switcht,(t). T h u s assoc(tio . . . . . ti,) ~- switchf.(t). It will be useful in the p r o o f o f T h e o r e m 2 to think o f assoc as a function taking ascending chains of cells to sets of celi-tuples. The next corollary shows t h a t this function is injective. Corollary 2. I f ~io < "'" < oq. and ~jo < " " < ~j~, then { ~ . . . . , ~,.} = { ~ j o , . . . , ~j.} ~ assoc(c~,o . . . . . c,,o) = assoe(c~,o, . . . . c,,,). P r o o f (=~) F r o m the definition of assoc. (~=) T h e p r o o f is by contradiction. Assume without loss of generality that dim(0ti,)= ik and d i m (  ) = A. Suppose {~tio. . . . . ~q,} ~-{~o . . . . . ct~}. Without loss of generality, assume that there exists a k such that ~k ¢ {~jo. . . . . ~j,}. By Lemma 3, there exists t e assoc(C,,o, . . . , ca,,). If t ~ assoc(Ca, o. . . . . c~,) we are done. If t e assoc(c,, °. . . . . %,), let t' = switchi~(t). Now, t' e assoc(ca, °. . . . . ca,,), but t' ¢ assoc(c,,o . . . . . ca,). [] If 0 _< k __<_d, let k = {0. . . . . d} - {k}. Thus k-orbit(t) = s w i t c h t l ..... k - l.k + 1..... d~'(t)• The next corollary shows how the cells of a subdivided manifold are represented in ~ M . o . It follows from Corollary 2 and Theorem 1. Corollary 3. T h e r e is a o n e - t o - o n e c o r r e s p o n d e n c e b e t w e e n k-cells a n d k-orbits. An informal explanation of the relationships given by Theorem 1 and Corollary 3 is now given, along with some pictorial examples which show the importance of this result. Recall the graph G~M.c) for the cell-tuple structure given in Section 5: its node set is TtM.C ), and two nodes are connected by an arc labeled k if the corresponding cell-tuples are related by s w i t c h k, where 0 < k < d. Now fix 0 < k < d, and suppose all of the arcs labeled k are eliminated from G~M.C r There is a one-to-one correspondence between the k-cells of C and the connected components in this new graph. Furthermore, consider a sequence of increasing integers 0 < k~ < --. < kt _<d. Suppose all of the arcs labeled with k~ . . . . . k t are eliminated from G t u . c ) . There is a one-to-one correspondence between ascending chains of cells cak, < ' " < ca~,, where the dimension of each c% is k j, and the connected components in this new graph. The relationship between a subdivided manifold, its generalized barycentric subdivision, and the cell-tuple structure provides a general framework for many of the entities which have been devised in existing representations. The sets of d-simplices in the generalized barycentric subdivision which correspond to the cell-tuples in an orbit may be thought of as a "realization" of the entity, and these "realizations" will generally break up the object into something which is almost a partition (there is usually some measure-zero overlap between the entities). Figure 13 gives several examples in two dimensions, and Fig. 14 gives several examples in three dimensions (see Section 11 for the definitions of V-E and F-E half-edges). Theorem 1 gives a direct, efficient method of accessing all cell-tuples associated with a cell or chain of cells, and thus a straightforward method of accessing cells incident to a given cell or chain of cells. This is accomplished by doing a search within the graph G~M.C), using arcs in /', where I is the set of dimensions of the specified cells. This search can be done in time linear in the number of cell-tuples in the associated set if a depth-first search is used (assuming that each s w i t c h query takes constant time). F o r instance, to find all cells in the boundary of a k-cell c,~, given a cell-tuple such that tk = C~, perform a search of switch~o ..... k - u'(t) • Starting with an empty list, as each new cell-tuple t' is encountered, add to the current list V-Eh.alf-edge/J" ~T~~-_~~2 F-E~alf-!dge ossoc ,, _ \ Cells Elements of K(M,C) {0'1} ' ° r ~ ' ~ 1 ~ i t 0 0 t . . ass°c(v2,e2) ~ ! re~"" I assoc~e3f)2 {2}-orbit ~ "----~- Associated Sets Orbits of b o u n d a r y cells the c o m p o n e n t s t~ t h r o u g h t~,_ ~ w h i c h h a v e n o t yet b e e n f o u n d ( k e e p i n g a " f o u n d " b i t for e a c h cell m a k e s this efficient). T h e f o l l o w i n g l e m m a , which has an a l g e b r a i c flavor, is o f interest in a n d o f itself, a n d is useful w h e n defining c o n s t r u c t o r s a n d in c o n n e c t i n g the c e l l - t u p l e s t r u c t u r e to o t h e r s ' w o r k . T h e p r o p e r t i e s , o r rules, given in this l e m m a a r e a n a l o g o u s t o t h e rules given for the q u a d - e d g e a n d f a c e t - e d g e d a t a s t r u c t u r e s . R u l e (ct4) e s s e n t i a l l y s h o w s t h e existence of c i r c u l a r o r d e r i n g s w h i c h is given in full d e t a i l b y T h e o r e m 3. ) Edge Face 2 2 ~ f ! ~ 0 (V-C) Comer (E-C) Dihedron (F-C) Half-face Corollary 4. I f t ~ T~M.c) a n d i # j e {0 . . . . . d}, then: (ctl) switchi(t) ~ t, (ct2) switchij(t) v~ t, (ct3) switchi,,(t) = t, (ct4) / f j = i _+ 1, 3m _> 2 such t h a t switcht~jr(t ) = t, (ct5) / f j # i _+ 1, then switcht~j~2(t) = t. Properties (ctl), (ct2), a n d (ct3) follow from the definition of switch. Let t e T~M.c) and I = {0. . . . . d} - {i,j}. Let c,,~ = ti, for ik e I, so that {c%. . . . . % _ ) = {t~lk~t}. The subgraph of G(M,c) induced by assoc(c..~ . . . . . c.,,_z} is connected (this follows from the proof of Theorem 1). Since every node is incident to exactly one arc labeled i and one labeled j, this subgraph is a cycle, with alternating arcs labeled i and j. If j = i + 1, this gives (ct4). If j 4: i +_ 1, then there are exactly two /-cells satisfying ti-~-< c~-< t~+ ~, namely c, = t~ and c, = [switchi(t)]6 and there are exactly two j-cells satisfying t j _ ~ - < c ~ , - ( t j ÷ ~ , namely c,, = tj and c,, = [switchj(t)]j. Thus by the definition of associated sets, assoc(%o, . . . . c,,~_) has exactly four elements, formed by the four possible choices for c, and %. This gives (ct5). [] 7. Representation of Incidence and Order Two theorems are proved in this section. The first shows that the incidence graph and the cell-tuple structure are each powerful enough to represent subdivided manifolds up to equivalence. The second shows the existence of many orderings of cells within subdivided manifolds, and shows that these orderings are directly accessible using the cell-tuple structure. Recall from Section 3 the definition of the incidence graph ~M.C~ for a subdivided manifold (M, C). Two incidence graphs are equivalent if there exists a bijective map between their nodes which preserves order ( < ) and the dimension label (dim). Theorem 2. I f ( M , C) and (N, D) are subdivided d-manifolds, then the following are equivalent: (1) (M, C) ~- (N, O), (2) ~M.c~ -~ ~N.o~, (3) ~ . c t -~ ~N,o~. The proof is organized as follows: (M, C) "~ (N, D) ~ ~M.Ct -----~<n,O) ~ ~-]~M.Ct~- ~N,O~ K(M.C ~ ~ K(N.o~ d(M,C~ ~-- d(N,t>~ If I c is an index set for a set of cells C, define the index function index: C ~ I c by i n d e x ( c , ) = ~, i.e., i n d e x ( c ) = ~ , ~ c = % In this proof the index sets are C = {c,},~jc and D = {da}a~, o. (M, C) --- (N, D) ~ ~(M,C) -----~N.o)" Let h: M --* N give an equivalence between (M, C) and (N, D), i.e., h is a homeomorphism which takes k-cells o n t o k-cells. Define i: I c ~ I v by i(~) = index(h(c,)). The following shows that i: I c ~ Io is an equivalence between ~ u . c ) and ~N,D). i is well defined because h takes k-cells al # O~2 ~ c~, # C=~=~ h(c=,) # h(c~2)=~.i(a~) # i(a2)T o see that i is surjective, let a = index(h-t(da)) for any fie~o; then i ( a ) = index(h(h- t(da))) = ft. i preserves dim because dim(a) = dim(c~) = dim(h(c=)) = dim(i(~t)). T h a t i preserves < can be seen as follows: a I < a2¢~c=, < c=2~.h(c~,) < h(c~2)c-~i(at) < i(a2). ~tu.c) ~ ~tN.m ~ ~tW,C~ ~- ~ t N . m =~ KtM.O ~-- K~N.o) =* (M, C) "" (N, D). Let i: I c ~ I o give an equivalence between ~¢M.c~ and ~ N . m , i.e., i is bijective, and preserves < and dim. It must be shown that i preserves simplices, hence gives an equivalence between ,~/~M.o and ~'~N.o)- If {a0. . . . . ak} ~ ¢ M . C ~ , then there exists an ordering aio. . . . . ai~ of the elements of {% . . . . . ak} SO that a~o < -'- < a~. Since i preserves < , this implies that i(a0 < ' " < i(ai). So {i(aio). . . . . i(ai) } e MtN.or T h e same a r g u m e n t applied to i -1 shows that {fio. . . . . fik}e,~tN.O~ implies {i- l(fio). . . . . i - t(flk)} e d { M . c r T h u s {a 0. . . . . ak} ~ d~M.c) if and only if {i(a,o). . . . . /(ail)} e J~(N,D)" In fact, i: I c ~ I o is also an equivalence between K~M.c) and K ~ . o ). This follows from T h e o r e m 3.1(b) of [27], when it is noted that the isomorphism produced there preserves labels: the i s o m o r p h i s m f : IK~u,c)l-~ IKts, o)[ p r o d u c e d by the t h e o r e m is a bijective simplicial m a p which has the p r o p e r t y that f(v~) = v,~), so label(v=) = dim(a) = dim(i(a)) = label(vitJ = label(f(v~)). Let ~,u: [KtM,c)I ~ M and SN: IKtN.m[ ~ N be maps giving barycentric subdivisions o f ( M , C) a n d (N, D), respectively, which exist by L e m m a 1. Define h: M ~ N by h = ~ ' N o f o ~ ' ~ t. This is a c o m p o s i t i o n of h o m e o m o r p h i s m s , so is a homeom o r p h i s m . It will be shown that h takes k-cells o n t o k-cells. Define j: I c ~ Io by j(a) = fia:,f(v~) = va. This is well defined since f is an equivalence. Let c~ be a k-cell in C. T h e n h(c~) = h (~o<...<~,< Csa(ao, ..., at, a)) = = = = U ff.O< .,, < ~tl < Ot U ff,O < "., < ~t/< ~t U jtao) <-- < j(=~) < j(*t) U j(=o) < "" < j(=/) <j(=) $N o f o $;t'(C,d(ao . . . . . at, a)) $N ° f ( I n t a(a o . . . . . a 1, a)) $N(int a(j(%), . . . , j(@, j(a))) c~(j(ao) . . . . . j(@, j(=)) which is a k-cell in D. ~(M.c) = ~tu.ol =:" ~-](~.c) ~ 3-~(u.o). Let i: I c --. I o be an equivalence between ~ ( ~ . c ) a n d ~ ( s . m . Define j: T(M,c) ~ T(mm by J((Go, " " , c J ) = (di~) . . . . . di~)). (d~(~,) m a y be t h o u g h t of as s h o r t h a n d f o r d.~.n~x(¢.,)). ) It m u s t be s h o w n t h a t j is well defined, bijective, and preserves s w i t c h . T o see t h a t j is well defined: (c~o. . . . , c ~ ) • T ( M ,c) ~ ~o < ' ' " < ~ a ,*~ i(c%)< " " < i(ee) T o see t h a t j is injective: if t ~ t ' • T~M,c ~, then there is a k such t h a t t k v~ t'k, a n d i(index(tk)) ¢ i ( i n d e x ( t ' k ) ) ~ [j(t)]k ~ [j(t')]k ~ j ( t ) ¢ j(t'). TO see that j is surjective: if (d0o. . . . . d a ) • T~mo), then /~o < " " < / ~ =" i - ~(/~o) < " " < i - ~(/~.) =~ (c,-,~Oo~ . . . . . c,-,~o,,~) • r~...c~. and J((ci-qoo) . . . . . ci-,(0~))) = (d00,...,d0)0 <_ k <_ d and t e T(M,cr T h e n T o see t h a t j preserves s w i t c h : let t' = switChk(t) ¢*" (ti = t'i'*~i ¢ k) .¢~ ee, (index(ti) # i n d e x ( t l ) ~ i ~ k) (i(index(ti)) ¢ i(index(t'i))¢¢" i ¢- k) ([j(t)]i --- [j(t')]i'*~ i :/: k) ¢e. j(t') = switchg(j(t)). ~ M . c ) ~ ~ N , o ) ~ ~tM.c) ~ ~ m m - Let j : T~M.c) ~ T(N.o) give an equivalence between ~-~(M.c)and JtN.OI, i.e.,j is bijective, a n d switchk(j(t)) = j(switchk(t)), Vt • T(ta. c), 0 < k < d. An equivalence i: l c ~ Io will be defined. T h e following fact will be needed: if J ___{0. . . . . d}*, then s w i t c h j ( j ( t ) ) = j ( s w i t c h j ( t ) ) for all t ~ T(M,c~. T h i s can be seen by the following a r g u m e n t . If w • J, t h e n s w i t c h w ( j ( t ) ) = j ( s w i t c h w ( t ) ) by repeated a p p l i c a t i o n s of the definition o f equivalence. T h u s t' • s w i t c h s ( j ( t ) ) ¢*" t' = switchw(j(t)) ¢~ t' = j ( s w i t c h w ( t ) ) t' • j(switchj(t)). for s o m e for some w • J w~ J j(assoc(c~)) = j(switch~*(t)) = switch~*(j(t)) = assoc(d#) i(ct) = index(assoc- l(j(assoc(G)))). This also gives that dim is preserved (dim(0t) = k = dim(fl)). It must be shown that i is bijective and preserves < . T o see that i is bijective: recall from Corollary 2 that assoc (as a function from lc to 2r'M.°) is bijective with its range, by definition index is bijective, and it is given that j is bijective. To see that i preserves < : first note that if fl = i(ct), then fl = index(assoc-l(j(assoc(c~)))) implies assoc(d#) = j(assoc(c~)). Now suppose cq, at2e lc, k 1 = dim(cq), and k2 = dim(or2). Let fll = i(g0 and f12 = i(ct2). Then ~ . "~ k, < k 2 a n d S t e TtM.c) s.t. tk, = Ca, , tk2 = Ca2 kl < k2 and assoc(ca, ) n assoc(ca2 ) ~ kl < k2 and j(assoc(ca,)) r~j(assoc(c~2) ) ~ ¢*- k 1 < k2 and assoc(d#) n assoc(d#2 ) ~ ¢~ k 1 < k 2 and 3t e T(N,D) s.t. tk, : d#,, tk2 = d#2 ~1 < 3~. [] The next theorem shows the existence of many orderings of cells within subdivided manifolds, and shows that these orderings are directly accessible using the cell-tuple structure. Recall the examples of ordering given in Section 1. Figure 2 gave examples in two dimensions: Fig. 2(a) showed an ordering of the t-cells and 2-cells incident to a 0-ceil, and Fig. 2(b) showed an ordering of the 0-cells and 1-cells incident to a 2-cell. Figure 3 gave examples in three dimensions: Fig. 3(a) showed an ordering of the 2- and 3-cells incident to a 1-cell, Fig. 3(b) showed an ordering of the 1- and 2-cells incident to both a 0-cell and a 3-cell, and Fig. 3(c) showed an ordering of the 0- and 1-cells incident to a 2-cell. Observe that in each of these five cases, the ordering is of the set of all (k - 1)- and k-cells containing a (k - 2)-cell, or within a (k + 1)-cell, or both. All of these cases can be put into one framework, by thinking of fixing both a (k - 2)-cell and a (k + 1)-cell containing it. This works for 1 <_ k _< d. In the case of k = 1 the (k - 2)-cell is not needed, and in the case of k = d the (k + l)-cell is not needed. Again the convention of including extra cells ca_, and ca, ~, of dimension - 1 and d + 1, respectively, is used for notational convenience. If c~_2 < c~k+: where 1 < k _< d, G,_2 is a (k - 2)-ceil and c~ +, is a (k + 1)-cell, let S(ca,_: ca.,) = {CalCa~_~< Ca < Car+,}" W h e n it is clear f r o m the context, S is written for S(c~_~, c. . . . ). It is this set S which can be ordered. T h e idea is t h a t given a ( k - 2)-cell c o n t a i n e d in the b o u n d a r y o f a (k + 1)-cell, all of the cells " b e t w e e n " t h e m m a y be put into a circular o r d e r " a r o u n d " the ( k - 2)-cell, such t h a t this o r d e r alternates b e t w e e n (k - 1)-cells a n d k-cells, consecutive pairs of k-cells share the (k - l)-cell b e t w e e n them, a n d consecutive pairs of ( k - 1)-cells share the k-cell b e t w e e n them. T h e r e a s o n this idea is not m o r e o b v i o u s w h e n trying to generalize f r o m two a n d three d i m e n s i o n s is t h a t o f the five cases d = 2, k = 1 (as in Fig. 2(b)), d = 2, k = 2 (as in Fig. 2(a)), d = 3, k = 1 (as in Fig. 3(c)), d = 3, k = 2 (as in Fig. 3(b)), a n d d = 3, k = 3 (as in Fig. 3(a)), o n l y one involves fixing two cells, n a m e l y d = 3, k = 2. Let m = # (S). A circular ordering of S is an o r d e r i n g %o, . . . . c~_, o f the e l e m e n t s of S such that: (1) c,, is a (k - 1)-cell if i is even, and is a k-cell if i is odd, (2) c, . . . . o~ and c, . . . . . . share c,, for 0 < i < m - 1 (by share is m e a n t " a r e e a c h incident to"). T h e o r e m 3 s h o w s the existence of ordering i n f o r m a t i o n for all d i m e n s i o n s f r o m 0 to d, a n d shows t h a t the celi-tuple structure gives i m m e d i a t e access to it via the switch o p e r a t o r s (the incidence g r a p h does not offer such direct access). Theorem 3. T h e r e exists a circular ordering o f S(c~ 2, c~+,). F u r t h e r m o r e , the switch structure directly represents this ordering information: T h e r e e x i s t s a t o • T~u,o such that t°_ 2 = c . . . . and t°+ l = c~+ . F o r any such t °, if the sequence o f cell-tuples t o. . . . . t m- 1 is defined b y then the sequence C.o. . . . . c.._, defined by t i ~switChk(t i - 1), "t ( switchk_ l(t i - 1), i even, i odd, t~_ I, %' i even. 0 <_ i <_ m -- 2, iodd, l < _ i < _ m - 1 , gives a circular ordering o f S(c~,_ 2, c~+,). T h e r e e x i s t c~o, cn, • C such that c~_: -< %0 "( cn, -< c ~ . . F o r any such C,o and c,,, i f the sequence C,o. . . . . c,._, is defined by = I s w i t c h k - 1(c~k_2, c~,_2, %,_,), (switchk(C ~.... cn,_~, c.... ), i even, O < i <_ m - 2, i o d d , 1 < i < m - 1 , gives a circular ordering o f S(c~_ 2, c~k+,). Proof. Let t o = (c~o,..., c~,1)e T~u.c ) such t h a t t°_ 2 = c~k_2 and t°+l = c.~+,, which is possible b y L e m m a 3. Let T ' = assoc(c~o. . . . . c~_2, c. . . . , . . . . c~). T h e n T ' = switchtk_ 1.k).(t °) b y T h e o r e m 1. Recall from Section 5 the definition of G t u . c ) , the graph whose nodes are cell-tuples and whose labeled arcs represent the s w i t c h k operators. Let G be the subgraph of G t u . c ) induced by T', i.e., G = ( E E L where V = T' and E = E k_ 1 u Ek: E = {(t1, t2)lt ~, t 2 E T' and e is labeled with k - 1 or k}. Every t e V is incident to exactly one arc labeled k - 1 and one labeled k, and G is connected, because T' = switchtk_ Lk~.(t0). SO G is a simple circuit, whose arcs are labeled alternately by k - I and k. Let t 1 = s w i t c h k_ l(t°), t 2 = switChk( t t), t m - 1 = s w i t c h k _ l(t = - 2). T h e n T ' = {t° . . . . . tin-t}. Let Crto = tO- 1, Cnt = t 1, Crt2 --~ t2k_ l, C~3 = t 3, C~m_ 2 = t km-- 21 , C~_1 = t r ~ - l " Let S = S(c~,_~, c~k~,). It m u s t be shown that S = {C.o. . . . . c.._,}. If c ~ S, then c~_2 < c~ < c~k+, implies that there exists a t e T' such that either tk_ 1 = c~ or tk = C~. SO C~~ {C~0. . . . . C,._,}. This shows that S c {C.o. . . . . c.._,}. I f 0 < i _< m - 1, then c.k_2 < c., < c ~ , implies c . , e S , i.e., {c,0. . . . . c.~_,} ~ S. P r o p e r t y (1) of a circular ordering follows from c., = t~_ t if i is even, c., = t~ if i is odd. Property (2) follows from the definition of s w i t c h . Parts (A) and (B) of the theorem follow. [] T o access the cells in a circular ordering starting at a given cell-tuple, apply switChk_ 1.k repeatedly, taking the ( k - 1)- a n d / o r k - c o m p o n e n t s of the resulting cell-tuples to get the (k - 1)- a n d / o r k-cells in the ordering. Referring to Fig. 2, in IN C~l coLo . , ~ c~5 ~ ' / c0~2 I c c t 3 ~cL4 t t ~ t 2 Fig. 15. Example of Theorem 3. On the left, the sequence c~0. . . . . c~ gives a circular ordering of the set of 1-cells and 2-cells incident to a 0-cell, O n the right, the sequence of cell-tuples t°,..,, t 5 may be obtained by starting with t°, and alternately applying switch1and switch2.This "ring" of cell-tuples may be used to obtain the sequence of cells c~0. . . . . c.s. (a) the 1-cells and 2-cells incident to a 0-cell are accessed by applying switch12 , and in (b) the 0- and 1-cells incident to a 2-cell are accessed by applying switchol. Referring to Fig. 3, in (a) the 2- and 3-cells incident to a 1-cell are accessed by applying switch23, in (b) the 1- and 2-ceUs incident to both a 0-cell and a 3-cell are accessed by applying switchi2, and in (c) the 0- and 1-cells incident to a 2-cell are accessed by applying switcho~. An example in two dimensions for the set of 1-cells and 2-cells incident to a 0-cell is given in Fig. 15. 8. The Dual An example of the topological dual of a subdivided 2-manifold was given in Fig. 4. Essentially, the dual of a subdivided d-dimensional object is a subdivision of the same object produced by replacing every k-dimensional cell by a (d - k)-dimensional cell, while maintaining the corresponding incidence relations. Suppose (M, C) is a subdivided d-manifold. Recall from Lemma 1: ..... If c, e C, then the dual cell for c, is dual c~ = U csa(~, ~t,o. . . . , cti,). Examples of dual cells are shown in Fig. 16. The dual complex of (M, C) is (M, Ca"°l), where Ca"l = {dual c~)~x,.. Since the characteristic functions for C are not unique, the cells in C~a are not unique. Hence the dual is not unique, but it ~s unique up to equivalence. F r o m the definition it follows that there is a one-to-one correspondence between the original cells and the dual cells, and that incidence and the orderings are preserved. The incidence graph for (M, C d~) may be obtained from the incidence graph for (M, C) by "turning it upside-down," and (M, Ca~z) is represented implicitly by the incidence graph for (M, C). cb CA Ca c B Vb vB dual c b Va dual c A Q , dual dual c 8 Primal cells Generalized barycentric subdivision Dual ceils Fig. 16. Example of dual cells, ca, cb are 0-cells, c I is a l-cell, and cA, cn are 2-cells. The middle illustration shows the simplicial cells in the generalized barycentric subdivision associated with c~, e.g. the vertex v~ is the 0-cell ca(l), and the open triangle defined by v~, vt, and vs is the 2-cell ca(a, 1, B). T h u s cl = {c~(1)} w {Ga(a, 1)} w {ca(b, 1)} and dual cl = {ca(1)} w {c,~(1, A)} w {ca(l, B)}. There is a one-to-one correspondence between T~M.c~ and T~M,cd~,~;define switchR: TtM.c~ ~ T~M,c~-~ by switchR((c~o . . . . . c~)) = (dual c~d, . . . . dual c~,). Note that switchk in the dual corresponds to switChd-k in the original subdivision, i.e., switChRkR = switChd-k. Thus the cell-tuple structure for (M, C) represents the dual implicitly. If the dual is to be represented explicitly, consider the set of tuples T(M,C) k.J ~(M, CdUal), acted on by switchR and switch k, 0 < k < d. Then the extension of Corollary 4 obtained by adding the following rule holds: (ct6) switchRiR(t) = switChd_i(t), 9. Extension to Manifolds-with-Boundary Most of the results given so far have applied only to subdivided manifolds (without boundary). In generalizing the cell-tuple structure to the with-boundary case, the problem is that switch,(t) is not defined if td_ 1~ 0M. Two approaches are considered for the extension of the earlier results to the with-boundary case. The first is to set switch to some special value in the undefined cases, indicating that an attempt was made to "pierce the boundary." Then the definition of circular ordering may be modified so that when k = d and c~_2~ ~M, the ordering is a simple path rather than a simple cycle. The theorems may be proved as before. The second approach may be described intuitively as imagining that the space "outside" of the d-manifold-with-boundary (M, C) is simply another d-cell (though in general, the complement of a d-manifold-with-boundary embedded in R" is not a d-cell). An abstract object c ~ is added to C, such that, for every c~ contained in OM, c, < c , . Now switch may be defined as before on the set C u {c,~}, and all of the results for subdivided manifolds can be proved for subdivided manifoldswith-boundary (see [4] for details). In addition, this makes it possible to access the boundary as a subdivided (d - 1)-manifold immediately; the cell-tuple structure associated with c, ~, inherited from the cell-tuple structure for (M, C), is exactly the cell-tuple structure for OM. 10. Constructors for d-Dimensional Objects So far subdivided manifolds have been treated as static, existing objects. A useful system must provide operators for creating, modifying, combining, separating, and destroying them. Such operators are termed constructors. One possible set of general constructors for subdivided manifolds, with and without boundary, which does not depend on a particular representation, is proposed in [4]. These operate on objects of various dimensions, allow changing of dimension, and are sufficient to construct any subdivided manifold. A very brief description is given here. The basic creative constructor, make_vertex, simply produces a vertex. Its inverse, kilt_vertex, removes an isolated vertex. The constructor lift takes a subdivided (k - 1)-manifold homeomorphic to Sk ~ 1, and "fills in the interior" of C with a k-cell c,~. The constructor unlift is the inverse of lift. The constructor join identifies a specified pair of equivalent cells, and all of their corresponding subcells. In general, the desired correspondence between the subcells in the boundaries of the two cells must be specified. One method is to specify for each cell a chain of boundary cells of decreasing dimension, i.e., for c~,, give a chain c~k~-'-" ~- c~0, and for c~, give a chain c~; ~---- ~- c~. Identifying the corresponding cells in these chains completely specifies how all the subcells of c~k and c~ will be matched. This lends itself naturally to a cell-tuple implementation. The constructor unjoin is the inverse of join. The constructor split is a generalization of the Euler operators which split edges and faces. Given a set of the subcells on the boundary of a k-cell c~, such that if taken as a subdivided (k - 2)-manifold their union is homeomorphic to S k- 2, split performs a lift on the subset, so as to split c~ into two new k-cells. The constructor unsplit is the inverse of split. It is not hard to show that any subdivided d-manifold can be built from this set of constructors, using a recursive construction. Build every d-cell by first building its boundary and then performing a lift; if d -- 1 building the boundary consists of two applications of make_vertex. For every pair of d-cells which need to be adjacent, perform a join on the common pair of ( d - 1)-cells in their boundaries. These constructors may be implemented in any representation which allows access to incidence structure and ordering information. Implementations based on the incidence graph and the cell-tuple structure are discussed in [4]. To implement the proposed constructors using the cell-tuple structure, certain pairs of cell-tuples are "attached to" or "detached from" each other. The key to attaching or detaching the proper cell-tuples is to traverse the edge-labeled switch graphs in the proper order, i.e., by exploring the corresponding orbits or matching cells in a prescribed lock-step order, and modifying the appropriate switch arcs to maintain the rules listed in Corollary 4. The above discussion of constructors considers only topological structure. Maintaining the connection between topology and geometry, allowing access and easy updates of topology and geometry simultaneously, while also allowing changes to be made to either independently, is one of the most challenging problems for an implementation. 11. Relation to Other Implicit-Cell Representations The relationship of the cell-tuple structure to half-edges, the quad-edge data structure, the facet-edge data structure, n-G-maps, and chamber systems is examined in this section. In particular, it is discussed how the basic elements and the query operators correspond. In the two-dimensional case, Baumgart [2] described the "winged-edge data structure." The basic idea is to have two basic objects (winged-edges) associated with each edge, which point to each other and to adjacent winged-edges. The idea of "splitting" an edge in half has given rise to two different entities which have both been called "half-edges." If one imagines splitting the edge lengthwise, a half-edge corresponds to an incident face-edge pair. M~intyl/i [23] devotes a chapter to such half-edges. If one imagines splitting the edge by a "midpoint," a half-edge corresponds to an incident vertex-edge pair. The term is used in this context in [21]. Weiler [38] distinguishes between the two possibilities for a half-edge by using the terms vertex-edge (V-E) structure and face-edge (F-E) structure (examples of V-E and F-E half-edges were included in Fig. 13.) Attaching pointers to half-edges allows direct access to ordering information. It follows from Theorem 1 that a V-E half-edge corresponds to a pair of cell-tuples related by switch 2 (i.e., each vertex-edge pair corresponds to a 2-orbit), and an F-E half-edge corresponds to a pair of cell-tuples related by switcho (i.e., each face-edge pair corresponds to a 0-orbit). Observe that the generalized barycentric subdivision gives a geometric realization to these half-edges, as indicated in Fig. 13. Guibas and Stolfi [16] introduced the "edge algebra" for representing subdivisions of 2-manifolds (without boundaries) in which the boundaries of faces are allowed to self-intersect. For every edge in the original and dual subdivisions there are two possible directions of traversal and two ways of giving a local orientation to the surface. Taking all possible combinations of direction and orientation give four "directed, oriented edges" for each edge. These are the basic elements of the edge algebra. There are three operators, Rot, Onext, and Flip, which may be applied to directed, oriented edges. Flip reverses orientation, Rot essentially "rotates about the midpoint" (into the dual), and Onext rotates about the base (in the direction indicated by the orientation). These are illustrated in Fig. 17. It is proved that these operators obey a set of ten rules, and a one-to-one correspondence is established between their class of subdivisions and between the set of all "abstract e Onext Fig. 17. Examples of Rot, Onext, and Flip. The straight'arrows indicate direction along the edges, and the curved arrows indicate orientation, as the direction of rotation. Primal quad-edges G(M.C) Fig. 18. Pictorialcomparison between directed, oriented edges and cell-tuples. On the left are the quad-edges associatedwith edgesin the original subdivision;the side on which the half-headsappear indicates orientation. On the right are the cell-tuplesfor the samesubdivision,along with the arcs of the graph corresponding to the cell-tuple structure. It is interesting to note that Guibas and Stoifi introduce a refinement of the original subdivision, called the "completion," which is exactly the generalized barycentric subdivision in the two-dimensional case. Dobkin and Laszlo [9] created a data structure for representing complexes of 3-ceils in an analogous fashion to that of Guibas and Stolfi's two-dimensional data structure. The class of 3-complexes allowed in [9] are subdivisions of spaces homeomorphic to B3 or B 3, where the cell boundaries are allowed to self-intersect (though it is possible that others may be generated by using their constructive operators). The basic units are pairs of the form (e, f ) such that the edge e is incident to the face f. Since the (topological) dual of an edge is a face, and vice versa, there is a one-to-one correspondence between facet-edges in the primal and dual subdivisions. As in the quad-edge data structure, the idea of orientation is now added. There are two possible directions to rotate around an edge, and two possible directions to traverse the boundary of a face. With each pair are associated four objects called facet-edge pairs (or simply facet-edges), corresponding to the four possible ways of assigning these directions. There are five operators for moving among facet-edges: Enext, Fnext, Clock, Rev, and Sduat. Enext gives a pair with the same orientation and face component, but with the next edge around the face in the direction given by the face's orientation. Fnext gives a pair with the same orientation and edge component, but with the next face around the edge in the direction given by the edge's orientation. Clock and Rev leave both components unchanged. Clock changes both orientations, while Rev changes only the edge's orientation. Sdual gives the corresponding facet-edge in the dual, such that the orientation of the dual face matches that of the primal edge, and the orientation of the dual edge matches that of the primal face. The first four of these operators are shown pictorially in Fig. 19. The set of all facet-edges, taken with the five operators above, constitutes the facet-edge data structure. The four facet-edge constructors, make_facet_edge, splice_facets, splice_edges, and transfer, may be rewritten in terms of the cell-tuple constructors mentioned in Section 10 (see [41). As in the case of the edge algebra, there is a one-to-one correspondence between the cell-tuples in the cell-tuple structure for a subdivided 3-manifold and the primal facet-edges in the facet-edge data structure: tl gives the edge, t 2 gives the facet, to aEnext a~toc~ aRev~ ~a ~aFnext Fig. 19. A facet-edge pair and primitive operators. The larger curved arrows indicate orientation within a face, and the smaller curved arrows indicate orientation about an edge. gives the direction within the face, and t a gives the direction around the edge. This same correspondence holds for the dual. If the facet-edge a corresponds to the cell-tuple t, then the facet-edge operators can be rewritten in terms of the switch k operators as follows: a Clock as switcho3(t), a E n e x t as switchol(t ), a F n e x t as switchEa(t), a Rev as switcha(t ), and a Sdual as switchR(t). The switch operators may also be written in terms of the facet-edge operators. Two other researchers have described, independently of each other and of this work, representations of d-dimensional objects which are similar to the cell-tuple structure. Lienhardt is a computer scientist whose work with "n-G-maps" is concerned with representations of subdivisions of higher-dimensional objects suitable for computational applications, while Tits is a mathematician, who developed "chamber systems" as a tool for working with mathematical objects called "buildings." The idea underlying n-G-maps is basically the same as that of the cell-tuple structure. The definition of an n-G-map (taken from [21]) is: Definition 1. Let n > 0; an n-G-map is defined by an (n + 2)-tuple G = (B, ~o, ~1. . . . . ~,), such that: • B is a finite, nonempty set of darts; • ~o, 71. . . . . ~, are involutions on B (i.e., Vi, 0 < i < n, Vb ~ B, ct~(b) = b), such that: o Vie {0. . . . . n - 1}, "i is an involution without fixed points (i.e., Vi, 0 <_ i <_ n - 1, Vb ~ B, as(b) ~ b); o Vie {0. . . . . n - 2}, Vj e {i + 2 , . . . , n}, aict~ is an involution. If a, is an involution without fixed points, G is without boundaries, or closed, else G is with boundary, or open. Here, n is the dimension. To associate an n-G-map with a topological object, first consider n = 1. In this case, darts are defined to be V-E half-edges. Two half-edges "gathered" by ~o form an edge, and two edges are adjacent at an endpoint if the respective half-edges are gathered by cq. Thus a 1-G-map corresponds to a set of edges forming cycles and paths. A connected closed 1-G-map corresponds to a single cycle, and a connected open 1-G-map corresponds to a single path. (See Fig. 20.) In two dimensions, a face is defined by " a simple elementary cycle of edges." These faces may be "sewn" together to form two-dimensional subdivisions. In general, any connected closed (n - 1)-G-map is allowed to be the boundary of an n-cell, and such cells may be sewn together to create n-dimensional subdivisions. Lienhardt discusses the orientability of n-G-maps and gives a definition for the dual of an n-G-map. In [20] he shows how to compute the number of boundaries, the Euler characteristic, orientability factor, and genus of 2-G-maps (representing surfaces). etl Fig. 20, Example of a 1-G-map. The three edges are divided into halt-edges, or darts, by the small perpendicular marks near their midpoints. Darts are gathered into edges by the % operators, and two edges are adjacent if they contain darts which are gathered by e I operators. The topological objects represented by "n-G-maps" (termed subdivisions) form a much larger class of partitions of topological spaces than subdivided manifolds. What is referred to as a cell is very general. For instance, a torus or a Klein bottle might be the boundary of a three-dimensional cell. So the underlying spaces created are very general, i.e., are not manifolds, or any class of "familiar" space. The advantage to this is that allowed (gathering) operations always give another valid object. The disadvantage is that less can be said about them, e.g., the ordering results presented in this paper do not apply. Taking the cell-tuple structure as an abstract system obeying Corollary 4, the rules followed by each are basically the same: 0q acts on B in n-G-maps in the same way that switch~ acts on T~u.c). The only difference is the way that boundaries are handled. In an n-G-map, bet, = b if b is a boundary dart, whereas in the cell-tuple structure, either switch,(t) is equal to a special value, or to another "outside" cell-tuple. If the first method for handling boundaries in the cell-tuple is taken, setting switch,(t) to be equal to t would be just as easy to detect as setting it to an arbitrary value, i.e., this would make the cell-tuple structure agree completely with n-G-maps in this abstract framework. Recall that, in this approach, the boundary is represented only implicitly. The definition of n-G-map does not include any explicit representation of the boundary as an (n - 1)-G-map, as was given in the second approach for handling the boundary in the cell-tuple structure, so direct access to the boundary as a subdivided (d - 1)-manifold is not possible. .Tits' work [36] is concerned with the characterization of combinatorial "buildings," which arose out of the geometric study of semisimple Lie groups and semisimple algebraic groups. His work is developed in a much more general setting than that given here, and is not concerned with subdivided manifolds. He does not consider the representation of subdivided manifolds or ordering, and does not consider computational issues. The concept of chamber system, when appropriately applied to a subdivided manifold (M, C), is basically a labeled version of the 1-skeleton of the dual of the barycentric subdivision of (M, C). If a subdivided d-manifold (M, C) is considered as a geometry over the set 0.... , d, so that the elements of the geometry are the cells of C and the labeling of the elements is the dimension of the cells, then the complex (in the context of Tits' work) associated with this geometry is equivalent to the abstract simplicial complex dtM, c~ defined in Section 4. The chambers are then the d-simplices of s ~ u . c ). The partition ~i in the associated chamber system is essentially a matching between chambers, which corresponds to the pairs of d-simplices associated by switchi. (switch is defined on the d-simplices of K~u.c ) in Section 6. By the correspondence between the simplices of d(M.C) and K(u,c ), this gives a definition of switch on S~I~M,C).)By the one-to-one correspondence between the d-simplices of ~¢~u.c) and the cell-tuples of T~u.c), there is a one-to-one correspondence between chambers and cell-tuples, so that a pair of chambers are in the partition ~ i if and only if the corresponding pair of cell-tuples are connected by switch~. Chamber systems are used by Huson and his coauthors [10], [14] in their study of tilings of the plane. Huson has developed an implementation of twodimensional chamber systems as part of his work. 12. Directions for Future Work Three possible directions in which further work might be pursued are briefly discussed: generalizing and extending the cell-tuple structure and similar representation schemes as an end in itself; using the cell-tuple structure to obtain new results in computational geometry; and the use of the cell-tuple structure in practical applications. In this work the basic building blocks were cells whose boundaries were not self-intersecting, and the objects represented by their unions (the underlying spaces) were topological manifolds. A natural generalization of the problem is to consider larger classes of cells, or larger classes of underlying spaces, or both. If a larger class of cells is allowed (under suitable restrictions), the description of basic units as tuples does not work out as simply, but many of the basic ideas go through. Similarly, if a larger class of underlying spaces is allowed, i.e., nonmanifolds, the ordering result may be lost, but additional representational power may be gained. Lienhardt's work [21] on n-G-maps deals with a very general class, a class which is larger than the class of all spaces which follow the rules given in Corollary 4. There may be a valuable class of objects between those represented by the ceU-tuple structure and those by n-G-maps, which have a simple representation and retain some ordering properties. Work on representation of nonmanifold structures include [17], [18], [30], [31], [39], [40], and [413. As an example of where the cell-tuple structure might prove useful in obtaining new algorithms for open computational geometry problems, consider the computation of the convex hull of a set of points in Ra. This is a much-studied problem (in R 2, perhaps the most studied problem in computational geometry). The asymptotically best existing algorithms for computing the convex hull of n points in the general case of d dimensions run in time O(nLd/z~)for even d >_.4, and time O(nLa/2jlog n) for odd d > 4. The existing lower bound for d > 4 is f~(nkd/2J),given by the size of the output, so dosing the log n gap for odd d > 4 is an open problem. Another open problem for higher dimensions is to generalize the divide-andconquer algorithm devised for the three-dimensional convex hull [29] to d > 4. (Buckley [5] gives a divide-and-conquer algorithm for the particular case of d = 4, but gives no analysis of the running time.) Edelsbrunner comments on this problem [12, p. 173]: "A crucial step in this generalization will be the formulation of order relations among the faces of the convex hull which can be exploited in 'merging' two separated polytopes." Perhaps the ordering developed in this paper may help to produce such a generalization. For the Voronoi diagram, there is a similar log n gap for even d > 4. There is a lifting method which reduces the Voronoi diagram problem to the convex hull problem in one higher dimension, so an improved convex hull algorithm will also give an improved Voronoi diagram algorithm. The cell-tuple structure may be thought of in several ways, as discussed in Section 5: as a set of data elements and pointers directly representing the cell-tuples and switch operators; as an arc-labeled graph; or as a relational database. Several hybrids are also possible, including the augmented incidence graph. Simplifications may be made if more is known about the particular objects being used in an application, e.g., perhaps all cells are simplicial. Building a useful system based on any of these strategies involves considerations of speed and memory, as well as deciding how to maintain the connection between geometry and topology. In any real application a geometry package with some degree of robustness, and some means of displaying the output, will have to be implemented. These are discussed in [4]. 13. Conclusion The primary contribution of this paper is the introduction of the cell-tuple structure, which gives a simple, easily implemented data structure for representing the topological structure of geometric objects, the ordering within such objects, their topological duals, and their boundaries. The class of objects studied, the subdivided manifolds, is general enough to encompass many applications. This work generalizes existing work in two and three dimensions to the general higher-dimensional case, and provides a simple unifying framework for existing work. Part of this work, a contribution in itself, is the generalization of the ordering of cells familiar in two and three dimensions to the general higher-dimensional case, whose existence was proved by using the cell-tuple structure. In addition to describing the cell-tuple structure as a static representation, a set of possible constructors was proposed for creating and modifying subdivided manifolds. It is hoped that the cell-tuple structure will lead to new theoretical results as well as providing a practical method of representing objects for modeling and graphics. References 1980. 20. P. Lienhardt. Subdivisions of surfaces and generalized maps. Technical Report, D6partment D'Informatique, Universite Louis Pasteur, 1988. 2I. P. Lienhardt. Topological models for boundary representation: a comparison with n-dimensional generalized maps. Computer-AidedDesign, 23(t):59-82, 1991. 22. A. T. Lundell and S. Weingram. The Topology of"CW Complexes. Van Nostrand Reinhold, New York, 1969. 23. M. M~intyl~i.An Introduction to Solid Modeling. Computer Science Press, Rockville, MD, I988. 24. A. A. Markov. The problem of homeomorphy. In Proceedings of the International Congress of Mathematicians, pages 300-306, t958. 25. Do E. Muller and F. P. Preparata. Finding the intersection of two convex polyhedra. Theoretical 26. J. R. Munkres. Topology: A First Course. Prentice-Hall, Englewood Cliffs, NJ, 1975. 27. J. R. Munkres. Elements of Algebraic Topology. Addison-Wesley, Reading, MA, I984. 28. H. Poincar+. Cinqui+me compl~ment ~i I'analysis situs. Rendiconti del Circolo Matematico di Palermo, 18:45-I10, 1904. 29. F. P. Preparata and S. J. Hong. Convex hulls of finite sets of points in two and three dimensions. Communications of the ACM, 20(2):87-93, 1977. 30. J. R. Rossignac and M. A. O'Connor. SGC: a dimension-independent model for point sets with internal structures and incomplete boundaries. In M. J. Wozny, J. U. Turner, and K. Preiss, editors, Geometric Modelingfor Product Engineering, pages 145-180. North-Holland, Amsterdam, 1990. 31. J. R. Rossignac and A. A. G. Requicha. Constructive non-regularized geometry. Computer-Aided Design, 23(1):21-32, 1991. 32. G. T. Sallee, Incidence Graphs of Convex Polytopes. Ph.D. thesis, Department of Mathematics, University of Washington, 1966. 33. M. I. Shamos and D. Hoey. Closest-point problems. Proceedings of the 16th Symposium on Foundations of Computer Science, pages 151-162, 1975. 34. J.-C. Spehner. Merging in maps and in parings. Technical Report, Laboratoire de Math6matiques et Informatique, Universite Haute Alsace, 1988. 35. J. StiUwell. Classical Topologyand CombinatorialGroup Theory. Graduate Texts in Mathematics, Vol. 72. Springer-Verlag, New York, 1984. 36. J. Tits. A local approach to buildings. In C. Davis, B. Griinbaum, and F. A. Sherk, editors, The Geometric Vein, pages 519-547. Springer-Verlag, New York, 1981. 37. I. A. Volodin, V. E. Kuznetsov, and A. T. Fomenko. The problem of discriminating the standard three-dimensional sphere. Russian Mathematical Surveys, 29(5):71-172, 1974. 38. K. Weiler. Edge-based data structures for solid modeling in curved surface environments. IEEE Computer Graphicsand Applications, 5(1):21-40, 1985. 39. K.J. Weiler. TopolooicalStructuresfor GeometricModeling. Ph.D. thesis, Department of Computer and Systems Engineering, Rensselaer Polytechnic Institute, 1986. 40. K. Weiler and D. McLachlan. Generalized sweep operations in the nonmanifotd environment. In M. J. Wozny, J. U. Turner, and K. Preiss, editors, Geometric Modelingfor Product Engineering, pages 87-106. North-Holland, Amsterdam, 1990. 41. Y. Yamaguchi and F. Kimura. Boundary neighborhood representation for non-manifold topology. Unpublished manuscript, t990. T h e first and last equalities use L e m m a 1. T h e rest follow f r o m the definition by Lemma 3) . Now, assoc(G ) = switch,(t), by Theorem 1 . Putting this together with the fact given in the previous paragraph and Corollary 2 gives By this argument, it is possible to define i: I c -- . lo by 1 . A. Baer , C. Eastman , and M. Henrion . Geometric modelling: a survey . Computer-Aided Design, 11 ( 5 ): 253 - 272 , 1979 . 2. B. G. Baumgart . A polyhedron representation for computer vision . AFIPS National Computer Conference Proceedings , 44 : 589 - 596 , 1975 . 3. I. C. Braid , R. C. Hillyard , and I. A. Stroud . Stepwise construction of polyhedra in geometric 123- 141 . Academic Press, New York, 1980 . 4~ E. Brisson . Representation of d-Dimensional Geometric Objects . Ph.D. thesis , Department of Computer Science and Engineering, University of Washington, 1990 . 5. C. E. Buckley . A divide-and-conquer algorithm for computing 4-dimensional convex hulls . In H. Workshop on ComputationalGeometry CG '88 , pages 113 - 135 . Springer-Verlag, New York, 1988 . 6~ B. Chazelle , L. J. Guibas , and D. T. Lee . The power of geometric duality . In Proceedingsof the 24th Symposium on Foundationsof Computer Science , pages 217 - 225 , 1983 . 7. G. Danaraj and V. Klee . A representation of 2-dimensional pseudomanifotds and its use in the design of a linear-time shelling algorithm . Annals of Discrete Mathematics , 2 : 53 - 63 , 1978 . 8. M. Dehn and P. Heegaard . Analysis situs . Encyklopadie der Mathematischen Wissenschaften ,mit Einschluss ihrer Anwendungen, III AB3 , pages 153 - 220 . Teubner, Leipzig, 1907 . 9. D. P. Dobkin and M. J. Laszlo . Primitives for the manipulation of three-dimensional subdivisions . In Proceedingsof the 3rd ACM Symposium on ComputationalGeometry , pages 86 - 99 , 1987 . 10. A. W. M. Dress and D. Huson . On tilings in the plane . Geometriae Dedicata , 24 : 295 - 310 , 1987 . 11. C. Eastman , J. Lividini , and D. Stoker . A database for designing large physical systems . AFIPS National Computer Conference Proceedings, 44 : 603 -- 611 , 1975 . 12. H. Edelsbrunner . Algorithms in CombinatorialGeometry. Springer-Verlag, New York, 1987 . 13. H. Edelsbrunner , J. O'Rourke , and R. Seidel . Constructing arrangements of lines and hyperplanes with applications . SIAM Journal on Computing , 15 ( 2 ): 341 .-. ~363 , 1986 . 14. R. Franz and D. Huson . The classification of quasi-regular polyhedra of genus 2 . Unpublished manuscript , 1989 . 15. B. Grfinbaum . Convex Polytopes. Interscience, New York, 1967 . 16. L. Guibas and J. Stolfi . Primitives for the manipulation of general subdivisions and the computation of Voronoi diagrams . ACM Transactionson Graphics , 4 ( 2 ): 74 - 123 , 1985 . 17. E. L. Gursoz , Y. Choi , and F. B. Prinz . Vertex-based representation of non-manifold boundaries . pages 107 - 130 . North-Holland, Amsterdam, 1990 . 18. S. Kawabe, K. Shimada , and H. Masuda . A framework for 3D modeling: constraint-based Knowledgefor Product Modelling in ComputerIntegrated Manufacturing , pages 325 - 357 . Elsevier, Amsterdam , 1989 . 19. D. T. Lee . Two dimensional Voronoi diagram in the Ip metric . Journal of the ACM , 27 : 604 - 618 ,

This is a preview of a remote PDF:

Erik Brisson. Representing geometric structures ind dimensions: Topology and order, Discrete & Computational Geometry, 1993, 387-426, DOI: 10.1007/BF02189330