#### 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 ,