Extended Graph Rotation Systems as a Model for …...2009/04/04  · Extended Graph Rotation Systems...

24
Extended Graph Rotation Systems as a Model for Cyclic Weaving on Orientable Surfaces ERGUN AKLEMAN, JIANER CHEN Texas A&M University, College Station, Texas and JONATHAN L. GROSS Columbia University, New York Abstract. Our interest in computer graphics motivates a revised study of graph rotation systems, which are constructs by which topological graph theorists specify the placement of graphs on surfaces, non-orientable as well as orientable. Whereas orientable imbeddings have been studied extensively, non-orientable imbeddings have been comparatively neglected. This study extends general rotation systems into a solid mathematical model for the development of an interactive- graphics cyclic-weaving system. This involves a systematic exploration and characterization of dynamic surgery operations on graph rotation systems, such as edge-insertion, edge-deletion, and edge-twisting, which are used within an interactive-graphics system for designing weavings. Some fundamental theoretical results for the model are derived. It will be seen how general rotation systems that induce non-orientable surfaces can specify weavings on orientable surfaces. Categories and Subject Descriptors: [G.2.2 Mathematics of Computing: graph theory; I.3 Computing Methodologies: computer graphics]: General Terms: Theory, Design Additional Key Words and Phrases: graph rotation systems, cyclic plain-weaving, alternating link projection, computer-aided geometry design 1. INTRODUCTION Our recent research [Akleman and Chen 1999; Akleman et al. 2003; Akleman et al. 2009] in computer graphics indicates that classical topological graph theory [Gross and Tucker 1987; Mohar and Thomassen 2001; White 2001], especially the theory of graph rotation systems, can be used as a mathematical foundation in the devel- opment of a general paradigm for 3D mesh-modeling systems and computer-aided sculpting. This approach has the following advantages: 1. Universality: the techniques described in [Akleman and Chen 1999; Akleman et al. 2003] can be adopted by any existing software system for modeling, without major changes; 2. Topological robustness: the minimal set of operations introduced in [Akleman et al. 2003] never generates invalid objects, i.e., non-surfaces; 3. Completeness: that minimal operation set can perform all the necessary topolog- ical surgical operations and create all possible orientable manifold mesh structures; Authors’ addresses: E. Akleman, Department of Visualization, Texas A&M University, College Station, TX 77843, email: [email protected]; J. Chen, Department of Computer Science, Texas A&M University, College Station, TX 77843, email: [email protected]; J. L. Gross, Department of Computer Science, Columbia University, New York, NY 10027, email: [email protected]. Permission to make digital/hard copy of all or part of this material without fee for personal or classroom use provided that the copies are not made or distributed for profit or commercial advantage, the ACM copyright/server notice, the title of the publication, and its date appear, and notice is given that copying is by permission of the ACM, Inc. To copy otherwise, to republish, to post on servers, or to redistribute to lists requires prior specific permission and/or a fee. c 20YY ACM 0004-5411/20YY/0100-0001 $5.00 Journal of the ACM, Vol. V, No. N, Month 20YY, Pages 1–0??.

Transcript of Extended Graph Rotation Systems as a Model for …...2009/04/04  · Extended Graph Rotation Systems...

Page 1: Extended Graph Rotation Systems as a Model for …...2009/04/04  · Extended Graph Rotation Systems as a Model for Cyclic Weaving on Orientable Surfaces ERGUN AKLEMAN, JIANER CHEN

Extended Graph Rotation Systems as aModel for Cyclic Weaving on OrientableSurfaces

ERGUN AKLEMAN, JIANER CHEN

Texas A&M University, College Station, Texas

and

JONATHAN L. GROSS

Columbia University, New York

Abstract. Our interest in computer graphics motivates a revised study of graph rotation systems,which are constructs by which topological graph theorists specify the placement of graphs on

surfaces, non-orientable as well as orientable. Whereas orientable imbeddings have been studied

extensively, non-orientable imbeddings have been comparatively neglected. This study extendsgeneral rotation systems into a solid mathematical model for the development of an interactive-

graphics cyclic-weaving system. This involves a systematic exploration and characterization of

dynamic surgery operations on graph rotation systems, such as edge-insertion, edge-deletion, andedge-twisting, which are used within an interactive-graphics system for designing weavings. Some

fundamental theoretical results for the model are derived. It will be seen how general rotation

systems that induce non-orientable surfaces can specify weavings on orientable surfaces.

Categories and Subject Descriptors: [G.2.2 Mathematics of Computing: graph theory;

I.3 Computing Methodologies: computer graphics]:

General Terms: Theory, Design

Additional Key Words and Phrases: graph rotation systems, cyclic plain-weaving, alternating link

projection, computer-aided geometry design

1. INTRODUCTION

Our recent research [Akleman and Chen 1999; Akleman et al. 2003; Akleman et al.2009] in computer graphics indicates that classical topological graph theory [Grossand Tucker 1987; Mohar and Thomassen 2001; White 2001], especially the theoryof graph rotation systems, can be used as a mathematical foundation in the devel-opment of a general paradigm for 3D mesh-modeling systems and computer-aidedsculpting. This approach has the following advantages:1. Universality: the techniques described in [Akleman and Chen 1999; Aklemanet al. 2003] can be adopted by any existing software system for modeling, withoutmajor changes;2. Topological robustness: the minimal set of operations introduced in [Akleman etal. 2003] never generates invalid objects, i.e., non-surfaces;3. Completeness: that minimal operation set can perform all the necessary topolog-ical surgical operations and create all possible orientable manifold mesh structures;

Authors’ addresses: E. Akleman, Department of Visualization, Texas A&M University, College

Station, TX 77843, email: [email protected]; J. Chen, Department of Computer Science, TexasA&M University, College Station, TX 77843, email: [email protected]; J. L. Gross, Department

of Computer Science, Columbia University, New York, NY 10027, email: [email protected].

Permission to make digital/hard copy of all or part of this material without fee for personal

or classroom use provided that the copies are not made or distributed for profit or commercialadvantage, the ACM copyright/server notice, the title of the publication, and its date appear, and

notice is given that copying is by permission of the ACM, Inc. To copy otherwise, to republish, to

post on servers, or to redistribute to lists requires prior specific permission and/or a fee.c© 20YY ACM 0004-5411/20YY/0100-0001 $5.00

Journal of the ACM, Vol. V, No. N, Month 20YY, Pages 1–0??.

Page 2: Extended Graph Rotation Systems as a Model for …...2009/04/04  · Extended Graph Rotation Systems as a Model for Cyclic Weaving on Orientable Surfaces ERGUN AKLEMAN, JIANER CHEN

2 · E. Akleman, J. Chen, and J. L. Gross

4. Simplicity: the operations provided by the system are simple and intuitive;5. Augmentability: many operations at user-level can be very conveniently imple-mented using the minimal operations.

Our approach has been implemented in a 3D-modeling software system called Top-Mod3D, which serves as proof-of-concept. After it originated as a by-product ofsome thesis and class projects such as [Akleman et al. 2000; Akleman et al. 2001],TopMod was refined for use by 3D-graphic artists. The initial version, called Top-Mod 1.0, has been available as free software since 2003. The second version, TopMod2.0 — with an improved user interface and scripting editor, was released in August2007. Since 2003, more than 50,000 people have downloaded the software, and manytalented artists have used it to create interesting sculptures [Akleman et al. 2008].

Our current study reveals an exciting (and surprising) further connection betweencomputer graphics and topological graph theory: the paradigm of graph imbeddingson non-orientable 2-manifolds can be beautifully used when modeling sophisticatedand delicate 3D objects, including basket, sweater, and blanket weaving. Duringthis research, however, it has been observed that some very fundamental issues fornon-orientable surfaces, such as the consequence of inserting/deleting an edge, or oftwisting an edge, seem not thoroughly addressed in the published literature. Some ofthe results cannot be directly borrowed from their known orientable counterparts.The applications to computer-graphics modeling of weaving have required a de-tailed and refined study of these issues. We provide herein a revised and extendedstudy of general graph rotation systems and their dynamical surgery operations,such as edge-twisting, edge-insertion, and edge-deletion. A generalization of theedge-twisting operation leads to the topological model we call an extended rotationsystem. Figure 1 shows some examples of plain woven objects that are modeledusing extended theory of graph rotation systems.

Venus Bunny Rocker Arm Genus-3 Object

Fig. 1. Examples of woven objects constructed from orientable manifold meshes.

2. PRELIMINARIES ON TOPOLOGICAL GRAPH THEOREM

This section provides some necessary background for topological graph theory. Itis consistent with the more detailed discussions of these issues to be found in[Gross and Tucker 1987; Beineke et al. 2009]. Alternative perspectives are providedby [Mohar and Thomassen 2001; White 2001].

2.1 Graphs and surfaces

Our graphs are always undirected. Multiple edges with the same endpoints and self-loops are allowed. A self-loop has only one endpoint, yet it has two distinguishableJournal of the ACM, Vol. V, No. N, Month 20YY.

Page 3: Extended Graph Rotation Systems as a Model for …...2009/04/04  · Extended Graph Rotation Systems as a Model for Cyclic Weaving on Orientable Surfaces ERGUN AKLEMAN, JIANER CHEN

Extended Graph Rotation Systems as a Model · 3

edge-ends. The distinction between the two edge-ends of a self-loop is achievedtopologically by regarding the interior of each edge as parametrized by the openunit interval (0, 1). The edge-ends are small neighborhoods of the limit points 0and 1, respectively, and, thus, they are distinguishable, even for a self-loop. Thispermits us to differentiate, for instance, between the two possible directions in whichone can traverse a self-loop.

Any edge can be specified by a pair [v, w] of vertices, almost as one might do whenthe discussion is confined to simple graphs. To adapt this form of specification to amulti-edge of multiplicity m, we can use m different names for one of their commonendpoints and another m different names for the other endpoint. This satisfies ourneed for distinct edges within a multi-edge to have distinguishable names. When anedge is a self-loop, two names for the same endpoint v and w may be interpreted,when context requires, as the two distinguishable edge-ends of the edge. Underthese conventions, each edge e = [v, w] induces two oriented edges 〈v, w〉 and 〈w, v〉,each running from one edge-end of edge e to the other edge-end of e.

A surface is a compact boundaryless 2-dimensional manifold, which can be eitherorientable or non-orientable [Chen 1990; Chen et al. 1994; Gross and Tucker 1987].An imbedding of a graph G on a surface S is a homeomorphism of the graph ontoa topological subspace of the surface. It is always assumed to be cellular, whichmeans that every connected component of S−G, i.e., the interior of each face in theimbedding, is homeomorphic to an open disk. Here, as in the topological literature,a continuous function from a graph to a surface is called an immersion if it is locallyone-to-one, and if there are only a finite number of edge-crossings.

2.2 Specifying imbeddings by rotation systems

Definition Let G be a graph with n vertices. A rotation at a vertex v of G is acyclic ordering of the oriented edges originating at v. A (pure) rotation system ofthe graph G consists of a set of n rotations, one for each vertex of G.

Remark The spatial imagery in conceptualizing a rotation at a vertex v is that foreach edge-end at v, there is an oriented edge that begins at that edge-end. Thus,a self-loop is associated with two oriented edges in the rotation at v, representingthe two respective directions in which the self-loop could be traversed.

It is easy to see that an imbedding π(G) of a graphG on an oriented surface naturallyinduces a rotation system of the graph G. Also, note that the face boundary walk(for short, fb-walk) of each face in π(G) is a closed walk, that is, a (cyclically ordered)sequence of oriented edges. Conversely, it has been well-known since [Heffter 1891]and [Edmonds 1960] (for simple graphs) and [Gross and Alpert 1974] (for generalgraphs) that a rotation system ρ(G) of a graph G uniquely determines an imbeddingof G on an oriented surface S, and uniquely determines the surface S. The surface Scan be reconstructed from the rotation system ρ(G) by first applying the face-tracingalgorithm that constructs the fb-walks in ρ(G), and then matching the perimeter ofan s-sided polygon to an fb-walk of length s [Gross and Tucker 1987].

Definition Given a rotation system ρ(G) for a graph G, a face corner (sometimesjust corner) is a triple (v, e, e′), comprising a vertex v and two oriented edges e =〈v, u〉 and e′ = 〈v, u′〉, both oriented out of v, where the v-edge-end of e′ immediatelyfollows the v-edge-end of e in the rotation at v. If neither e nor e′ is a self-loop, wesay that e′ is the 0-next to e at v and that e is the 1-next to e′ at v. For a self-loop,we must say which orientation is 0-next or 1-next.

Journal of the ACM, Vol. V, No. N, Month 20YY.

Page 4: Extended Graph Rotation Systems as a Model for …...2009/04/04  · Extended Graph Rotation Systems as a Model for Cyclic Weaving on Orientable Surfaces ERGUN AKLEMAN, JIANER CHEN

4 · E. Akleman, J. Chen, and J. L. Gross

Remark We emphasize that in this convention for specifying a corner, both of theoriented edges point out from v. When we write (v, e, e′), it means that e′ followse in the cyclic order at vertex v. In the special case of a vertex v of degree 2, thereare corners (v, e, e′) and (v, e′, e).

2.3 Rotation systems and surgery

Surgery operations on pure graph rotation systems (thus, on graph imbeddings)have been extensively studied [Chen 1990; Gross and Tucker 1987]. For example,inserting an edge into a pure graph rotation system adheres to the following rules.

Edge-Insert-0

—If the two ends of an edge are inserted into two corners of the same face, thenthe edge splits that face into two faces, and the two oriented edges correspondingto the new edge belong to the fb-walks of those two different faces in the newimbedding.

—If the two ends of an edge are inserted between two corners of two different faces,then the edge merges those two faces into a single face, and the two orientededges corresponding to the new edge belong to the fb-walk of that single face inthe new imbedding.

The operation of edge deletion on a pure rotation system “reverses” edge insertion.

Edge-Delete-0

—If the two oriented edges corresponding to an edge e appear in the fb-walks oftwo different faces, then deleting the edge e merges the two faces into a singleface.

—If the two oriented edges corresponding to an edge e belong to the fb-walk of asingle face, then deleting the edge e splits that face into two faces.

Definition A graph rotation system can be augmented to represent an imbeddingon a non-orientable surface. For this, we label each edge [u, v] in the graph eitheras type-0 (flat) or type-1 (twisted), which we call the twist-type of [u, v] and denotetw-type([u, v]).

Definition A general rotation system of a graph G = (V,E) consists of a purerotation system of G plus a mapping tw-type : E → {0, 1} that assigns to each edgeof G a twist-type.

It is also known that an imbedding of a graph G on any surface (orientable or non-orientable) induces a general rotation system for the graph G, and that each generalrotation system for the graph G induces an imbedding of G on an (orientable or non-orientable) surface. Moreover, the face-tracing algorithm can be generalized [Grossand Tucker 1987] to apply to general graph rotation systems. For convenience in ourlater discussion, we now present the General Face-Tracing Algorithm, which isa revision of the algorithm described in [Gross and Tucker 1987].

Remark We observe that whereas face-tracing on pure rotation systems can stopwhen all the oriented edges have been traced, it stops on general rotation systemswhen all the face corners have been traced.Journal of the ACM, Vol. V, No. N, Month 20YY.

Page 5: Extended Graph Rotation Systems as a Model for …...2009/04/04  · Extended Graph Rotation Systems as a Model for Cyclic Weaving on Orientable Surfaces ERGUN AKLEMAN, JIANER CHEN

Extended Graph Rotation Systems as a Model · 5

Algorithm 1 General Face-Tracing Algorithm.

Subroutine FaceTrace(t0, 〈u0, w0〉)Input: an oriented edge 〈u0, w0〉, and a number t0 ∈ {0, 1} called its trace-type.Remark: the trace-type corresponds to direction of traversal of the edge.Output: a sequence of oriented edges that forms an fb-walk containing 〈u0, w0〉.

1. trace and print 〈u0, w0〉;2. t = t0 + tw-type([u0, w0]) (mod 2);3. 〈u,w〉 = the t-next to 〈w0, u0〉 at w0; \\u = w0

4. while (〈u,w〉 6= 〈u0, w0〉) or (t 6= t0) dotrace and print 〈u,w〉;t = t+ tw-type([u,w]) (mod 2);〈w′, u′〉 = 〈w, u〉;〈u,w〉 = the t-next to 〈w′, u′〉 at w′. \\u = w′

Algorithm FbWalks(ρ(G))Input: ρ(G) is a general graph rotation system.Output: the collection of all fb-walks in ρ(G).

while there is an untraced face corner (u, e, e′) in ρ(G) dosuppose that e′ = 〈u,w〉; call FaceTrace(0, 〈u,w〉).

3. ON THE EDGE-TWISTING OPERATION

In this section, we examine the edge-twisting operation on a general graph rotationsystem.

Definition The operation of twisting an edge e in a general rotation system meanschanging its type, either from 0 to 1, or from 1 to 0. (When traversing a twistededge during face-tracing, the cyclic direction at the terminating vertex at whichone selects the next oriented edge is taken to be opposite from the direction at theoriginating vertex.)

3.1 Calculating an fb-walk

We examine the subroutine FaceTrace, as given within Algorithm 1.

Definition Let t be the current trace-type and 〈u,w〉 the next oriented edge tobe traced, at some moment during the face-tracing process. The pair (t, 〈u,w〉) iscalled a trace-pair.

Note that the current trace-pair (t, 〈u,w〉) uniquely determines the next trace-typet′, by the rule t′ = t + type([u,w]) (mod 2); and then the trace-type t′ combinedwith the oriented edge 〈u,w〉 uniquely determines the next oriented edge 〈w, v〉 tobe traced: that is, 〈w, v〉 is the t′-next to 〈w, u〉 at w. Therefore, any trace-pair(t, 〈u,w〉) that occurs during the face-tracing process completely determines thefb-walk that is constructed by calling FaceTrace(t, 〈u,w〉).

Lemma 3.1. Let h ≥ 1. Suppose that in a given general rotation system ρ(G)the first h trace-pairs traced by calling FaceTrace(t0, 〈u0, u1〉) are

(t0, 〈u0, u1〉), (t1, 〈u1, u2〉), . . . , (th−1, 〈uh−1, uh〉),

and suppose that after tracing the hth oriented edge 〈uh−1, uh〉, the process hastrace-type th. Then the first h trace-pairs traced by FaceTrace(t′h, 〈uh, uh−1〉), where

Journal of the ACM, Vol. V, No. N, Month 20YY.

Page 6: Extended Graph Rotation Systems as a Model for …...2009/04/04  · Extended Graph Rotation Systems as a Model for Cyclic Weaving on Orientable Surfaces ERGUN AKLEMAN, JIANER CHEN

6 · E. Akleman, J. Chen, and J. L. Gross

t′h = th + 1 (mod 2), are

(t′h, 〈uh, uh−1〉) , . . . , (t′2, 〈u2, u1〉) , (t′1, 〈u1, u0〉) ,

where t′i = ti + 1 (mod 2) for all i, h ≥ i ≥ 1, and after tracing the hth orientededge 〈u1, u0〉, the process has current trace-type t′0 = t0 + 1 (mod 2).

Proof. The lemma can be easily verified for the case h = 1. We proceed byinduction on h.

Suppose that h > 1. For each i such that 0 ≤ i ≤ h, let

τi = tw-type([u0, u1]) + · · · + tw-type([ui−1, ui]).

It is easy to see that after tracing the ith oriented edge 〈ui−1, ui〉, the processFaceTrace(t0, 〈u0, u1〉) has trace-type ti = t0 + τi (mod 2). Thus, th = t0 +τh (mod 2), which gives t′h = t0 + 1 + τh (mod 2). Now consider the pro-cess FaceTrace(t′h, 〈uh, uh−1〉). After tracing the first oriented edge 〈uh, uh−1〉,the trace-type t′n−1 of the process becomes (note that τh + tw-type([uh−1, uh]) =τh−1 (mod 2))

t′h + tw-type([uh−1, uh]) = t0 + 1 + τh−1 = th−1 + 1 (mod 2).

This proves that t′h−1 = th−1 + 1 (mod 2).

By the premises of this lemma, the tracing process FaceTrace(t0, 〈u0, u1〉) has trace-type th−1 after tracing 〈uh−2, uh−1〉, and the oriented edge 〈uh−1, uh〉 follows theoriented edge 〈uh−2, uh−1〉 in that process. Thus, the oriented edge 〈uh−1, uh〉must be th−1-next to the oriented edge 〈uh−1, uh−2〉 at uh−1. In consequence,the edge 〈uh−1, uh−2〉 must be t′h−1-next to 〈uh−1, uh〉 at uh−1. Now since theprocess FaceTrace(t′h, 〈uh, uh−1〉) has a trace-type t′h−1 after tracing the first ori-ented edge 〈uh, uh−1〉, the next oriented edge to be traced by the process mustbe 〈uh−1, uh−2〉. Therefore, after tracing the first oriented edge 〈uh, uh−1〉, theprocess FaceTrace(t′h, 〈uh, uh−1〉) has a trace-pair (t′h−1, 〈uh−1, uh−2〉), and accord-ingly, it will copy the process FaceTrace(t′h−1, 〈uh−1, uh−2〉) when tracing the nexth − 1 trace-pairs. By the induction hypothesis, the first h − 1 trace-pairs by thesubroutine FaceTrace(t′h−1, 〈uh−1, uh−2〉) are(

t′h−1, 〈uh−1, uh−2〉), . . . , (t′2, 〈u2, u1〉) , (t′1, 〈u1, u0〉) ,

where t′i = ti + 1 (mod 2) for all i such that h − 1 ≥ i ≥ 1, and after tracing the(h − 1)st oriented edge 〈u1, u0〉, the process has trace-type t′0 = t0 + 1 (mod 2).Combining this with the first traced oriented edge 〈uh, uh−1〉, we conclude that thefirst h trace-pairs traced by the subroutine FaceTrace(t′h, 〈uh, uh−1〉) are

(t′h, 〈uh, uh−1〉) , . . . , (t′2, 〈u2, u1〉) , (t′1, 〈u1, u0〉) ,

where t′i = ti + 1 (mod 2) for all i with h ≥ i ≥ 1, and that after tracing the hth

oriented edge 〈u1, u0〉, the process has trace-type t0 + 1 (mod 2).

3.2 Reversing an fb-walk

Definition Suppose that the fb-walkB of a face F is the cyclically ordered sequenceof trace-pairs

(t0, 〈u0, u1〉), (t1, 〈u1, u2〉), . . . , (th−2, 〈uh−2, uh−1〉), (th−1, 〈uh−1, u0〉).

Then the reverse of the fb-walk B is defined to be the cyclically ordered sequenceof trace-pairsJournal of the ACM, Vol. V, No. N, Month 20YY.

Page 7: Extended Graph Rotation Systems as a Model for …...2009/04/04  · Extended Graph Rotation Systems as a Model for Cyclic Weaving on Orientable Surfaces ERGUN AKLEMAN, JIANER CHEN

Extended Graph Rotation Systems as a Model · 7

Br = (t′0, 〈u0, uh−1〉) ,(t′h−1, 〈uh−1, uh−2〉

), . . . , (t′2, 〈u2, u1〉) , (t′1, 〈u1, u0〉) ,

where t′i = ti + 1 (mod 2) for all i such that h− 1 ≥ i ≥ 0.

Corollary 3.2. Fix a general rotation system ρ(G) for a graph G, and let(u0, 〈u0, uh−1〉, 〈u0, u1〉) be a face corner in ρ(G). If issuing the subroutine callFaceTrace(0, 〈u0, u1〉) traces an fb-walk B, then the fb-walk traversed by the callFaceTrace(1, 〈u0, uh−1〉) is the reverse of B.

Proof. First note that the last oriented edge on the fb-walk B traced by thesubroutine call FaceTrace(0, 〈u0, u1〉) must be 〈uh−1, u0〉, and that after tracing〈uh−1, u0〉 the process must have trace-type 0 — otherwise, the process would nothave stopped. Therefore, we can assume that the fb-walk B is composed of thecyclically ordered trace-pairs

(0, 〈u0, u1〉), (t1, 〈u1, u2〉), . . . , (th−2, 〈uh−2, uh−1〉), (th−1, 〈uh−1, u0〉).

By Lemma 3.1, the first h trace-pairs by the subroutine FaceTrace(1, 〈u0, uh−1〉)are

(1, 〈u0, uh−1〉), (t′h−1, 〈uh−1, uh−2〉), . . . , (t′2, 〈u2, u1〉), (t′1, 〈u1, u0〉), (3.1)

where t′i = ti +1 (mod 2) for all i such that h−1 ≥ i ≥ 1, and after tracing 〈u1, u0〉,the trace-type is 1. Since 〈u0, uh−1〉 is 1-next to 〈u0, u1〉) at u0, the next edge tobe traced by FaceTrace(1, 〈u0, uh−1〉) is 〈u0, uh−1〉, so the process terminates andcompletes the face-tracing. Therefore, the sequence in Eq (3.1) gives the entirefb-walk traced by the process FaceTrace(1, 〈u0, uh−1〉), which is the reverse of B.

Since the fb-walk B and its reverse bound the same topological region in the imbed-ding induced by the rotation system ρ(G), only one of them is needed. Therefore,the face corner (u0, 〈u0, uh−1〉, 〈u0, u1〉) is regarded as “traced” if the corner is tracedeither in the order 〈uh−1, u0〉, u0, 〈u0, u1〉, or in the order 〈u1, u0〉, u0, 〈u0, uh−1〉.

Corollary 3.3. Fix a general rotation system ρ(G) and let [u0, u1] be an edgeof G. Suppose that FaceTrace(t, 〈u0, u1〉) traces an fb-walk B. Then the fb-walktraced by calling FaceTrace(t′, 〈u1, u0〉), where t′ = t+ 1 + type([u0, u1]) (mod 2), isthe reverse walk Br.

Proof. First suppose that t = 0. Consider the face corner (u0, 〈u0, uh−1〉, 〈u0, u1〉)in ρ(G). As discussed in the proof of Corollary 3.2, the fb-walk B traced byFaceTrace(0, 〈u0, u1〉) can be assumed to be

(0, 〈u0, u1〉), (t1, 〈u1, u2〉), . . . , (th−2, 〈uh−2, uh−1〉), (th−1, 〈uh−1, u0〉).

Using Corollary 3.2, we infer that the fb-walk traced by FaceTrace(1, 〈u0, uh−1〉) is

(1, 〈u0, uh−1〉),(t′h−1, 〈uh−1, uh−2〉

), . . . , (t′2, 〈u2, u1〉) , (t′1, 〈u1, u0〉) ,

which we observe is Br, the reverse of B. Immediately before tracing 〈u1, u0〉, theprocess FaceTrace(1, 〈u0, uh−1〉) has trace-type

t′1 = 1 + type([u0, uh−1]) + · · ·+ type([u2, u1]) = 1 + type([u1, u0]) (mod 2).

Therefore, the fb-walk Br is also produced by the process FaceTrace(t′1, 〈u1, u0〉),where

t′1 = 1 + type([u0, u1]) = t+ 1 + type([u0, u1]) = t′ (mod 2)

This proves that FaceTrace(t′, 〈u1, u0〉) also traces the reverse Br of the fb-walk B.Journal of the ACM, Vol. V, No. N, Month 20YY.

Page 8: Extended Graph Rotation Systems as a Model for …...2009/04/04  · Extended Graph Rotation Systems as a Model for Cyclic Weaving on Orientable Surfaces ERGUN AKLEMAN, JIANER CHEN

8 · E. Akleman, J. Chen, and J. L. Gross

Alternatively, suppose that t = 1. In this case the face corner to be considered is(u0, 〈u0, u1〉, 〈u0, uh−1〉). Here, too, it can be easily seen that the fb-walk B tracedby FaceTrace(1, 〈u0, u1〉) can be assumed to be of the form

(1, 〈u0, u1〉), (t1, 〈u1, u2〉), . . . , (th−2, 〈uh−2, uh−1〉), (th−1, 〈uh−1, u0〉).

Corollary 3.2 implies that the fb-walk traced by FaceTrace(0, 〈u0, uh−1〉) is

(0, 〈u0, uh−1〉), (t′h−1, 〈uh−1, uh−2〉), . . . , (t′2, 〈u2, u1〉), (t′1, 〈u1, u0〉). (3.2)

and that FaceTrace(0, 〈u0, uh−1〉) traces the reverse Br of the fb-walk B. (Note thatthe reverse of the reverse of a walk B is the walk B itself). Therefore, immediatelybefore the process FaceTrace(0, 〈u0, uh−1〉) traces the last oriented edge 〈u1, u0〉 inthe trace-pair sequence (3.2), the trace-type is

t′1 = type([u0, uh−1]) + · · ·+ type([u2, u1]) (mod 2)= type([u0, u1])= t+ 1 + type([u0, u1]) (mod 2)= t′.

Therefore, the process FaceTrace(t′, 〈u1, u0〉) and the process FaceTrace(0, 〈u0, uh−1〉)trace the same fb-walk Br, which is the reverse of B.

Accordingly, for each oriented edge 〈u,w〉, there are only two essentially differenttrace-pairs. By Corollary 3.3, the four trace-pairs (0, 〈u,w〉), (1, 〈u,w〉), (0, 〈w, u〉)and (1, 〈w, u〉) of an edge [u,w] correspond to only two different trace-pairs usedin the face tracing process Facing(ρ(G)). These trace-pairs will be called the trace-pairs induced on the edge [u,w]. The trace-pairs (0, 〈u,w〉), (1, 〈u,w〉) are said touse the oriented edge 〈u,w〉, and the trace-pairs (0, 〈w, u〉) and (1, 〈w, u〉) are saidto use the oriented edge 〈w, u〉.

3.3 Effects of edge-twisting surgery

Theorem 3.4. Twisting an edge e in a general rotation system ρ(G) satisfiesthe following rules:

—(A) Suppose that the two trace-pairs induced by edge e belong to the fb-walks oftwo different faces in the imbedding. Then twisting edge e merges the two facesinto a single face;

—(B) Suppose that the two trace-pairs induced by edge e belong to the fb-walk of thesame face F in the imbedding.

—(B1) If the two trace-pairs induced by e use the same oriented edge, then twist-ing edge e splits the face F into two faces;

—(B2) If the two trace-pairs induced by edge e use different oriented edges, thentwisting edge e converts the face F into a new single face.

Proof. Let e = [u,w]. We first consider case (A). By Corollary 3.3, we canassume that the two faces whose fb-walks contain the trace-pairs induced by e are

F0 = FaceTrace(0, 〈u,w〉) : (0, 〈u,w〉), (t0, 〈w,w0〉), . . . , (t′0, 〈x0, u〉),

and

F1 = FaceTrace(1, 〈u,w〉) : (1, 〈u,w〉), (t1, 〈w,w1〉), . . . , (t′1, 〈x1, u〉),Journal of the ACM, Vol. V, No. N, Month 20YY.

Page 9: Extended Graph Rotation Systems as a Model for …...2009/04/04  · Extended Graph Rotation Systems as a Model for Cyclic Weaving on Orientable Surfaces ERGUN AKLEMAN, JIANER CHEN

Extended Graph Rotation Systems as a Model · 9

where we have t0 + t1 = 1. Note that no trace-pairs induced by the edge [u,w] canappear anywhere else except the two places given in the above sequences. See thetop figure in Figure 2(1) for an illustration.

uw

uu

`` uw1 uw0

``ux1

ux0

F1 F0

uw

uu

`` uw1 uw0

``ux1

ux0

(1) Case (A)

uw

uu

`` uw1 uw0

uw

uu

`` uw1 uw0

(2) Case (B.1)

uw

uu

`` ux2 uw1

``uw2

ux1

uw

uu

`` ux2 uw1

``uw2

ux1

(3) Case (B.2)

Fig. 2. Twisting an edge in a general rotation system

Now we twist the edge e (i.e., changing the twist-type, as shown at the bottomof Figure 2(1)), and we thereby obtain a new rotation system ρ′(G) of the graphG. We apply FaceTrace(t0, 〈w,w0〉) to ρ′(G). Since no vertex rotation is changedand no other edge changes twist-type, FaceTrace(t0, 〈w,w0〉) on ρ′(G) follows thesame sequence of fb-walk F0 (starting from (t0, 〈w,w0〉)), until it traces the trace-pair (0, 〈u,w〉). Now since the edge e = [u,w] changes twist-type, after tracing(0, 〈u,w〉), the trace-type becomes t0 + 1 = t1 (mod 2). From the sequence for F1,we know that 〈w,w1〉 is the t1-next to 〈w, u〉 at w. Therefore, the next orientededge to be traced by FaceTrace(t0, 〈w,w0〉) on ρ′(G) should be 〈w,w1〉 (see thebottom of Figure 2(1)). Thus, after tracing the trace-pair (0, 〈u,w〉), the processFaceTrace(t0, 〈w,w0〉) on ρ′(G) has a trace-pair (t1, 〈w,w1〉). Again since no vertexrotation is changed and no other edge changes twist-type, FaceTrace(t0, 〈w,w0〉)now will follow the sequence F1 (starting from (t1, 〈w,w1〉)) until it traces thetrace-pair (1, 〈u,w〉). By an analysis similar to that above, after tracing (1, 〈u,w〉),we see that the process FaceTrace(t0, 〈w,w0〉) has a trace-type t0 and that the nextedge to be traced is 〈w,w0〉 (see the bottom of Figure 2(1)). Therefore, the processcloses its tracing of the fb-walk.

Since the process FaceTrace(t0, 〈w,w0〉) on ρ′(G) uses exactly the same trace-pairsused in fb-walks F0 and F1, and since no vertex rotation is changed and no otheredge changes twist-type, we conclude that the set of faces for the rotation systemρ′(G) can be obtained from that for ρ(G) by replacing the fb-walks F0 and F1 in ρ(G)by a single fb-walk produced by FaceTrace(t0, 〈w,w0〉) on ρ′(G). This completesthe proof for case (A).

We next consider case (B.1). By the premise, we may assume that the fb-walk F is(see the top of Figure 2(2))

F : (t0, 〈w,w0〉), . . . , (0, 〈u,w〉), (t1, 〈w,w1〉), . . . , (1, 〈u,w〉).Journal of the ACM, Vol. V, No. N, Month 20YY.

Page 10: Extended Graph Rotation Systems as a Model for …...2009/04/04  · Extended Graph Rotation Systems as a Model for Cyclic Weaving on Orientable Surfaces ERGUN AKLEMAN, JIANER CHEN

10 · E. Akleman, J. Chen, and J. L. Gross

Note that in the above sequence, we have t0 + t1 = 1. Twisting the edge e = [u,w]gives a new rotation system ρ′(G) of the graph G. We apply FaceTrace(t0, 〈w,w0〉)to ρ′(G). By the same reasoning as that in (A), the process follows the sequence ofF (starting from (t0, 〈w,w0〉)) until it traces the middle trace-pair (0, 〈u,w〉). Sincethe twist-type of edge [u,w] has changed, the trace-type after tracing the edge 〈u,w〉is t1 + 1 = t0 (mod 2). In the sequence of fb-walk F , edge 〈w,w0〉 is t0-next toedge 〈w, u〉 at w. Therefore, the process FaceTrace(t0, 〈w,w0〉) on ρ′(G) closes itstracing with the fb-walk (see the bottom of Figure 2(2))

F0 : (t0, 〈w,w0〉), . . . , (0, 〈u,w〉).

Completely similarly, we observe that applying FaceTrace(t1, 〈w,w1〉) on ρ′(G) willresult in the fb-walk

F1 : (t1, 〈w,w1〉), . . . , (1, 〈u,w〉).

Since the trace-pairs used by F0 and F1 are exactly those used by F , we concludechanging the twist-type of edge e splits the face F into two faces F0 and F1.

Finally we discuss case (B.2). By the premise, we may assume that the fb-walk ofF is (see the top of Figure 2(3))

F : (0, 〈u,w〉), (t1, 〈w,w1〉), . . . , (t, 〈x2, w〉), (t1, 〈w, u〉), (0, 〈u,w2〉), . . . , (t′, 〈x1, u〉),

where the trace-types t and t′ are irrelevant, and we have let t1 = type([u,w]). Wedefine t0 = t1 + 1 (mod 2). Note that the trace-type before the oriented edge 〈w, u〉in the sequence is also t1: by Corollary 3.3, the trace-pairs (0, 〈u,w〉) and (t0, 〈w, u〉)are equivalent.

Within the sequence F , we observe the following:

—(b1). 〈u,w〉 is 0-next to 〈u, x1〉 at u;

—(b2). 〈u,w2〉 is 0-next to 〈u,w〉 at u;

—(b3). 〈w, x2〉 is t0-next to 〈w, u〉 at w;

—(b4). 〈w, u〉 is t0-next to 〈w,w1〉 at w;

where (b3) follows because 〈w, u〉 is t1-next to 〈w, x2〉 at w, and (b4) because 〈w,w1〉is t1-next to 〈w, u〉 at w.

From the subsequence F ′ : (t1, 〈w,w1〉), . . . , (t, 〈x2, w〉), t1 in F (where the last t1 isthe trace-type after tracing F ′), by Lemma 3.1, FaceTrace(t0, 〈w, x2〉) will producethe reverse of F ′ as F ′r : (t0, 〈w, x2〉), . . . , (t′′, 〈w1, w〉), t0 (where the trace-type t′′ isirrelevant).

We twist the edge [u,w] (i.e., changing the twist-type of [u,w] to t0), and we applyFaceTrace(0, 〈u,w〉) to the new rotation system ρ′(G). After tracing (0, 〈u,w〉), thetrace-type becomes t0. By (b3), the next oriented edge to be traced by the process is〈w, x2〉. Therefore, the modified process will mimic the process FaceTrace(t0, 〈w, x2〉)on the original rotation system ρ(G) and produce the subsequence

F ′r : (t0, 〈w, x2〉), . . . , (t′′, 〈w1, w〉), t0,

until it returns to the vertex w from 〈w1, w〉. Note that after tracing 〈w1, w〉, theprocess has a trace-type t0. Now by (b4), the process continues tracing the trace-pair (t0, 〈w, u〉) and changes its trace-type to t0 + t0 = 0 (mod 2). By (b2), the nextoriented edge to be traced thereafter is 〈u,w2〉. Hence, the process then followsthe sequence of fb-walk F (starting from (0, 〈u,w2〉)) until it traces the trace-pair(t′, 〈x1, u〉) — after tracing 〈x1, u〉, the process has a trace-type 0. By (b1), theJournal of the ACM, Vol. V, No. N, Month 20YY.

Page 11: Extended Graph Rotation Systems as a Model for …...2009/04/04  · Extended Graph Rotation Systems as a Model for Cyclic Weaving on Orientable Surfaces ERGUN AKLEMAN, JIANER CHEN

Extended Graph Rotation Systems as a Model · 11

next edge to be traced is 〈u,w〉. Therefore, the process FaceTrace(0, 〈u,w〉) onρ′(G) produces the fb-walk F ′, given by

(0, 〈u,w〉), (t0, 〈w, x2〉), . . . , (t′′, 〈w1, w〉), (t0, 〈w, u〉), (0, 〈u,w2〉), . . . , (t′, 〈x1, u〉).

which uses exactly the same oriented edges as fb-walk F . In conclusion, twistingthe edge [u,w] in this case replaces the face F by a single new face F ′.

The results on the set of fb-walks of twisting an edge (i.e., changist whose twoinduced trace-pairs both belong to the same fb-walk, that is, case (B.2) of Theo-rem 3.4, seem absent from the existing literature in topological graph theory.

4. ON EDGE-INSERTION AND EDGE-DELETION

Edge insertion/deletion operations have been fundamental in the studies of puregraph rotation systems on orientable imbeddings [Chen 1990; Gross and Tucker1987] and in their applications to computer graphics [Akleman and Chen 1999].One might expect that most corresponding results involving pure graph rotationsystems would extend naturally to general graph rotation systems. However, thereseem to be certain subtle issues that are quite different, which, to our knowledge,have not been thoroughly studied in the literature. Accordingly, we present a revisedstudy of those operations on general graph rotation systems in this section.

To observe how the surgery operations of edge-insertion and edge-deletion arechanged, we consider the general graph rotation systems whose rotation projec-tions [Gross and Tucker 1987] are given in Figure 3 (where the oriented edges areassigned counterclockwise order, and the edges of type-1 are marked by a cross ×).Figure 3(1) corresponds to a one-face imbedding of the bouquet B1 (one vertex withone self-loop) on the projective plane. In particular, the face corners c1 and c2 inFigure 3(1) belong to the same face. Now suppose that we insert a new type-0 edgee2 between these two face corners, as depicted in Figure 3(2). Our rules in §2 forpure graph rotation systems say that an edge insertion (necessarily type-0 for purerotation systems) between two corners of the same face would split that face intotwo faces. However, when applying the face tracing procedure in Algorithm 1 tothe graph of Figure 3(2), we find out that the resulting rotation system correspondsto a one-face imbedding of the bouquet B2 (on the Klein bottle)!

t c1c2

×

e1

(1)

te2

×

e1

(2)

Fig. 3. Inserting an edge into a general rotation system

This phenomenon seems never explicitly described in the literature. A careful ex-amination indicates that while we were tracing the face in Figure 3(1), the two facecorners c1 and c2 are traversed in the opposite directions (if corner c1 is traversedin counterclockwise order then corner c2 would be traversed in clockwise order).Motivated by our observation of this phenomenon, we introduce the following newconcept.

Journal of the ACM, Vol. V, No. N, Month 20YY.

Page 12: Extended Graph Rotation Systems as a Model for …...2009/04/04  · Extended Graph Rotation Systems as a Model for Cyclic Weaving on Orientable Surfaces ERGUN AKLEMAN, JIANER CHEN

12 · E. Akleman, J. Chen, and J. L. Gross

Definition Let ρ(G) be a general rotation system for a graph G. Each facecorner (v, e, e′) in ρ(G) is assigned a corner-type by the algorithm FbWalks(ρ(G)),as follows:

—(1). if FbWalks(ρ(G)) passes through vertex v by entering along edge e andleaving along edge e′, then the corner (v, e, e′) has corner-type 0;

—(2). if FbWalks(ρ(G)) passes through vertex v by entering along edge e′ andleaving along edge e, then the corner (v, e, e′) has corner-type 1;

We observe that if ρ(G) is a pure graph rotation system, then we can make all facecorners type-0.

Remark The corner-types depend on how the algorithm call FbWalks(ρ(G))picks an untraced corner (u, e, e′) to start tracing the fb-walk for each new faceF . There are only two ways to assign a first corner-type for a new face F : one is byFaceTrace(0, e′) and the other by FaceTrace(1, e). By Corollary 3.2, the two waysto assign the first corner-type lead to exactly opposite corner types at every corner.The point is, for any two corners of F , either both ways assign the two corners thesame type, or both ways assign the two corners different types. Therefore, since ourconcern is only whether they have the same or diferent types, it does not matterwhich way is used to assign the first corner-type for a face.

Our chief concern here is how surgery operations on a general graph rotation systemimpact the corresponding imbedding on a surface. At the outset of this section, weobserved that this correspondence is non-obvious. In fact, for edge-insertions intogeneral graph rotation systems, the rules given by the following theorem differsignificantly from those for pure graph rotation systems. Since inserting a type-1(i.e., twisted) edge can be implemented by inserting a type-0 (i.e., flat) edge followedby twisting the edge, we will consider here only the case of inserting type-0 edges.

4.1 Effects of edge-insertion surgery

Theorem 4.1. Suppose that we insert the ends of a type-0 edge e into two facecorners c1 and c2 in a general rotation system ρ(G). Then the following rules hold:

—(A) Suppose that corners c1 and c2 belong to two different faces. Then insertingedge e between c1 and c2 merges the two faces into a single face.

—(B) Suppose that corners c1 and c2 belong to the same face. Then

—(B1) if c1 and c2 have the same corner-type, then inserting edge e between c1and c2 splits the face into two faces;

—(B2) if c1 and c2 have different corner-types, then inserting e between c1 andc2 results in a new face.

Proof. In case (A), since the corners c1 and c2 belong to different faces, theremark given before this theorem allows us to assume that both corners have type-0.This reduces case (A) to inserting a type-0 edge between type-0 face corners of twodifferent faces, which we know merges those two faces into a single face.

For case (B1), since the corners c1 and c2 have the same type, the remark givenbefore the theorem permits us to assume again that both corners have type-0. Thisreduces case (B1) to the case of inserting a type-0 edge between two type-0 cornersof the same face, which we know splits that face into two faces. A proof of cases (A)and (B1) for pure rotation systems has previously appeared in [Furst et al. 1988](§2.4, page 526).Journal of the ACM, Vol. V, No. N, Month 20YY.

Page 13: Extended Graph Rotation Systems as a Model for …...2009/04/04  · Extended Graph Rotation Systems as a Model for Cyclic Weaving on Orientable Surfaces ERGUN AKLEMAN, JIANER CHEN

Extended Graph Rotation Systems as a Model · 13

In case (B2), we may assume that the corner c1 = (v1, 〈v1, w1〉, 〈v1, u1〉) of face Fis type-0, and that the corner c2 = (v2, 〈v2, u2〉, 〈v2, w2〉) of face F is type-1, bythat same remark. Suppose that the new edge [v1, v2] is inserted between corners c1and c2. Under these assumptions, the fb-walk of the face F of the original rotationsystem ρ(G) is of the form

F : (∗, 〈w1, v1〉), (0, 〈v1, u1〉), α, (∗, 〈w2, v2〉), (1, 〈v2, u2〉), β,

where ∗ represents trace-types that are irrelevant, and where α and β are subse-quences in the fb-walk. Note that 〈v1, u1〉 is 0-next to 〈v1, w1〉 at v1 and that 〈v2, u2〉is 1-next to 〈v2, w2〉 at v2. See Figure 4(1) for an illustration. After inserting thenew edge [v1, v2], the resulting rotation system ρ′(G′) (where G′ is G plus the newedge) has the following new relations (see Figure 4(2)):

—(b1) 〈v1, v2〉 is 0-next to 〈v1, w1〉 at v1;

—(b2) 〈v1, u1〉 is 0-next to 〈v1, v2〉 at v1;

—(b3) 〈v2, v1〉 is 1-next to 〈v2, w2〉 at v2;

—(b4) 〈v2, u2〉 is 1-next to 〈v2, v1〉 at v2.

sv1 sv2��

@@

@@

��

su1

sw1

su2

sw2

αβ

(1)

sv1 sv2��

@@

@@

��

su1

sw1

su2

sw2

αβr

(2)

Fig. 4. Inserting an edge: case (B.2)

Now consider the tracing process π = FaceTrace(0, 〈v1, u1〉) in the new rotationsystem ρ′(G′). Since no other face corners are affected by the edge insertion, theprocess π follows the sequence of F (starting from (0, 〈v1, u1〉)) until it traces theoriented edge 〈w2, v2〉:

S1 : (0, 〈v1, u1〉), α, (∗, 〈w2, v2〉), 1,

where the last “1” indicates the trace-type after tracing the oriented edge 〈w2, v2〉.Then because of (b3), the next oriented edge to be traced by π is 〈v2, v1〉, and aftertracing 〈v2, v1〉, the trace-type is 1 (because the new edge [v1, v2] has twist-type 0):

S2 : (1, 〈v2, v1〉), 1.

By relation (b1), the next oriented edge to be traced by π is 〈v1, w1〉. By Corol-lary 3.2, in the original rotation system ρ(G), the process FaceTrace(1, 〈v1, w1〉)will trace the reverse of FaceTrace(0, 〈v1, u1〉) (which is F ). Therefore, the processπ will follow the reverse of F (starting from (1, 〈v1, w1〉) and changing all cornertypes) until it traces the oriented edge 〈u2, v2〉:

S3 : (1, 〈v1, w1〉), βr, (∗, 〈u2, v2〉), 0,

where βr is the reverse of β. Note also that by Lemma 3.1, after tracing 〈u2, v2〉,the process π has a trace-type 0.

Journal of the ACM, Vol. V, No. N, Month 20YY.

Page 14: Extended Graph Rotation Systems as a Model for …...2009/04/04  · Extended Graph Rotation Systems as a Model for Cyclic Weaving on Orientable Surfaces ERGUN AKLEMAN, JIANER CHEN

14 · E. Akleman, J. Chen, and J. L. Gross

By relation (b4), the next oriented edge to be traced by the process π is 〈v2, v1〉,and after tracing 〈v2, v1〉, the process π has a trace-type 0 (because the edge [v1, v2]has type-0):

S4 : (0, 〈v2, v1〉), 0.Now by relation (b2), the next edge must be 〈v1, u1〉. Therefore, the process π =FaceTrace(0, 〈v1, u1〉) terminates and completes its tracing with an fb-walk that isthe concatenation of the sequences S1, S2, S3, and S4 above, i.e., the sequence F ′ =

(0, 〈v1, u1〉), α, (∗, 〈w2, v2〉), (1, 〈v2, v1〉), (1, 〈v1, w1〉), βr, (∗, 〈u2, v2〉), (0, 〈v2, v1〉).

Note that the face F ′ has used both trace-pairs for the new edge [v1, v2] (i.e.,(0, 〈v2, v1〉) and (1, 〈v2, v1〉) in the above sequence) plus the same trace-pairs usedin F . (By Corollary 3.3, we may say that a trace-pair (t, 〈v, w〉) is used if either(t, 〈v, w〉) is used or (t′, 〈w, v〉) is used, where t′ = t+ tw-type([v, w]) + 1 (mod 2)).No other face corners are affected, and we conclude that the new set of fb-walksin case (B2) can be obtained from those for the original rotation system ρ(G) byreplacing face F by the new face F ′. This completes the proof for case (B2).

The results of edge-insertion between face corners of different types in a generalrotation system, i.e., case (B2) in Theorem 4.1, seem not to have been explicatedheretofore in the literature.

4.2 Effects of edge-deletion surgery

Now we turn to edge-deletion on general rotation systems. Since deleting an edgee of twist-type 1 can be implemented by first twisting e then deleting the twisted ethat is of twist-type 0, it is sufficient to focus on deleting a type-0 edge.

Theorem 4.2. Deleting a type-0 edge e from a general graph rotation systemρ(G) satisfies the following rules:

—(A) Suppose that the two trace-pairs induced by e belong to the fb-walks of twodifferent faces of the imbedding. Then deleting edge e merges the two faces intoa single face.

—(B) Suppose that the two trace-pairs induced by e both belong to the fb-walk of thesame face F in the imbedding.

—(B1) If the two trace-pairs induced by edge e use different oriented edges, thendeleting edge e splits the fb-walk of the face F into two closed walks, each ofwhich is the fb-walk of a new face of the resulting imbedding.

—(B2) If the two trace-pairs induced by edge e = [u,w] use the same orientededge, then deleting edge e changes the fb-walk of face F into the fb-walk of asingle new face.

Proof. As in Theorem 4.1, proofs for cases (A) and (B1) can be derived bymodifying the proofs of the corresponding theorem for deleting an edge from a purerotation system. See the rule Edge-Delete-0 in §2. Thus, we need to prove thetheorem only for case (B2). By the premises, we can assume that the fb-walk of Fis

F : (0, 〈u,w〉), (0, 〈w,w0〉), α, (∗, 〈u1, u〉), (1, 〈u,w〉), (1, 〈w,w1〉), β, (∗, 〈u0, u〉)

as shown in Figure 5(1) (note that [u,w] has twist-type 0) where α and β aresubsequences in the fb-walk and ∗ stands for irrelevant trace-types.

In the above sequence, we have assumed the following:Journal of the ACM, Vol. V, No. N, Month 20YY.

Page 15: Extended Graph Rotation Systems as a Model for …...2009/04/04  · Extended Graph Rotation Systems as a Model for Cyclic Weaving on Orientable Surfaces ERGUN AKLEMAN, JIANER CHEN

Extended Graph Rotation Systems as a Model · 15

twtu

`` tw1 tw0

`tu1

tu0

0

0

1

1 αβ

(1)

twtu

`` tw1 tw0

``tu1

tu0

0

1 αβr

(2)

Fig. 5. Deleting an edge: case (B.2)

—(b1) 〈u,w〉 is 0-next to 〈u, u0〉 at u;

—(b2) 〈w,w0〉 is 0-next to 〈w, u〉 at w;

—(b3) 〈u,w〉 is 1-next to 〈u, u1〉 at u; and

—(b4) 〈w,w1〉 is 1-next to 〈w, u〉 at w.

Therefore, after deleting the edge [u,w] (see Figure 5(2)),

—(b5) 〈w,w0〉 becomes 0-next to 〈w,w1〉 at w, by (b2) and (b4), and

—(b6) 〈u, u0〉 becomes 1-next to 〈u, u1〉 at u, by (b1) and (b3).

Let ρ′(G′) be the rotation system obtained by deleting edge [u,w] from ρ(G), whereG′ is the graph G−[u,w]. The tracing process π = FaceTrace(0, 〈w,w0〉) follows thefb-walk of face F (starting from (0, 〈w,w0〉)) until it traces the trace-pair (∗, 〈u1, u〉):

S1 : (0, 〈w,w0〉), α, (∗, 〈u1, u〉), 1.

The last 1 is the trace-type after tracing the subsequence S1. By (b6), the orientededge 〈u, u0〉 is 1-next to 〈u, u1〉 at u. Therefore, the next oriented edge to be tracedis 〈u, u0〉, and the process π follows the sequence produced by FaceTrace(1, 〈u, u0〉).By Lemma 3.1, this process will follow the reverse of F (starting from (1, 〈u, u0〉))until it traces the oriented edge 〈w1, w〉:

S2 : (1, 〈u, u0〉), βr, (∗, 〈w1, w〉), 0,

where βr is the reverse of the subsequence β. After tracing the subsequence S2,the trace-type is 0. Now by (b5), the next edge to be traced is 〈w,w0〉. There-fore, the process π =FaceTrace(0, 〈w,w0〉) terminates with the fb-walk that is theconcatenation of S1 and S2:

F ′ : (0, 〈w,w0〉), α, (∗, 〈u1, u〉), (1, 〈u, u0〉), βr, (∗, 〈w1, w〉).

Since the face F ′ uses all trace-pairs of F except the two induced by [u,w], andsince [u,w] has been deleted from ρ(G), we conclude that the rotation system ρ′(G′)can be obtained from the rotation system ρ(G) by replacing the face F by the faceF ′. This completes the proof for case (B.2).

As with Theorem 4.1, prior literature does not seem to include a proof of case (B.2)in Theorem 4.2.

5. EXTENDED GRAPH ROTATION SYSTEMS

The extensions to edge-twisting operation now to be described will be importantfor our approach to modeling cyclic weaving on orientable surfaces. They are notfor graph imbeddings on surfaces. Whereas labeling each edge with a number 0 or 1

Journal of the ACM, Vol. V, No. N, Month 20YY.

Page 16: Extended Graph Rotation Systems as a Model for …...2009/04/04  · Extended Graph Rotation Systems as a Model for Cyclic Weaving on Orientable Surfaces ERGUN AKLEMAN, JIANER CHEN

16 · E. Akleman, J. Chen, and J. L. Gross

is sufficient for specifying graph imbeddings, for modeling weaving, our edge-labelsare drawn from the integers.

In a topological understanding of graph theory, tracing a twisted edge “reverses”the local orientation of the rotation system. Accordingly, a re-twisting of a twistededge is equivalent to untwisting the edge, so the result of double-twisting an edgeis topologically equivalent to an untwisted edge. On the other hand, in our modelfor cyclic weaving, the two trace-pairs induced by a type-0 edge are regarded astwo parallel segments — and twisting the edge is interpreted as crossing the twosegments. We are also interested in knowing which segment goes over and whichsegment goes under at the crossing point and by how many turns it is twisted aroungthe other segment. Double twisting an edge is not the same as leaving it untwisted.Figure 6 gives some intuitive illustrations for edge-twisting in terms of the aboveinterpretation.

(1) (2) (3) (4) (5)k=0 k=1 k=−1 k=2 k=−2

Fig. 6. (1) an untwisted edge. (2) a clockwise twisted edge. (3) a counterclockwise twisted edge.

(4) a double-clockwise twisted edge. (5) a double-counterclockwise twisted edge.

Comparing (2) with (3) and (4) with (5) in Figure 6 reveals that the directionin which we twist the edge is clearly relevant to which segment is over the other.Motivated by this, we introduce the following definitions.

Definition An edge is 1+-twisted (resp. 1−-twisted) if it is obtained from a flatpaper strip, whose two sides are interpreted as the two trace-pairs induced by theedge, by fixing one end of the strip and twisting the other end in clockwise (resp.counterclockwise) direction by 180◦.

See Figure 6(2)-(3) for an illustration. Note that this definition is independent ofwhich end and which side of the paper strip is fixed. More generally, we say thatan edge is k+-twisted (resp. k−-twisted) for an integer k ≥ 0 if the edge can beobtained from an untwisted edge by k consecutive 1+-twists (resp. 1−-twists).

Definition An extended rotation system for a graph G is obtained from a purerotation system by assigning a number k of twists, with k ∈ Z, to every edge of G.

We point out that in terms of graph imbeddings on surfaces, as studied in [Gross andTucker 1987; Guibas and Stolfi 1985], a k+-twisted or k−-twisted edge is equivalentto an untwisted edge if k is even, and equivalent to a normally twisted edge if k isodd.

6. CYCLIC PLAIN-WEAVING ON SURFACES

We now examine how graph rotation systems can be used to create beautiful graph-ics weaving structures on orientable surfaces. In the rest of this paper, “surfaces”will always refer to orientable surfaces, unless explicitly specified otherwise. Webegin with some precise definitions.Journal of the ACM, Vol. V, No. N, Month 20YY.

Page 17: Extended Graph Rotation Systems as a Model for …...2009/04/04  · Extended Graph Rotation Systems as a Model for Cyclic Weaving on Orientable Surfaces ERGUN AKLEMAN, JIANER CHEN

Extended Graph Rotation Systems as a Model · 17

Definition A cyclic weaving on a surface S is an immersion σ : ∪C → S of theunion of a finite set C = {c1, . . . , ck} of circles. We further require that every point inthe disjoint union has a neighborhood that is mapped homeomorphically. However,the images of two circles in C may intersect on the surface S, and the image of asingle circle may self-intersect. The number of intersection points of the circles onthe surface is finite, and the number of pre-images of any point on S under σ isfinite. Moreover, every intersection is a true intersection, rather than a tangency.

Definition The thickness of a cyclic weaving σ is the maximum number of pre-images of a point p in the surface S under the mapping σ, taken over all p ∈ σ(C).Moreover, we assume that for each point p in the image σ(C), the mapping σ alsospecifies an ordering of the pre-images of p, so that for two circles who imagesintersect at p we know which is over the other at the point p.

We will concentrate on a most common cyclic weaving structure, defined as follows:

Definition A cyclic weaving σ : ∪C → S is a cyclic plain-weaving if it satisfies thefollowing conditions:—Its thickness is at most 2;—For each circle c ∈ C, suppose that 〈p1, p2, . . . , pm〉 is the ordered sequence of

crossing points encountered when traversing σ(c) on S. Then σ(c) assigns thesepoints alternatingly as over and under. That is, the closed curve σ(c) weavesalternatingly over and under as it crosses other circles or itself.

The weaving genus of a link

For the case in which the surface S is a sphere, a cyclic plain-weaving on S isequivalent to what topologists call an alternating projection of a link. (See [Adams2004].) To a topologist, the link itself is an imbedding of the set C of circles in3-space, or more formally, an equivalence class of imbeddings that are ambientisotopic to each other. As far as we know, the notion of alternating projectionsonto surfaces other than the sphere has not been well-developed by topologists. Webriefly digress from weaving into some link theory.

Proposition 6.1. For any link L in 3-space R3 with n components c1, . . . , cn,there is a closed orientable surface of genus n in R3 on which L is imbedded.

Proof. Thicken each component cj into a solid torus, so that cj lies on thesurface of that solid torus, and so that the solid tori are mutually disjoint. Nextdiscard the interiors of the solid tori, so that each component of the link lies on atorus. Then connect the n tori with n− 1 tubes, to obtain a copy S of the surfaceSn of genus n.

Remark A closed surface in R3 separates R3 into two parts, by a 3-dimensionalanalogue of the Jordan curve theorem. The part that extends to infinity is calledthe outside and the other part is called the inside.

Definition Restoration of a link L from a projection onto a surface is the resultof pulling each crossing apart: a small over-crossing segment is pulled outside thesurface and a small undercrossing segment is pushed inside the surface.

Definition An alternating projection of a link L in R3 onto a surface S is acontinuous function R3 → S whose restriction to L is a cyclic plain-weaving, whoserestoration is equivalent to L in R3.

Journal of the ACM, Vol. V, No. N, Month 20YY.

Page 18: Extended Graph Rotation Systems as a Model for …...2009/04/04  · Extended Graph Rotation Systems as a Model for Cyclic Weaving on Orientable Surfaces ERGUN AKLEMAN, JIANER CHEN

18 · E. Akleman, J. Chen, and J. L. Gross

Corollary 6.2. Every link L in 3-space has an alternating projection.

Proof. By Proposition 6.1, there is a closed orientable surface S in R3 such thatL is imbedded on S. An imbedding is an alternating projection with zero crossings.

Definition The weaving genus of a link L in R3 is the minimum genus taken overall closed surfaces in R3 onto which the link L has a cyclic plain-weaving.

Remark For any integers n and g such that n ≥ 1 and 0 ≤ g ≤ n, it is possible toconstruct an n-component link with weaving genus g. Use g copies of a non-trivialknot K and n− g copies of the trivial knot, such that each component is splittablefrom the others.

Constructing plain weavings

Let π0 : G → S be an imbedding of a graph on an oriented surface, and let ρ0(G)be the corresponding pure rotation system, whose rotations are taken to be coun-terclockwise around the vertices. We now present a method to construct a cyclicplain-weaving on S. From a topological perspective, this method could be describedin terms of surgery on a regular neighborhood of the image of the graph G in thesurface S, in the form of a band-decomposition [Gross and Tucker 1987] of S. Acombinatorial specification is essential for a computer-graphics implemenation.

Each edge [u,w] of G corresponds to two trace-pairs (0, 〈u,w〉) and (1, 〈u,w〉) inρ0(G) (as well as in π0(G)). Note that by Corollary 3.3, these two trace-pairshave two equivalent trace-pairs in terms of the oriented edge 〈w, u〉. In general, foreach trace-pair (t1, 〈u,w〉), we create a corresponding “segment” t1〈u,w〉t2 , wheret2 = t1 + tw-type([u,w]) (mod 2) is the trace-type we obtain if we start with thetrace-type t1 and trace the oriented edge 〈u,w〉. The endpoints u and w are calledthe head and the tail of the segment, respectively.

To obtain a cyclic weaving σ0 on the surface S, we proceed as follows. For eachedge [u,w] of ρ0(G), we create the two segments 0〈u,w〉0 and 1〈u,w〉1 on S (notethat ρ0(G) is a pure rotation system). For the fb-walk of a face

F : (0, 〈u1, u2〉), . . . , (0, 〈uh−1, uh〉), (0, 〈uh, u1〉), (6.1)

we let the tail of the segment 0〈ui−1, ui〉0 be connected to the head of the segment0〈ui, ui+1〉0 for all i = 2, . . . , h+ 1 (where we let h+ 1 = 1 and h+ 2 = 2).

Remark We visualize the segment 0〈u,w〉0 as lying slightly to one side of the edge[u,w] and the segment 1〈u,w〉1 as lying slightly to the other side. This is illustratedin Figure 7 below.

This is consistent with what we would obtain if we used the reverse of the fb-walkof F and the segments of the form 1〈ui, ui−1〉1. Thus, the face F contains a circlecF composed of the segments:

cF : 0〈u1, u2〉0, , . . . , 0〈uh−1, uh〉0, 0〈uh, u1〉0. (6.2)

We visualize the circle cF as lying near the boundary of the face F , just slightlyinto the interior of F . We construct such segments and circles in the surface S forevery fb-walk in ρ0(G), so that when we traverse an edge [u,w] from u to w on thesurface S, the segment 0〈u,w〉0 is to our right side and the segment 1〈u,w〉1 to ourJournal of the ACM, Vol. V, No. N, Month 20YY.

Page 19: Extended Graph Rotation Systems as a Model for …...2009/04/04  · Extended Graph Rotation Systems as a Model for Cyclic Weaving on Orientable Surfaces ERGUN AKLEMAN, JIANER CHEN

Extended Graph Rotation Systems as a Model · 19

left side. This is consistent with having the rotations in counterclockwise order.This yields an initial weaving σ0 from the circle collection

C0 = {cF | F is a face in π0(G)}

to the surface S.

Notation We use the symbol “∗” to designate trace-types whose values make nodifference to the discussion.

We now describe how to change the cyclic weaving structure σ0 corresponding tok+-twisting an edge [u,w] in the rotation system ρ0(G). Suppose that the edge[u,w] is marked as “k+-twisted”, within an extended rotation system ρ′0(G) thatcorresponds to a general rotation system obtained from ρ0(G) by assigning thetwist-type of [u,w] to 1 (if k is odd) or to 0 (if k is even). We change the cyclicweaving structure σ0 corresponding to this edge twist and obtain a new cyclicweaving structure σ′0, as follows. For the two segments 0〈u,w〉0 and 1〈u,w〉1 in σ0

induced from [u,w], suppose that the tail of 0〈u,w〉0 is connected with the headof 0〈w, x〉∗ and that the tail of 1〈u,w〉1 is connected with the head of 1〈w, y〉∗, seeFigures 7(A1) and Figure 7(B1).

su sw

sysx��

@@

1〈u, w〉1 ��1〈w, y〉∗

0〈u, w〉0 @@0〈w, x〉∗

@

(A1)

su sw

sy

sx��@@

1〈u, w〉1 ��1〈w, y〉∗

0〈u, w〉0 @@0〈w, x〉∗

@

(A2)

su sw

sy

sx

��@@

?

6

1〈u, w〉1��

1〈w, y〉∗

0〈u, w〉0@@0〈w, x〉∗

@

(A3)

su sw

sy

sx

��@@

?

6

1〈u, w〉0��

1〈w, y〉∗

0〈u, w〉1@@0〈w, x〉∗

@

(A4)

su sw

sy

sx

��@@

?

6

1〈u, w〉0��

1〈w, y〉∗

0〈u, w〉1@@0〈w, x〉∗

@

(A5)

su sw

sysx��

@@

1〈u, w〉1 ��

1〈w, y〉∗

0〈u, w〉0 @@0〈w, x〉∗

@

(B1)

su sw

sysx��

@@

1〈u, w〉1 ��

1〈w, y〉∗

0〈u, w〉0 @@0〈w, x〉∗

@

(B2)

su sw

sysx��

@@

?

6

1〈u, w〉1��

1〈w, y〉∗

0〈u, w〉0@@0〈w, x〉∗

@

(B3)

su sw

sysx��

@@

?

6

1〈u, w〉1��

1〈w, y〉∗

0〈u, w〉0@@0〈w, x〉∗

@

(B4)

Fig. 7. Weaving structure changes corresponding to 1+-twist and 2+-twist

Journal of the ACM, Vol. V, No. N, Month 20YY.

Page 20: Extended Graph Rotation Systems as a Model for …...2009/04/04  · Extended Graph Rotation Systems as a Model for Cyclic Weaving on Orientable Surfaces ERGUN AKLEMAN, JIANER CHEN

20 · E. Akleman, J. Chen, and J. L. Gross

Segment-Twist. We perform the following operations:

(1) Cut the joint of 0〈u,w〉0 and 0〈w, x〉∗ and the joint of 1〈u,w〉1 and 1〈w, y〉∗ (asin Figure 7(A2) and Figure 7(B2));

(2) Cross the segments 1〈u,w〉1 and 0〈u,w〉0 k times such that at the first crosspoint, the segment 1〈u,w〉1 goes above the segment 0〈u,w〉0 (as in Figure 7(A3)and Figure 7(B3));

(3) If k is odd, then rename 0〈u,w〉0 as 0〈u,w〉1, and rename 1〈u,w〉1 as 1〈u,w〉0(as in Figure 7(A4)).

(4) Connect the tail of ∗〈u,w〉1 with the head of 1〈w, y〉∗, and connect the tail of∗〈u,w〉0 with the head of 0〈w, x〉∗ (as in Figure 7(A5) and Figure 7(B4)).

The resulting cyclic weaving σ′0 on the surface S is said to be induced by the extendedrotation system ρ′0(G).

The weaving structure change corresponding to a k−-twist of an edge in the purerotation system ρ0(G) can be described similarly, except for step 2, where we requireafter crossing the segments, that the segment 0〈u,w〉0 go above the segment 1〈u,w〉1at their first crossing point. We may apply the edge-twisting operation on morethan one edge in the pure rotation system ρ0(G). Figure 8 provides an example toillustrate the above idea.

(a) (b) (c) (d) (e)

(f) (g) (h) (j)

Fig. 8. Cyclic weaving based on rotation systems

Figure 8(a) is an orientable surface S (the sphere). Figure 8(b) shows an imbed-ding π0(G) of a graph G on the surface S (the graph edges are given as flat bands).Figure 8(c) is the pure rotation system ρ0(G) of G corresponding to the imbeddingπ0(G) in Figure 8(b). Figure 8(e) shows the initial cyclic weaving σ0 induced fromthe rotation system ρ0(G) in Figure 8(c). Figure 8(g) applies the 1+-twisting oper-ation on three of the edges in the rotation system ρ0(G), resulting in an extendedrotation system ρ(G). Figure 8(j) is the cyclic weaving σ induced from the extendedrotation system ρ(G).

We say that an edge is twisted positively if it is k+-twisted for an integer k ≥ 1, andthat it is twisted negatively if it is k−-twisted for an integer k ≥ 1. The theorembelow is a foundation for cyclic plain-weaving.

Theorem 6.3. Let ρ0(G) be a pure rotation system for an imbedding π0 : G→ Sof a graph on an orientable surface. Let A be an arbitrary subset of edges of G. Ifwe either twist all edges in A positively or twist all edges in A negatively, then theresulting extended rotation system induces a cyclic plain-weaving on S.Journal of the ACM, Vol. V, No. N, Month 20YY.

Page 21: Extended Graph Rotation Systems as a Model for …...2009/04/04  · Extended Graph Rotation Systems as a Model for Cyclic Weaving on Orientable Surfaces ERGUN AKLEMAN, JIANER CHEN

Extended Graph Rotation Systems as a Model · 21

Proof. We adopt the same notations as before. Let the cyclic weaving inducedby the pure rotation system ρ0(G) be σ0, where for each face F in π0(G) there is acorresponding circle cF in σ0 mapped to the surface S, such that no two such circlesintersect on S. We provide a detailed proof of the theorem for the case where alledges in the subset A are twisted positively, by induction on the number h of edgesin A. The case where all edges in A are twisted negatively can be proved similarly.

For the subset A of h edges, let ρh(G) denote the extended rotation system obtainedby positively twisting all h edges in A in the given pure rotation system ρ0(G). Wemay regard ρ0(G) as an extended rotation system in which every edge is 0-twisted.For h ≥ 1, we choose an edge [u,w] in A that is k+-twisted in ρh(G) for some integerk > 0, and we let ρh−1(G) be the extended rotation system obtained by replacingthe k+-twisted edge [u,w] in ρh(G) by an untwisted edge [u,w]. Thus, ρh−1 canbe obtained from ρ0(G) by positively twisting the h− 1 edges in A− {[u,w]}, andρh(G) can be obtained from the rotation system ρh−1 by k+-twisting the edge [u,w].Let σh and σh−1 be the cyclic weavings induced by the extended rotation systemsρh(G) and ρh−1(G), respectively.

Claim 1. Every segment in the cyclic weaving σh is of the form t1〈v1, v2〉t2 ,where [v1, v2] is an edge in the graph G, where t1, t2 ∈ {0, 1} are trace-types such that t2 = t1+tw-type([v1, v2]) (mod 2), and where tw-type([v1, v2])is 1 if [v1, v2] is j+-twisted in ρh(G) for an odd number j or is 0 if [v1, v2]is untwisted or j+-twisted for an even number j.

Claim 1 is obviously true for h = 0: all edges in ρ0(G) are untwisted, and allsegments in σ0 are of the form 0〈v1, v2〉0 and 1〈v1, v2〉1. By way of induction, wesuppose that for some h > 0, Claim 1 is true for the weaving σh−1. The rotationsystem ρh(G) is obtained from ρh−1(G) by k+-twisting the edge [u,w]. By theprocedure Segment-Twist, only the two segments 0〈u,w〉0 and 1〈u,w〉1 in σh−1

may change (note that the edge [u,w] in ρh−1(G) is untwisted). By step 3 of theprocedure Segment-Twist, these two edges are unchanged if k is even, and theychange to 0〈u,w〉1 and 1〈u,w〉0 if k is odd. Therefore, Claim 1 still holds true forthe resulting weaving σh induced by the extended rotation system ρh(G). Thisproves Claim 1.

Claim 2. Let [u,w], [w, x], and [w, y] be edges in G such that in therotation at w in ρ0(G), oriented edge 〈w, x〉 is 0-next to 〈w, u〉, andoriented edge 〈w, y〉 is 1-next to 〈w, u〉. Then(1) the tail of the segment ∗〈u,w〉0 in σh is connected with the head of

0〈w, x〉∗; and(2) the tail of the segment ∗〈u,w〉1 in σh is connected with the head of

1〈w, y〉∗.

Claim 2 holds true for h = 0, by the specifications (6.1) and (6.2) for constructingthe fb-walks. We assume inductively that for some h > 0, Claim 2 holds true forthe weaving σh−1. The weaving σh is obtained from the weaving σh−1 by modifyingonly the segments 0〈u,w〉0 and 1〈u,w〉1, corresponding to the k+-twist of the edge[u,w] according to the procedure Segment-Twist. By the induction hypothesis onσh−1 and by Step 4 of the procedure Segment-Twist, Claim 2 still holds true forthe weaving σh. This proves Claim 2.

Claim 3. There is a one-to-one correspondence between the fb-walks inthe extended rotation system ρh(G) and the circles in the weaving σh.

Journal of the ACM, Vol. V, No. N, Month 20YY.

Page 22: Extended Graph Rotation Systems as a Model for …...2009/04/04  · Extended Graph Rotation Systems as a Model for Cyclic Weaving on Orientable Surfaces ERGUN AKLEMAN, JIANER CHEN

22 · E. Akleman, J. Chen, and J. L. Gross

Let t1〈v1, v2〉t2 and t3〈v3, v4〉t4 be two consecutive segments of a circle c in theweaving σh. Claim 1 implies that t2 = t1 + tw-type([v1, v2]) (mod 2) and thatt4 = t3 + tw-type([v3, v4]) (mod 2). Claim 2 inplies that t2 = t3 and v2 = v3, andthat 〈v3, v4〉 must be the t2-next to 〈v2, v1〉 in the rotation at v3 = v2. Therefore,if we start with the trace-pair (t1, 〈v1, v2〉) in the rotation system ρh(G) and applythe subroutine FaceTrace in Algorithm 1, the next trace-pair must be (t3, 〈v3, v4〉).Therefore, the circle c in σh must follow exactly tracing an fb-walk in the rotationsystem ρh(G). Conversely, using the same reasoning, we can prove that an fb-walk

F : (t1, 〈u1, u2〉), (t2, 〈u2, u3〉), . . . , (tp, 〈up, u1〉)

in the rotation system ρh(G) induces the circle

cF : t1〈u1, u2〉t2 , t2〈u2, u3〉t3 , . . . , tp〈up, u1〉t1 ,

in the weaving σh. This proves Claim 3.

Claim 4. Let [v1, v2] be any edge of the graph G. Then

(1) if we traverse a circle c in σh starting from the head of the segment0〈v1, v2〉∗ in c, then the circle c must go “under” at the first crossingpoint;

(2) if we traverse a circle c in σh starting from the head of the segment1〈v1, v2〉∗ in c, then the circle c must go “over” at the first crossingpoint;

(3) if we traverse a circle c in σh, and if the last segment in c is ∗〈v1, v2〉0,then at the last crossing point before we reach the tail of ∗〈v1, v2〉0,the circle c must go “over”;

(4) if we traverse a circle c in σh, and if the last segment in c is ∗〈v1, v2〉1,then at the last crossing point before we reach the tail of ∗〈v1, v2〉1,the circle c must go “under”.

Claim 4 is trivially true for the case h = 0 because the initial weaving σ0 corre-sponding to the pure rotation system ρ0(G) has no circle crossings. For h > 0, theweaving σh is obtained from σh−1 by modifying the segments 0〈u,w〉0 and 1〈u,w〉1in σh−1, corresponding to the k+-twist of the edge [u,w] and using the procedureSegment-Twist. Now suppose inductively that Claim 4 holds true on the weavingσh for all edges in G, except perhaps for the edge [u,w]. For the edge [u,w], wenote that the two new segments 0〈u,w〉∗ and 1〈u,w〉∗ in σh cross each “over” and“under” alternatingly, such that (see Figure 7 for verifications):

—a1. if we traverse in σh the new segment 0〈u,w〉∗ from its head, then at the firstcrossing point with the segment 1〈u,w〉∗, we go “under”;

—a2. if we traverse in σh the new segment 1〈u,w〉∗ from its head, then at the firstcrossing point with the segment 0〈u,w〉∗, we go “over”;

—a3. if we traverse in σh the new segment ∗〈u,w〉0 and reach its tail, then at thelast crossing point with the segment ∗〈u,w〉1, we went “over”;

—a4. if we traverse in σh the new segment ∗〈u,w〉1 and reach its tail, then at thelast crossing point with the segment ∗〈u,w〉0, we went “under”.

Therefore, Claim 4 also holds true for the edge [u,w] after it is k+-twisted in theweaving σh. This proves Claim 4.Journal of the ACM, Vol. V, No. N, Month 20YY.

Page 23: Extended Graph Rotation Systems as a Model for …...2009/04/04  · Extended Graph Rotation Systems as a Model for Cyclic Weaving on Orientable Surfaces ERGUN AKLEMAN, JIANER CHEN

Extended Graph Rotation Systems as a Model · 23

Now we are ready to prove the theorem. Pick any circle c in the weaving σh. ByClaim 3, there is an fb-walk

Fc : (t1, 〈u1, u2〉), (t2, 〈u2, u3〉), . . . , (tp, 〈up, u1〉) (6.3)

in the rotation system ρh(G) such that the circle c is given as a sequence of segmentsof the form:

c : t1〈u1, u2〉t2 , t2〈u2, u3〉t3 , . . . , tp〈up, u1〉t1 . (6.4)

Pick any two consecutive segments ti−1〈ui−1, ui〉ti, ti〈ui, ui+1〉ti+1 in the circle c as

given by (6.4) (we have let p+1 = 1 and p+2 = 2). There are two possible subcases:

Subcase 1: ti = 0. By Claim 4(3), at the last crossing point before we reach the tailof ti−1〈ui−1, ui〉0, the circle c went “over”, and by Claim 4(1), at the first crossingpoint after the head of 0〈ui, ui+1〉ti+1 , the circle c will go “under”.

Subcase 2: ti = 1. By Claim 4(4), at the last crossing point before we reach the tailof ti−1〈ui−1, ui〉1, the circle c went “under”, and by Claim 4(2), at the first crossingpoint after the head of 1〈ui, ui+1〉ti+1 , the circle c will go “over”.

Therefore, no matter which is the case, the sub-chain ti−1〈ui−1, ui〉ti, ti〈ui, ui+1〉ti+1

traverses the crossing points “over” and “under” alternatingly. Since each segmentti−1〈ui−1, ui〉ti in the circle c also traverses the crossing points with its “partner” seg-ment t′i−1

〈ui−1, ui〉t′i “over” and “under” alternatingly, where t′i−1 = ti−1+1 (mod 2)and t′i = ti + 1 (mod 2), we conclude that the circle c in σh traverses its crossingpoints “over” and “under” alternatingly.

Since c is an arbitrary circle in the weaving σh, all that remains to prove is thatthe thickness of σh is at most 2 — but that is clear: each crossing point in σh ismade by a pair of segments 0〈u,w〉∗ and 1〈u,w〉∗ for an edge [u,w] in G, and sucha crossing has thickness at most 2. This completes the proof for the theorem.

7. CONCLUSION

In this paper, we have systematically studied some fundamental issues concerninggeneral graph rotation systems that correspond to graph imbeddings on arbitrary(i.e., orientable and non-orientable) surfaces. We have provided precise descriptionsand characterizations for the fundamental surgery operations on general graph ro-tation systems, including edge-twisting, edge-insertion, and edge-deletion. We haveshown that these surgery operations behave differently on general graph rotationsystems from how the corresponding operations act on pure graph rotation sys-tems, and that they are better understood as an extension of the methods neededfor general surfaces.

A face-tracing algorithm on general graph rotation systems is examined thoroughly.For the face-tracing algorithm, each general graph rotation system gives a well-defined collection of circles that correspond to the fb-walks in the graph imbeddinginduced by the rotation system. The edge-surgery operations on graph rotationsystems induce a set of effective operations on the corresponding circle structures.Theorem 3.4, Theorem 4.1, and Theorem 4.2 provide precise characterizations forhow the circle structures are changed when the edge surgery operations are appliedto the corresponding rotation system.

More interestingly, our extended edge surgery operations allow us not only to con-veniently change circle structures but also to effectively handle knot/link propertiesof the circles. Let ρ(G) be a rotation system, and let ρ′(G) be obtained from ρ(G)

Journal of the ACM, Vol. V, No. N, Month 20YY.

Page 24: Extended Graph Rotation Systems as a Model for …...2009/04/04  · Extended Graph Rotation Systems as a Model for Cyclic Weaving on Orientable Surfaces ERGUN AKLEMAN, JIANER CHEN

24 · E. Akleman, J. Chen, and J. L. Gross

by 2+-twisting a type-0 edge. Then, although ρ(G) and ρ′(G) have the same col-lection of circles, the circle collections for the two rotation systems make differentknot/link structures. In particular, our approach has provided a very nice way tohandle knot/link structures projected on orientable surfaces.

Based on this theoretical underpinning, we have proposed a new paradigm for con-structing beautiful cyclic weaving structures. In particular, we precisely provedthat our approach provides a very simple and effective way for constructing cyclicplain-weaving structures on orientable surfaces. The edge-surgery operations on thecorresponding graph rotation systems provide a set of powerful tools for effectivelyhandling changes in the circle structures dynamically. This idea has been imple-mented. A graphics software has been developed. Figure 1 shows some examplesof the cyclic weaving structures created by our software, which is based on thetheoretical study presented in the current paper.

REFERENCES

C. C. Adams, The Knot Book, American Mathematical Society, 2004.

E. Akleman and J. Chen, Guaranteeing the 2-manifold property for meshes with doublylinked face list, International Journal of Shape Modeling 5, (2000), pp. 149–177.

E. Akleman, J. Chen, Q. Xing, and J. Gross, Cyclic plain-weaving on polygonal mesh surfaces

with graph rotation systems, ACM Transactions on Graphics 28-3 (Proc. SIGGRAPH 09),Article No. 78, (2009).

E. Akleman, J. Chen, and V. Srinivasan, A new paradigm for changing topology during

subdivision modeling, Proc. Pacific Graphics 2000 (PG’00), (2000), pp. 192–201.

E. Akleman, J. Chen, and V. Srinivasan, A minimal and complete set of operators for the

development of robust manifold mesh modelers, Graphical Models 65, (2003), pp. 286–304.

E. Akleman, J. Chen, V. Srinivasan, and F. Eryoldas, A new corner cutting scheme with

tension and handle-face reconstruction, International Journal of Shape Modeling 7, (2001), pp.

111–128.

E. Akleman, J. Chen, V. Srinivasan, D. Morris and S. Tett, TopMod3D, An InteractiveTopological Mesh Modeling, Proc. Computer Graphics International 2008 (CGI’08), (2008),

pp. 10–18.

L. W. Beineke, R. J. Wilson, J. L. Gross, and T. W. Tucker, eds., Topics in Topological

Graph Theory, Cambridge University Press, 2009.

B. J. Baumgart, Winged-edge polyhedron representation, Technical Report CS-320, Stanford

University, 1972.

J. Chen, The Distribution of Graph Imbeddings on Topological Surfaces, Ph.D. Thesis,

Columbia University, 1990.

J. Chen, J. L. Gross, and R. G. Rieper, Overlap matrices and total imbedding distributions,Discrete Mathematics 128, (1994), pp. 73–94.

J. Edmonds, A combinatorial representation for polyhedral surfaces, Notices American Math-

ematics Society 7, (1960), pp. 646.

M. Furst, J. Gross, and L. McGeoch, Finding a maximum-genus graph imbedding, Journalof the ACM 35, (1988), pp. 523–534.

J. L. Gross and S. R. Alpert, The topological theory of current graphs, Journal of Combi-natorial Theory B 17, (1974), pp. 218-233.

J. L. Gross and T. W. Tucker, Topological Graph Theory, Wiley Interscience, New York,1987.

B. Grunbaum and G. Shephard, Tilings and Patterns, W. H. Freeman and Co, NY, 1987.

L. Guibas and J. Stolfi, Primitives for the manipulation of general subdivisions and compu-tation of Voronoi diagrams, ACM Transaction on Graphics 4, (1985), pp. 74–123.

L. Heffter, Uber das Problem der Nachbargebiete, Math. Ann. 38, (1891), pp. 477-508.

M. Mantyla, An Introduction to Solid Modeling, Computer Science Press, Rockville, MA,1988.

B. Mohar and C. Thomassen, Graphs and Surfaces, Johns Hopkins University Press, 2001.

A. T. White, Groups of Graphs on Surfaces North-Holland, 2001.

Journal of the ACM, Vol. V, No. N, Month 20YY.