PII:
Comput. & Graphics, Vol. 22, No. 2±3, pp. 255±268, 1998 # 1998 Elsevier Science Ltd. All rights reserved Printed in Great Britain S0097-8493(98)00036-3 0097-8493/98 $19.00 + 0.00
Technical Section
A REEB GRAPH-BASED REPRESENTATION FOR NONSEQUENTIAL CONSTRUCTION OF TOPOLOGICALLY COMPLEX SHAPES CHIEW-LAN TAI1, YOSHIHISA SHINAGAWA2 and TOSIYASU L. KUNII3 Department of Computer Science, Hong Kong University of Science and Technology, Clear Water Bay, Kowloon, Hong Kong, e-mail:
[email protected] Department of Information Science, Faculty of Science, The University of Tokyo, Tokyo, 113 Japan 3 University of Aizu, Tsuruga, Ikki-machi, Aizu-Wakamatsu City, 965-80 Fukushima, Japan 1
2
AbstractÐThe shape data of many complex objects, such as anatomical structures, are available in the form of contour slices. To visualize these complex shapes, most existing methods focus on resolving the contours connectivities and generating surface models. These methods do not oer any way of abstracting characteristic features from these complex shapes. To address this problem, Morse theory has previously been proposed as a topological abstraction tool, and a Morse theory-based surface coding system has been developed to code complex shapes as a sequence of basic operators. The topological structure of the coded surface is, however, implicitly stored in the operators. Topological information is thus not readily available without evaluating the operators. This paper proposes a more versatile representation by incorporating a contour containment relation into the earlier representation. With the explicit topological information, non-sequential construction and modi®cations can be performed without violating topological integrity. Editing operators similar to the Euler operators are also proposed. # 1998 Elsevier Science Ltd. All rights reserved. Key words: critical points, contours, Reeb graph, topology, Euler operators.
1. INTRODUCTION
The topological structure of the coded surface is, however, implicitly captured in these operators. Consequently, topological information is not readily available without evaluating the sequence of operators. This drawback makes modi®cations and nonsequential constructions of objects impossible. This paper proposes a more versatile representation to overcome this problem, and develops a coding system based on a new set of operators. To ensure that topological integrity is maintained in the coded surface, operators similar to Euler operators are developed for performing non-sequential editing and construction. Euler operators were developed [8, 9] for constructing solids represented in boundary representations (B-reps). The geometric elements in B-rep are vertices, edges and faces. B-rep stores explicit orientations of the edges and connectivities of all geometric elements using special topological data structures [10, 11] such as the winged-edge data structure. To ensure topological integrity in the constructed solid, local modi®cations to B-rep models are performed through Euler operators. These operators stipulate rules to be satis®ed by newly added geometric elements. The geometric elements in our proposed representation are critical points and contours. The connectivities of these geometric elements constitute the topological information. We introduce two data structures: a graph to store the connectivities of the
Much useful data, such as biological and medical imaging data, are available in the form of contours on parallel slices. In medical imaging, these contours are obtained by sampling cross sectional shapes of complex anatomical parts using computer tomography (CT) or magnetic resonance imaging (MRI) techniques. Several methods have been proposed for visualizing such data. They mainly focus on resolving the connectivities of multiple contours across slices, and ®tting a surface over the contours [1±3]. The geometric models produced are surface models which do not contain any topological information. To visualize complex shapes, we need abstraction tools that can abstract characteristic features. Topology is a powerful abstraction tool in mathematics. Such simpli®cation tool can provide better understanding of complex shapes, such as molecular structures. In recent years, several concepts in dierential topology have been applied to abstract characteristic features of complex shapes and phenomena [3±5]. In particular, Morse theory [6, 7] has been extended to address the problem of coding complex shapes where the shape data are in the form of contour slices. To code a surface in space means to represent it as a sequence of ®nite basic symbols. The Morse theory-based coding system codes a smooth surface as a sequence of operators corresponding to the surface's characteristic points. 255
256
C-L Tai et al.
critical points and a relation to store the parent± child contour containment relationships. For performing local modi®cations, we develop operators which guarantee topological integrity. These operators impose constraints on the newly added critical points and contours. 2. BACKGROUND
The Morse theory-based coding system [4] regards the topological space of a smooth surface as a decomposition of primitive topological cells, each of which corresponds to a critical point of a real-valued function de®ned on the surface. Figure 1 illustrates the main entities in this approach. A height function f is ®rst de®ned on the surface, and the critical points of f on the surface are then determined. Each critical point is identi®able by an index which is dependent on its local shape. According to Morse Theory [7], a topological space which is equivalent to the surface can be constructed as a sequence of primitive cells, whose types are determined by the indices of the critical points. We now explain some basic terms informally, their formal de®nitions and more in depth discussion of Morse theory can be found in Shinagawa et al. [4] and Milnor [7]. Given a real-valued function f on a smooth surface, the critical points of f are points at which the derivatives of f degenerate. Critical points are identi®able by their indices; the index of a critical point p is the number of negative eigenvalues of the Hessian matrix of f at p. The 2 Hessian matrix of f has terms h(i, j)=@ x@i @fx j . For two-manifolds, the indices can be 0, 1 or 2, and the corresponding critical points are called pits, passes and peaks (see Fig. 1). A pass can either be branching or merging. A branching pass can further be distinguished as inside-branching (PNIN) which has one of the branching contours inside the other, or outside-branching (PNOUT) otherwise. Similarly, the merging passes can either be inside-merging (PUIN) or outside-merging (PUOUT).
Fig. 1. (a) Solid circles indicate critical points of a height Morse function de®ned on the smooth surface, (b) the corresponding Reeb graph.
To code a surface with ®nite number of cells, the coding system restricts the domain to smooth compact two-manifolds on which there always exists a Morse function. This criterion ensures that the critical points on the surface are isolated and there are ®nite number of them. A Morse function is one where none of its critical points degenerate [7]. A critical point is non-degenerate if the Hessian matrix of f is non-singular at that point. Geometrically, degenerate critical points appear at planar regions perpendicular to the height direction. As non-degenerate critical points are isolated, the existence of Morse function ensures that the surface can be coded with a ®nite number of cells. Given a manifold and a Morse function f on it, Morse Theory says that a topological space equivalent to the manifold can be constructed by attaching a ®nite number of primitive cells: an i-cell for each critical point of f with index i. A n-cell is a topological space homeomorphic to an n-dimensional disk [12]. Note that, from Morse theory, it follows that there is a one-to-one correspondence between the critical points and the cells. The sequence of cells, however, does not code the way the surface is embedded in 3D space. It cannot distinguish connectivities, knots and links; objects that dier by the connectivities of critical points or by the existence of knots and links may nevertheless have the same sequence of cells. The last two problems involve knot theory and are not easy to solve. To distinguish between dierent connectivities, a topological graph called Reeb graph [3, 13] was introduced to capture the connectivities of the critical points (and thus also the connectivities of the cells due to the one-to-one correspondence between critical points and cells). A Reeb graph represents as a node all points on a compact manifold which have the same value under a Morse function and are in the same connected component. Figure 1 shows the Reeb graph of a Morse height function. Each vertex of the graph corresponds to a critical point, and each edge corresponds to a connected component of the manifold between two critical points. It is clear that each Reeb graph corresponds to one connected surface component. To code a surface, primitive operators have been developed for sequential attachment of cells along the height direction. Four basic cell-attaching operators were proposed for attaching a 0-cell, a merging 1-cell, a branching 1-cell, and a 2-cell. Surfaces coded with these operators always satisfy the Euler characteristic formula. Euler characteristic w of a manifold is topologically invariant. A standard orientable surface of genus g has a Euler characteristic of 2-2g. The Euler characteristic w of a compact manifold M satis®es the following equation [14] X w
M
ÿ1k ck k
A Reeb graph-based representation for construction of complex shapes
where ck is the number of critical points with index k of some Morse function f de®ned on M. For 2-dimensional manifolds, we have 2 ÿ 2g
fPeakg ÿ
fPassg
fPitg
1
3. REPRESENTATION FOR NON-SEQUENTIAL CONSTRUCTION
We introduce a contour containment relation to enhance the representation proposed in the Morse theory-based coding system. The geometric elements in this new representation are still contours and critical points. The connectivities of these geometric elements, which constitute the topological information, are stored explicitly in Reeb graphs and a contour containment relation. The connectivity information is thus readily available for checking of violation during editing. Hereforth, for easier reference, we shall refer only to the critical points instead of the cells. For the remainder of this paper, the letters a to d denote contour numbers, the letters p to w denote critical points, and the letters e and f denote the edges of some Reeb graph. The same set of letters are also used as variables of the respective entities if there is no possibility of ambiguity. We ®rst introduce some notations for handling the critical points. To compare the heights of two critical points, we use p>q and p r q. To denote the interval between the heights of p and q, we use p:q where p>q. The top (left) end of the interval p:q is assumed to be closed except when p is a merging pass; the bottom (right) end is closed except when q is a branching pass. This assumption is necessary so that a critical point does not lie within two adjacent intervals. r $ p:q means the height of critical point r is within the interval p:q. In addition, we de®ne the subset relation, the intersection and union operations for intervals as follows: 1. p:q U r:s if and only 2. Let pr r. 8 b > > < p:q p:q \ r:s r:s > > : r:q
if p $ r:s and q $ r:s if if if if
qrr p:q r:s r:s p:q r 2 p:q and q 2 r:s
3. Let p r r. p:q [ r:s
p:s if q r b otherwise
Each Reeb graph is represented as a directed graph G(V,E,C) where V is a set of critical points, C is a set of contour numbers, and E is a set of edges connecting the critical points. The edges are labeled with contour numbers, i.e. EU V V C. An edge e = (p,q,a) connects from p to q, where
257
p>q, and corresponds to a generalized cylinder bounded by contours that are numbered a. The critical point p is called the parent of e, and q the child of e. We assume that there is a virtual peak p1 at height 1, a virtual pit pÿ1 at height ÿ1, and they are linked by an edge labeled with contour number 0, which is a virtual contour. The contour containment relation R stores tuples asserting the parent±child containment relationships of contours. A tuple (a,b,p:q) in R asserts that contours numbered a enclose contours numbered b within the interval p:q. We call a the parent contour of b, and b the child contour of a. The parent±child containment relationship is many-to-one: a contour may be enclosed by dierent parent contours at dierent levels within its existence interval. To summarize, the topological information of an object with m disjoint surfaces is captured by 1. m Reeb graphs Gi(Vi,Ei,Ci), i = 1,...,m, 2. a containment relation R T T T Ei= i Vi= i C S where i S Si=b. We shall let E = i Ei, V = i Vi, and C = i Ci. Properties of the containment relation R 1. For any two distinct tuples (b,a,p:q) and (c,a,r:s), p:q \ r:s = b. 2. For any two distinct tuples (a,b,p:q) and (b,c,r:s), exactly one of the following cases must be true (i) p:q \ r:s = b; (ii) p:q U r:s; or (iii) S r:s U p:q. 3. For any set S = {(b,x,p:q) v x = a}, S p:q is a single contiguous interval. The ®rst property means that every contour has exactly one parent contour at any level within its existence interval. The second property implies that there is no intersection between contours. The last property means that contours of the same number always form a contiguous surface.
4. MORSE±EULER OPERATORS
To edit a surface stored with the proposed representation, we have developed both constructive and delete operators which guarantee topological integrity. We shall call them the Morse±Euler operators. There are four classes of constructive operators: Create, Add, Merge and Join operators, all of which produce only closed surface. For each constructive operator, we also de®ne a corresponding Delete operator. In addition to these basic operators, we also de®ne the Cap and Cut operators to deal with bordered surfaces. Figure 2 illustrates the eects of all these editing operators. Each of them, except the Create operator, has a dual operator that is obtained by replacing a peak with a pit, and/ or a merging pass with a branching pass, and vice versa. Table 1 lists the changes in the number of critical points aected by the operators. It can be
258
C-L Tai et al.
Fig. 2. The Morse±Euler operators.
shown that the Euler characteristic of the resulted surface, which is 2-2g where g is the genus of the surface, always satis®es Equation (1).
4.1. Basic functions and procedures We ®rst introduce some basic functions and procedures for de®ning the operators. Four basic functions are de®ned as follows:
TupleOfChild(p,a) = (b,a,q:r) if (b,a,q:r) $ R and p $ q:r ParentContour(p,a) = b if TupleOfChild(p,a) = (b,a,q:r) for some q,r EdgeOfContour(p,a) = (q,r,a) if = (q,r,a) $ E and p $ q:r EdgeOfParent(p,a) = (q,r,b) if ParentContour(p,a) = b and EdgeOfContour(p,b) = (q,r,b)
Table 1. Changes in the number of critical points aected by the Morse±Euler operators
A Reeb graph-based representation for construction of complex shapes
Fig. 3. De®nitions of some basic functions.
Figure 3 illustrates these de®nitions. It is clear that, for any critical point p and contour a, the interval of TupleOfChild(p,a) always lies within the interval of EdgeOfParent(p,a). To identify the connected interior spaces and allow greater ¯exibility in the order of applying the operators, we introduce the concept of space-contiguous contours. Intuitively, we say ap is space-contiguous with bq, when the space enclosed within contour a at critical point p is contiguous with that enclosed within contour b at critical point q. For example, 1p is space-contiguous with 3r in Fig. 4. De®nition (space-contiguous contours) Let a,b $ C, p,q $ V and p>q, ap is space-contiguous with bq if and only if one of the following conditions holds (Fig. 5): 1. (p,q,a) $ E, q is a pit and b = a. 2. (p,q,a) $ E, q is an outside pass and 9r [(q,r,b) $ E]. 3. 9r [(p,r,a) $ E, r is an inside pass, (r,q,b) $ E, a = b].
259
4. (p,q,a) $ E, q is a PUIN pass and 9s, c [(s,q,c) $ E, a $ c, and ParentContour(q,c) = b]. 5. 9s,r,c [(p,t,a) $ E, (q,s,b) $ E, q is a PNIN pass, ParentContour(q,b) = c and ParentContour(q,c) = a]. 6. 9r,c,s [(p,r,c) $ E, p is a PUIN pass, ParentContour(p,c) = a and as is space-contiguous with bq]. A SP-decreasing sequence AiPi n is one where P0>P1> . . . > Pn ÿ 1 > Pn and AiPi is space-contiguous with Ai1Pi1 for all i. We assume that no three consecutive Ai's are equal: if Ai=Ai + 1=Ai + 2, they are collapsed by dropping n Pi + 1. Similarly, a SP-increasing sequence AiPi is one where Pn>Pn ÿ 1> . . .>P1>P0 and Ai1Pi1 is space-contiguous with AiPi for all i. We say AiPi n is bounded by ap and q ifn P0=p, A0=a, and Pn ÿ 1>q r Pn. Similarly, AiPi is said to be bounded by ap and q if P0=p, A0=a, and Pnrq>Pn ÿ 1. We let DecSeq(ap,q) denote the set of SP-decreasing sequences bounded by ap and q, and IncSeq(ap,q) denote the set of SP-increasing sequences bounded by ap and q. Given any space-contiguous sequence, we can insert a new surface within it. To insert a new surface de®ned by contourc, peak v and pit w into a SP-decreasing sequence AiPi n so that v $ P0:P1 and w $ Pn ÿ 1:Pn, we invoke the procedure TuplesDecSeq( AiPi n , c, v, w) which asserts the following tuples: (A0, c, v:P1}) (Ai, c, Pi:Pi + 1) for i = 1,. . ., n ÿ 2 (An ÿ 1, c, Pn ÿ 1:w) Similarly, to insert nthe surface into a SP-increasing sequence AiPi so that v $ Pn:Pn ÿ 1 and
Fig. 4. An example of space-contiguous contours.
260
C-L Tai et al.
Fig. 5. ap is space-contiguous with bq .
n w $ P1:P0, we would invoke TuplesIncSeq( AiPi , c, v, w) which asserts the following tuples: (An, c, v:Pn ÿ 1) (Ai, c, Pi:Pi ÿ 1) for i = 2, . . . ,n ÿ 1 (A1, c, P1:w) To determine the solid-hollow nature of new contours, we de®ne a function Reverse(x) which returns `hollow' if x is `solid', and returns `solid' if x is `hollow'. When the surfaces are of zero thickness, the function simply returns its argument. 4.2. Constructive operators This section describes the details of all the constructive operators. For brevity, we omit the de®nitions of the dual operators here. Each operator enforces rules on connectivities of the critical points
and containment relationships of the contours. It then updates the containment relation R and the Reeb graphs Gi(Vi,Ei,Ci), 1 Ri R m. The user has to supply the heights of new critical points. Constraints on their heights are presented as Assert(x) statements. An error message is issued whenever the condition x in the Assert statement is evaluated to false. 4.2.1. Create operator. We introduce only one Create operator, i.e. Create_peak_pit(a). It inserts a new closed surface within the contours numbered a. Two new critical points, a peak p and a pit q, are added, and a new Reeb graph containing a single edge (p,q,b) is obtained. Figure 6 gives the detailed de®nition. A SP-decreasing sequence bounded by ap and q is ®rst selected, and a new surface de®ned by contour number b is inserted into this sequence.
Fig. 6. Create operator.
A Reeb graph-based representation for construction of complex shapes
261
Fig. 7. Add operator.
The solid-hollow content of the new contour b is set using the Reverse function. 4.2.2. Add operators. We de®ne two Add operators, Add_peak_pu and its dual Add_pit_pn. They are used to add new features to the previously fea-
tureless parts of a surface. A peak and a merging pass have to be added in pair so that the Euler characteristic of the surface remains unchanged, thus re¯ecting the unchanged genus before and after the operation. The de®nition of Add_peak_pu
Fig. 8. Adding a peak p and a merging pass u to edge (q,r,a).
262
C-L Tai et al.
Fig. 9. Cap and Cut operators.
Fig. 10. Merge operators.
A Reeb graph-based representation for construction of complex shapes
is given in Fig. 7. It takes as input an edge (q,r,a) to which the new critical points are added, and a boolean ¯ag inside indicating whether the merging pass u to be added is PUIN or PNOUT. Figure 8 shows two examples of this operation. Depending on the type of the merging pass u, an appropriate SP-increasing sequence is selected, and a new surface de®ned by contour number b, peak p and merging pass u is then inserted. The input edge (q,r,a) is removed and replaced by three edges linking the newly added critical points p and u. 4.2.3. Cap and Cut operators. All the other operators deals only with closed surfaces. In contrast, Cap operators and their corresponding delete operators, Cut operators, deal with bordered or open surfaces. A Cut operator removes a peak or a pit by marking it as `deleted', and produces a bordered surface, while a Cap operator adds a new peak or a pit to an open end of a surface and unmarks the dangling end. The height of the marked critical point is the height of its boundary contour. We introduce two Cap operators, Cap_peak and its dual Cap_pit, and two Cut operators, Cut_peak and its dual Cut_pit (Fig. 9). The Cut operators are needed to de®ne the Join and Merge operators. 4.2.4. Merge operators. The Merge operators combine two nested pits or peaks, and produce an inside pass. A critical point p2 is said to be nested within another critical point p1 if the contour at p2 is contained within that at p1 (see Fig. 11). We introduce Merge_peak_peak and its dual Merge_ pit_pit, the former is de®ned in Fig. 10. Two peaks p1 and p2, with p2 nested within p1, are merged and an PNIN pass u is created. G1 (V1,E1,C1) and G2 (V2, E2,C2) are the Reeb graphs to which p1 and p2 belong respectively. If both p1 and p2 are on the same connected surface, then G1 and G2 is the same graph. Cut_peak is ®rst invoked to mark p2 as `deleted', and returns a dangling edge e. p2delete is then replaced by a new PNIN pass u at the step uye. The removal of p2 causes the children of contour at p1 (i.e. contour b) to have a new parent contour, and hence the aected tuples have to be updated accordingly. It can be observed that the Euler characteristic formula is always satis®ed after the operation. The
263
genus of the merged surface increases by 1 if G1=G2, otherwise it is the total genuses of the initial surfaces. By considering the number of critical points in the merged surface, we see that the right hand side of Equation (1) equals wiÿ2 if G1=G2, where wi is the Euler characteristic of the initial surface; it equals wi1+wi2} ÿ 2 if G1$G2, where wi1 and wi2 are the Euler characteristic of the two initial surfaces. 4.2.5. Join operators. The Join operators link two non-nested critical points which are either from the same Reeb graph or from two dierent graphs. Depending on the types of the critical points, dierent numbers and types of critical points may arise. We introduce only two basic join operators, Join_peak_peak and its dual Join_pit_pit, since other join combinations can be easily realized indirectly through other operators. For instance, a join between a peak and a pit can be realized through applying Add_peak_pu to the single incident edge of the given pit to get a new peak p (besides a new PUOUT pass), and joining p with the given peak using Join\peak_peak. Alternatively, it can be realized through the Add_pit_pn and Join_pit_pit operators. The Join_peak_peak operator is de®ned in Fig. 12, and an example of the operation is shown in Fig. 13. The join is assumed to be smooth, i.e. there is no unnecessary undulation on the joining surface. Two new critical points will arise, a peak p and a PNOUT pass u. The operator takes as input two peaks p1 and p2 belonging respectively to Reeb graphs G1 (V1, E1,C1) and G2 (V2, E2,C2), where G1=G2 if p1 and p2 are both on the same connected surface. A pair of SP-increasing sequences that end at some identical contour and critical point (i.e. joinable) is ®rst selected and a joining surface is inserted within them. To update the Reeb graph, Cut_peak is invoked and two dangling edges e1 and e2 are subsequently joined. There are two points to note here. First, q1 and q2 may refer to the same critical point, but such cases do not require special consideration. Second, when G1=G2, q1 and q2 are connected by an additional path after the join, and the resulted Reeb graph will have an additional loop re¯ecting an additional genus on the resulted surface. We can easily
Fig. 11. Merging two nested pits p1 p2, a new PNIN pass u is added.
264
C-L Tai et al.
Fig. 12. Join operator.
show that the join results always satisfy the Euler characteristic formula. 4.3. Delete operators The Delete operators are kill operators corresponding to the proposed constructive operators. Besides deleting some critical points, these operators may also add some new points to ensure
that Euler characteristic formula is always satis®ed. As before, the dual operators are omitted here. Delete_peak_pit corresponds to Create_peak_pit, Delete_peak_pu corresponds to Add_peak_pu, Delete_pnin corresponds to Merge_peak_peak, and Delete_peak_pn corresponds to Join_peak_peak. Their de®nitions are shown in Fig. 14.
Fig. 13. Joining two peaks p1 and p2, a new peak p and a new PNOUT u is added.
A Reeb graph-based representation for construction of complex shapes
Since the Merge and Join operators may take as input either two separate Reeb graphs or one single graph, their corresponding delete operators may also output two Reeb graphs or one. If the link being deleted is not the only link connecting its two sides, then only one Reeb graph is produced and the genus of the resulted surface decreases by one, otherwise two graphs will be produced. 5. APPLICATION EXAMPLES
We have implemented a coding system that uses this new representation. The constructive operators are invoked to build a surface of complex topology progressively. On invoking an operator, geometric data such as heights of new critical points and data
265
points of contours are supplied. The contour data can be automatically generated based on the containment relationships, if only the topological structure is to be coded. The coded object is visualized by feeding the contour data and their connectivities captured in the Reeb graph to a surface ®tting module. Either triangulated surface [1, 2] or spline surface may be ®tted. Our system uses Gregory patches [15] which allow independent normal derivatives across patch boundaries. We ®rst construct a bottle of complex shape. For illustration purpose, the coding sequence is depicted in Fig. 15 with critical points labeled with letters, and contours labeled with numbers. The bottle is coded with nine operators. Up to the last operation,
Fig. 14. Delete operators.
266
C-L Tai et al.
Fig. 15. Construction of a complex bottle.
the objects have disjoint interior and exterior surfaces, which are re¯ected in two separate Reeb graphs. Figure 16 shows the result of coding using our system. Figure 16(a) shows only the contours at the critical points, the same color is used to draw those contours that are labeled with the same number. Figure 16(b) shows the Reeb graph, the edges are drawn as paths running along the corresponding generalized cylinder, in the same color as the bounding contours. The outer contours are solid and the inner ones are hollow, the outer layer is
rendered transparent so as to visualize the two layers. Topological integrity in the intermediate results is guaranteed by the operators. Topological information of the coded object is explicitly stored in the Reeb graph(s) and the containment relation, and implicitly coded in the sequence of operators. Given the sequence of operators, topologically equivalent objects can therefore be reconstructed. As a second example, we constructed the semicircular canals and cochlea of an inner ear. Figure
A Reeb graph-based representation for construction of complex shapes
267
Fig. 16. A complex-shaped bottle. (a) Critical contours, (b) Reeb graph.
17(a) shows the outer bony covering, which is rendered transparent in Fig. 17(b). The inner membranous labyrinth in Fig. 17(b) is rendered opaque. This complex-shaped anatomical object is coded using 24 operators. 6. CONCLUSIONS
We have developed a representation which supports non-sequential coding of topologically complex shapes as a sequence of operators. A contour containment relation is introduced to enhance a previously proposed representation. This enhancement provides explicit topological information which is essential for performing non-sequential and topological valid construction. Operators have been proposed for performing local modi®cations with guaranteed topological integrity. Since each sequence of operators codes a speci®c topological
structure, objects which are topological equivalent can be reconstructed based on a given sequence. By analyzing the topological information stored in the Reeb graphs and containment relation, comparison and classi®cation of topological shapes may be possible. The explicit topological information also enables ecient response to more complex topological queries such as: What is the genus of the surface? Is contour numbered a on the same connected component as that numbered b? Is the interior of contours a connected to that of contour b? What are the paths connecting contour a to contour b? In contrast, such information is not easily available in surface models which do not store any topological information. This connectivity information can improve the performance of some algorithms by reducing their solution spaces considerably. Representing Reeb graph as directed graph also has
Fig. 17. The semi-circular canals and cochlea of the inner ear. (a) The outer bony covering, (b) the bony covering rendered transparent to show the inner membranous labyrinth.
268
C-L Tai et al.
the advantage of exploring established graph algorithms. The representation can be further enhanced to become a solid model. By representing a contour as algebraic curve, we can easily determine whether a point is inside, outside, or on the contour. With point membership information, the contour containment relation and solid-hollow nature of contours, we can determine point membership with respect to the solid. REFERENCES
1. Meyers, D., Skinner, S. and Sloan, K., Surfaces from contours. ACM Trans Graphics, 1992, 11(3), 228±258. 2. Ekoule, A. B., Peyrin, F. C. and Odet, C. L., A triangulation algorithm from arbitrary shaped multiple planar contours. ACM Trans. Graphics, 1991, 10(2), 182±199. 3. Shinagawa, Y. and Kunii, T. L., Constructing a Reeb graph automatically from cross sections. IEEE Computer Graphics and Applications, 1991, 11(6), 44± 51. 4. Shinagawa, Y., Kunii, T. L. and Kergosien, Y. L., Surface coding based on Morse theory. IEEE Computer Graphics and Applications, 1991, 11(5), 66± 78. 5. Takahashi S. and Kunii, T. L., Manifold-based multiple viewpoint CADÐa case study of mountain guide map generation. Computer Aided Design, 1994.
6. Dubrovin, B. A., Fomenko, A. T. and Novikov, S. P., Modern Geometry±Methods and Applications. Part III. Introduction to Homology Theory. Springer Verlag, 1984. 7. Milnor, J., Morse Theory. Princeton University Press, New Jersey, 1963. 8. Mantyla, M. and Sulonen, R., GWB: a solid modeler with Euler operators. IEEE Computer Graphics and Applications, 1982, 2(7), 17±31. 9. Wilson, P. R., Euler formulas and geometric modeling. IEEE Computer Graphics and Applications, 1985, 5(8), 24±36. 10. Mantyla, M., An Introduction to Solid Modeling. Computer Science Press, Maryland, 1988. 11. Weiler, K. J., Topological Structures for Geometric Modeling. PhD thesis, Rensselaer Design Research Center, Troy, NY, August 1986. Report TR-86032. 12. JaÈnich, K., Topology. Springer Verlag, 1984. 13. Reeb, G., Sur les points singuliers d'une forme de pfa completement integrable ou d'une fonction numerique [on the singular points of a completely integrable pfa form or of a numerical function]. Comptes Rendus Acad. Sciences Paris, 1946, 222, 847± 849. 14. Griths, H. B., Surfaces. Cambridge University Press, Cambridge London New York New Rochelle Melbourne Sydney, 2nd edition, 1976. 15. Chiyokura, H. and Kimura, F., Design of solids with free-form surfaces. ACM Computer Graphics (SIGGRAPH Proceedings `83), pp. 289±298, 1983.