12.07.2014 Views

Schnyder woods for higher genus triangulated surfaces with ...

Schnyder woods for higher genus triangulated surfaces with ...

Schnyder woods for higher genus triangulated surfaces with ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Schnyder</strong> <strong>woods</strong> <strong>for</strong> <strong>higher</strong> <strong>genus</strong> <strong>triangulated</strong><br />

<strong>surfaces</strong> <strong>with</strong> applications to compression<br />

(a)<br />

v n−1<br />

(b)<br />

v n−1<br />

(c)<br />

v 0 v 1<br />

v 0 v 1<br />

Luca Castelli Aleardi, Eric Fusy and<br />

Thomas Lewiner<br />

MAT. 18/08


Cadastro de Pré–publicação : MAT. 18/08<br />

Título :<br />

Autores :<br />

<strong>Schnyder</strong> <strong>woods</strong> <strong>for</strong> <strong>higher</strong> <strong>genus</strong> <strong>triangulated</strong> <strong>surfaces</strong> <strong>with</strong> applications<br />

to compression<br />

Luca Castelli Aleardi, Eric Fusy and Thomas Lewiner<br />

Palavras Chave : 1. <strong>Schnyder</strong> <strong>woods</strong> 2. <strong>Schnyder</strong> trees<br />

3. Graph realizer 4. Handlebody theory<br />

5. High <strong>genus</strong> surface 6. Topological graph theory<br />

Número de páginas : 14<br />

Data de submissão : September 1 st , 2008<br />

Endereço eletrônico :<br />

//www.matmidia.mat.puc-rio.br/tomlew/attachments/realizer_dcg.pdf<br />

http:<br />

Área de Concentração : □ Matemática Pura Matemática Aplicada<br />

Âmbito : □ Nacional Internacional<br />

Sem vínculado com tese.<br />

Linha de Pesquisa do Artigo :<br />

Projeto de Pesquisa (con<strong>for</strong>me relatório CAPES) :<br />

Projeto de Pesquisa vinculado (orgão financiador) :<br />

Computação Gráfica<br />

Compressão de malhas<br />

Edital CNPq Universal<br />

Outras In<strong>for</strong>mações Relevantes :<br />

. .<br />

. .<br />

Breve Descrição do Projeto (em case de projeto novo) :<br />

. .<br />

. .


<strong>Schnyder</strong> <strong>woods</strong> <strong>for</strong> <strong>higher</strong> <strong>genus</strong> <strong>triangulated</strong> <strong>surfaces</strong> <strong>with</strong> applications to compression<br />

LUCA CASTELLI ALEARDI 1 , ERIC FUSY 2 AND THOMAS LEWINER 3<br />

1 Department of Computer Science — Université Libre de Bruxelles — Bruxelles — Belgium<br />

2 Department of Mathematics — Simon Fraser University — Burnaby — Canada<br />

3 Department of Mathematics — Pontifícia Universidade Católica — Rio de Janeiro — Brazil<br />

http://www.lix.polytechnique.fr/˜{amturing,fusy}. http://www.matmidia.mat.puc-rio.br/tomlew.<br />

Abstract. <strong>Schnyder</strong> <strong>woods</strong> are a well known combinatorial structure <strong>for</strong> planar graphs, which yields a decomposition<br />

into 3 vertex-spanning trees. Our goal is to extend definitions and algorithms <strong>for</strong> <strong>Schnyder</strong> <strong>woods</strong> designed<br />

<strong>for</strong> planar graphs (corresponding to combinatorial <strong>surfaces</strong> <strong>with</strong> the topology of the sphere, i.e., of <strong>genus</strong> 0) to<br />

the more general case of graphs embedded on <strong>surfaces</strong> of arbitrary <strong>genus</strong>. First, we define a new traversal order<br />

of the vertices of a <strong>triangulated</strong> surface of <strong>genus</strong> g together <strong>with</strong> an orientation and coloration of the edges that<br />

extends the one proposed by <strong>Schnyder</strong> <strong>for</strong> the planar case. As a by-product we show how some recent schemes <strong>for</strong><br />

compression and compact encoding of graphs can be extended to <strong>higher</strong> <strong>genus</strong>. All the algorithms presented here<br />

have linear time complexity.<br />

Keywords: <strong>Schnyder</strong> <strong>woods</strong>. <strong>Schnyder</strong> trees. Graph realizer. Handlebody theory. High <strong>genus</strong> surface.<br />

Topological graph theory.<br />

(a)<br />

v n−1<br />

(b)<br />

v n−1<br />

(c)<br />

v 0 v 1<br />

v 0 v 1<br />

Figure 1: (a) A rooted planar triangulation, (b) endowed <strong>with</strong> a <strong>Schnyder</strong> wood. (c) The local condition of <strong>Schnyder</strong> <strong>woods</strong>.<br />

1 Introduction<br />

<strong>Schnyder</strong> <strong>woods</strong> are a nice and deep combinatorial structure<br />

to finely capture the notion of planarity of a graph. They<br />

are named after W. <strong>Schnyder</strong>, who introduced these structures<br />

under the name of realizers and derived as main applications<br />

a new planarity criterion in terms of poset dimensions<br />

[32], as well as a very elegant and simple straightline<br />

drawing algorithm [33]. There are several equivalent<br />

<strong>for</strong>mulations of <strong>Schnyder</strong> <strong>woods</strong>, either in terms of angle<br />

labeling (<strong>Schnyder</strong> labeling) or edge coloring and orientation<br />

or in terms of orientations <strong>with</strong> prescribed outdegrees.<br />

The most classical <strong>for</strong>mulation is <strong>for</strong> the family of maximal<br />

plane graphs, i.e., plane triangulations, yielding the following<br />

striking property: the internal edges of a triangulation<br />

can be partitioned into three trees that span all inner<br />

vertices and are rooted respectively at each of the three<br />

Preprint MAT. 18/08, communicated on September 1 st , 2008 to the Department<br />

of Mathematics, Pontifícia Universidade Católica — Rio de Janeiro,<br />

Brazil.<br />

vertices incident to the outer face. <strong>Schnyder</strong> <strong>woods</strong>, and<br />

more generally α-orientations, received a great deal of attention<br />

[33, 15, 20, 18]. From the combinatorial point of<br />

view, the set of <strong>Schnyder</strong> <strong>woods</strong> of a fixed triangulation<br />

has an interesting lattice structure [7, 3, 16, 13, 28], and<br />

the nice characterization in terms of spanning trees motivated<br />

a large number of applications in several domains<br />

such as graph drawing [33, 20], graph coding and sampling<br />

[12, 19, 4, 29, 17, 6, 10, 2]. Previous work focused<br />

mainly on the application and extension of the combinatorial<br />

properties of <strong>Schnyder</strong> <strong>woods</strong> to 3-connected plane<br />

graphs [15, 20]. In this article, we deal <strong>with</strong> combinatorial<br />

<strong>surfaces</strong> possibly having handles, i.e., oriented <strong>surfaces</strong> of<br />

arbitrary <strong>genus</strong> g ≥ 0. Our main contribution is to show<br />

that it is possible to extend the local properties of <strong>Schnyder</strong><br />

labeling in a coherent manner to <strong>triangulated</strong> <strong>surfaces</strong>.<br />

We investigate an important class of graphs, namely <strong>genus</strong> g<br />

triangulations, corresponding to the combinatorial structure<br />

underlying manifold triangle meshes of <strong>genus</strong> g.


Luca Castelli Aleardi, Eric Fusy and Thomas Lewiner 2<br />

(a) Related Work<br />

Vertex spanning tree decompositions<br />

In the area of tree decompositions of graphs there exist<br />

some works dealing <strong>with</strong> the <strong>higher</strong> <strong>genus</strong> case. We mention<br />

one recent attempt to generalize <strong>Schnyder</strong> <strong>woods</strong> to the<br />

case of toroidal graphs [5] (<strong>genus</strong> 1 <strong>surfaces</strong>), based on a<br />

special planarizing procedure. In the <strong>genus</strong> 1 case it is actually<br />

possible to choose two adjacent non-contractible cycles,<br />

defining a so-called tambourine, whose removal makes the<br />

graph planar; the graph obtained can thus be endowed <strong>with</strong><br />

a <strong>Schnyder</strong> wood. In the triangular case this approach yields<br />

a process <strong>for</strong> computing a partition of the edges into three<br />

edge-disjoint spanning trees plus at most 3 edges. Un<strong>for</strong>tunately,<br />

as pointed out by the authors, the local properties of<br />

<strong>Schnyder</strong> <strong>woods</strong> are possibly not satisfied <strong>for</strong> a large number<br />

of vertices, because the size of the tambourine might be arbitrary<br />

large. Moreover, it is not clear how to generalize the<br />

method to <strong>genus</strong> g ≥ 2.<br />

Planarizing surface graphs<br />

A natural solution to deal <strong>with</strong> <strong>Schnyder</strong> <strong>woods</strong> (designed<br />

<strong>for</strong> planar graphs) in <strong>higher</strong> <strong>genus</strong> would consist in per<strong>for</strong>ming<br />

a planarization of the surface. Actually, given a surface<br />

S of <strong>genus</strong> g and size n, one can compute a cut-graph or<br />

a collection of 2g non-trivial cycles, whose removal makes<br />

S a topological disk (possibly <strong>with</strong> boundaries). There is<br />

a number of recent works [8, 37, 14, 22, 23, 36] dealing<br />

<strong>with</strong> interesting algorithmic challenges concerning the efficient<br />

computing of cut-graphs, optimal (canonical) polygonal<br />

schemas and shortest non-trivial cycles. For example<br />

some works make it possible to compute polygonal schemas<br />

in optimal O(gn) time <strong>for</strong> a <strong>triangulated</strong> orientable manifold<br />

[23, 36]. Nevertheless we point out that a strategy based<br />

on such planarizing approach would not be best suited <strong>for</strong><br />

our purposes. From the combinatorial point of view this<br />

would imply to deal <strong>with</strong> boundaries of arbitrary size (arising<br />

from the planarizing procedure), as non-trivial cycles can<br />

be of size Ω( √ n), and cut-graphs have size O(gn). Moreover,<br />

from the algorithmic complexity point of view, the<br />

most efficient procedures <strong>for</strong> computing small non-trivial cycles<br />

[8, 22] require more than linear time, the best known<br />

bound being currently of O(n log n) time.<br />

<strong>Schnyder</strong> trees and graph encoding<br />

One of our main motivations <strong>for</strong> generalizing <strong>Schnyder</strong><br />

<strong>woods</strong> to <strong>higher</strong> <strong>genus</strong> is the great number of existing<br />

works in the domain of graph encoding and mesh compression<br />

that take advantage of spanning tree decompositions<br />

[21, 30, 34], and in particular of the ones underlying<br />

<strong>Schnyder</strong> <strong>woods</strong> (and related extensions) <strong>for</strong> planar<br />

graphs [2, 11, 12, 17, 19, 29]. The combinatorial properties<br />

of <strong>Schnyder</strong> <strong>woods</strong> and the related characterizations (canonical<br />

orderings [20]) <strong>for</strong> planar graphs yield efficient procedures<br />

<strong>for</strong> encoding tree structures based on multiple parenthesis<br />

words. In this context a number of works have been<br />

proposed <strong>for</strong> the simple compression [19] or the succinct encoding<br />

[12, 11] of several classes of planar graphs. More recently,<br />

this approach based on spanning tree decompositions<br />

has been further extended to design a new succinct encoding<br />

of labeled planar graphs [2]. Once again, the main ingredient<br />

is the definition of three traversal orders on the vertices<br />

of a triangulation, directly based on the properties of <strong>Schnyder</strong><br />

<strong>woods</strong>. Finally we point out that the existence of minimal<br />

orientations (orientations <strong>with</strong>out counter-clockwise directed<br />

cycles) recently made it possible to design the first<br />

optimal (linear time) encodings <strong>for</strong> some popular classes of<br />

planar graphs. For the case of triangulations and 3-connected<br />

plane graphs [17, 29] there exist some bijective correspondences<br />

between such graphs and some special classes of<br />

plane trees, which give nice combinatorial interpretations of<br />

enumerative <strong>for</strong>mulas originally found by Tutte [35]. Very<br />

few works have been proposed <strong>for</strong> dealing <strong>with</strong> <strong>higher</strong> <strong>genus</strong><br />

embedded graphs (corresponding to manifold meshes): this<br />

is due to the strong combinatorial properties involved in the<br />

planar case. Nevertheless, the topological approach used by<br />

Edgebreaker (using at most 3.67 bits per vertex in the planar<br />

case) has been successfully adapted to deal <strong>with</strong> <strong>triangulated</strong><br />

<strong>surfaces</strong> having arbitrary topology: orientable manifold <strong>with</strong><br />

handles [26] and also multiple boundaries [25]. Using a different<br />

approach, based on a partitioning scheme and a multilevel<br />

hierarchical representation [9], it is also possible to obtain<br />

an encoding of a triangulation of fixed <strong>genus</strong> g, having<br />

f faces and n vertices, requiring 2.175f +O(g log f)+o(f)<br />

bits (or 4.35n + o(gn) bits) which is asymptotically optimal<br />

<strong>for</strong> <strong>surfaces</strong> <strong>with</strong> a boundary: nevertheless, the amount of additional<br />

bits hidden in the sub-linear o(n) term can be quite<br />

large, of order Θ( n<br />

log n<br />

log log n).<br />

(b) Contributions<br />

Our first result consists in defining new traversal orders<br />

of the vertices of a triangulation of <strong>genus</strong> g, as an extension<br />

of the canonical orderings defined <strong>for</strong> planar graphs.<br />

We are also able to provide a generalization of the <strong>Schnyder</strong><br />

labeling to the case of <strong>higher</strong> <strong>genus</strong> <strong>surfaces</strong>. The major<br />

novelty is to show that the linear time algorithm designed <strong>for</strong><br />

the planar case can be extended in a nontrivial way in order<br />

to design a traversal of a <strong>genus</strong> g surface. This induces<br />

a special edge coloring and orientation that is a natural generalization<br />

of the corresponding planar structure. In particular,<br />

the spanning property characterizing <strong>Schnyder</strong> wood is<br />

again verified almost everywhere in the <strong>genus</strong> g case. Our<br />

approach involves the implicit computation of cut-graphs, as<br />

one would expect. Nevertheless, our strategy is really different<br />

from the one based on planarizing procedures: even if our<br />

cut-graphs and non-trivial cycles can have arbitrary size, we<br />

show that it is always possible to propagate the spanning condition<br />

of <strong>Schnyder</strong> <strong>woods</strong> even along this cuts in a coherent<br />

and natural manner. This property, and in particular the fact<br />

that there are only few exceptions to the spanning condition,<br />

allow us to characterize our graph decomposition in terms of<br />

Preprint MAT. 18/08, communicated on September 1 st , 2008 to the Department of Mathematics, Pontifícia Universidade Católica — Rio de Janeiro, Brazil.


3 <strong>Schnyder</strong> <strong>woods</strong> <strong>for</strong> <strong>higher</strong> <strong>genus</strong> <strong>triangulated</strong> <strong>surfaces</strong><br />

one-face maps of <strong>genus</strong> g (a natural generalization of plane<br />

trees). As application, we propose an encoding scheme allowing<br />

to represent the combinatorial in<strong>for</strong>mation of a planar<br />

triangulation of size n <strong>with</strong> at most 4n + O(g log n) bits.<br />

This is a natural extension of similar results obtained in the<br />

planar case [19, 1]. Compared to previous existing works on<br />

graph encoding in <strong>higher</strong> <strong>genus</strong>, our result matches the same<br />

in<strong>for</strong>mation theory bounds of the Edgebreaker scheme [30],<br />

which uses at most 3.67n bits in the planar case, but requires<br />

up to 4n + O(g log n) bits <strong>for</strong> meshes <strong>with</strong> not spherical<br />

topology [26, 25].<br />

2 Preliminaries<br />

– root face condition: the edges incident to the vertices<br />

v 0 , v 1 , v n−1 are all ingoing and are respectively of<br />

color 0, 1, and 2.<br />

– local condition: For each vertex v not incident to the<br />

root face, the edges incident to v in ccw order are: one<br />

outgoing edge colored 0, zero or more incoming edges<br />

colored 2, one outgoing edge colored 1, zero or more<br />

incoming edges colored 0, one outgoing edge colored<br />

2, and zero or more incoming edges colored 1, which<br />

we write concisely as<br />

(Seq(In1), Out0, Seq(In2), Out1, Seq(In0), Out2).<br />

(a) Graphs on <strong>surfaces</strong>.<br />

In this work we consider discrete <strong>surfaces</strong> such as triangular<br />

meshes, and we consider only the topological in<strong>for</strong>mation<br />

specific to such a surface, i.e., the incidences vertices/edges/faces.<br />

All discrete <strong>surfaces</strong> we consider can be<br />

precisely <strong>for</strong>malized <strong>with</strong> the concept of map. A map is a<br />

graph embedded on a surface S such that the areas delimited<br />

by the graph, called the faces of the map, are topological<br />

disks. In the following the maps considered have neither<br />

loop nor multiple edges, which means that the embedded<br />

graphs are simple. Of particular interest <strong>for</strong> us are maps<br />

of <strong>genus</strong> g <strong>with</strong> all faces of degree 3; we call such a map<br />

a <strong>triangulated</strong> surface of <strong>genus</strong> g. These maps represent the<br />

combinatorial incidences of triangular meshes of a surface of<br />

<strong>genus</strong> g. Given a surface S, we refer to its primal graph (or 1-<br />

skeleton) as the underlying graph consisting of its edges and<br />

vertices. The dual graph of S is defined as the graph having<br />

the faces as nodes and whose edges correspond to pairs of<br />

adjacent faces in S. Given a map M on a surface S, acut<br />

graph of M is a subgraph of M whose induced embedding<br />

on S defines a one-face map. If S is cut along such a submap<br />

G c , the surface obtained is equivalent to a topological disk;<br />

the boundary of the disk contains each edge of G c twice, and<br />

the original surface can be obtained by identifying and gluing<br />

together these pairs of edges, which defines a so-called<br />

polygonal scheme of the surface S (<strong>for</strong> more details on the<br />

topological properties of graphs on <strong>surfaces</strong> see [27]).<br />

(b) <strong>Schnyder</strong> <strong>woods</strong> <strong>for</strong> Plane Triangulations<br />

Let us first recall the definition of <strong>Schnyder</strong> <strong>woods</strong> <strong>for</strong><br />

plane triangulations, which we will later generalize to <strong>higher</strong><br />

<strong>genus</strong>.<br />

While the definition is given in terms of local conditions,<br />

the main structural property is more global, namely a partition<br />

of the edges into 3 (essentially) spanning trees (see<br />

Figure 1).<br />

Definition 1 ([33]) Let T be a plane triangulation, and denote<br />

by v 0 ,v 1 ,v n−1 the vertices of the outer face in cw order;<br />

we denote by E the set of edges of T except those three<br />

incident to the outer face. A <strong>Schnyder</strong> wood of T is an orientation<br />

and labeling, <strong>with</strong> label in {0, 1, 2} of the edges in<br />

E so as to satisfy the following conditions:<br />

A fundamental property concerning <strong>Schnyder</strong> <strong>woods</strong> [33]<br />

is expressed by the following:<br />

Fact 1 Each plane triangulation T admits a <strong>Schnyder</strong> wood.<br />

Given a <strong>Schnyder</strong> wood on T , the three oriented graphs T 0 ,<br />

T 1 , T 2 induced by the edges of color 0, 1, 2 are trees that<br />

span all inner vertices and are naturally rooted at v 0 , v 1 ,<br />

and v n−1 , respectively.<br />

3 Higher <strong>genus</strong> triangulations<br />

(a) Generalized <strong>Schnyder</strong> Woods<br />

As done in previous works considering the extension<br />

of <strong>Schnyder</strong> <strong>woods</strong> to other classes of (not <strong>triangulated</strong>)<br />

planar graphs [15, 29], one main contribution is to propose<br />

a new generalized version of <strong>Schnyder</strong> <strong>woods</strong> to <strong>genus</strong> g<br />

triangulations (see Figure 2 <strong>for</strong> an example).<br />

Definition 2 Consider a <strong>triangulated</strong> surface S of <strong>genus</strong> g,<br />

having n vertices and a root face (v 0 ,v 1 ,v n−1 ); let E be the<br />

set of edges of S except those three incident to the root face.<br />

A <strong>genus</strong>-g <strong>Schnyder</strong> wood on the surface S is a partition of E<br />

into a set of normal edges and a set E s = {e 1 ,e 2 , . . . , e 2g }<br />

of 2g special edges considered as fat, i.e., made of two<br />

parallel edges. In addition, each edge, a normal edge or one<br />

of the two edges of a special edge, is simply oriented and has<br />

a label in {0, 1, 2}, so as to satisfy the following conditions:<br />

– root face condition: All edges incident to v 0 , v 1 , and<br />

v n−1 are ingoing <strong>with</strong> color 0, 1, and 2, respectively<br />

(the special edges are allowed to be incident to these<br />

vertices).<br />

– local condition <strong>for</strong> vertices not incident to special<br />

edges: <strong>for</strong> every vertex v ∈ S \ ({v 0 ,v 1 ,v n−1 } not<br />

incident to any special edge, the edges incident to v in<br />

ccw order are, as in the planar case, of the <strong>for</strong>m:<br />

(Seq(In1), Out0, Seq(In2), Out1, Seq(In0), Out2).<br />

– local condition <strong>for</strong> vertices incident to special edges:<br />

A vertex v incident to k ≥ 1 special edges has exactly<br />

one outgoing edge in color 2. Consider the k +1<br />

sectors around v delimited by the k special edges and<br />

Preprint MAT. 18/08, communicated on September 1 st , 2008 to the Department of Mathematics, Pontifícia Universidade Católica — Rio de Janeiro, Brazil.


Luca Castelli Aleardi, Eric Fusy and Thomas Lewiner 4<br />

(a)<br />

v<br />

e 2<br />

w<br />

e 1<br />

(b)<br />

w<br />

u<br />

u<br />

v 0<br />

v 1<br />

E s = {e 1 ,e 2 } e 1 e2<br />

v<br />

w<br />

Figure 2: (a) A face-rooted <strong>triangulated</strong> surface S of <strong>genus</strong> 1 endowed <strong>with</strong> a g-<strong>Schnyder</strong> wood. (b) The local condition <strong>for</strong> vertices incident<br />

to special edges.<br />

the outgoing edge in color 2. Then in each sector, the<br />

edges occur as follows in ccw order:<br />

Seq(In1), Out0, Seq(In2), Out1, Seq(In0).<br />

– Cut-graph condition: The graph T 2 <strong>for</strong>med by the<br />

edges of color 2 is a tree spanning all vertices except<br />

v 0 and v 1 , and rooted at v n−1 <strong>with</strong> all edges of the tree<br />

oriented toward the root. The graph C <strong>for</strong>med by T 2<br />

plus the 2g special edges is a unicellular map (i.e., a 2-<br />

cell embedded graph <strong>with</strong> a unique face); C is called<br />

the cut-graph of the <strong>Schnyder</strong> wood.<br />

The edge-based characterization of a <strong>triangulated</strong> surface<br />

proposed above has some advantages that make it a natural<br />

generalization of the planar definition. As one would expect,<br />

the planar and the <strong>genus</strong> g definitions do coincide when considering<br />

planar triangulations. In the planar case (g =0), the<br />

last condition states that T 2 is a tree, which is actually already<br />

implied by the local conditions (which is not the case<br />

in <strong>higher</strong> <strong>genus</strong>). Second we observe that the local conditions<br />

hold at every vertex except the extremities of the 2g<br />

edges in E s , where very similar conditions are satisfied. In<br />

particular almost all the vertices have out-degree 3, which<br />

makes the g-<strong>Schnyder</strong> <strong>woods</strong> a good characterization of the<br />

local planarity of a bounded <strong>genus</strong> surface. Finally, we point<br />

out that the local condition above leads to graph decompositions<br />

expressed in terms of one-face maps having <strong>genus</strong> g,<br />

which are the natural generalization of plane spanning trees<br />

(see Proposition 13 and the remark after).<br />

(b) Handle operators<br />

Following the approach suggested in [26], based on Handlebody<br />

theory <strong>for</strong> <strong>surfaces</strong>, we design a new traversal strategy<br />

<strong>for</strong> <strong>higher</strong> <strong>genus</strong> <strong>surfaces</strong>: as in the planar case, our strategy<br />

consists in conquering the whole graph incrementally,<br />

face by face, using a vertex-based operator (conquer) and<br />

two new operators (split and merge) designed to represent<br />

the handle attachments. We start by setting some notations<br />

and definitions. We consider a <strong>triangulated</strong> surface<br />

S having <strong>genus</strong> g and n vertices. We denote by S in (S out )<br />

the embedded growing subgraph of S induced by the faces<br />

already conquered (not yet conquered, respectively). S out<br />

is a face-connected map of <strong>genus</strong> g having b ≥ 1 boundaries,<br />

each boundary being a simple cycle C i , i ∈ [1..b].<br />

We define ∂S in := ∪ b i=1 C i as the overall border between<br />

S in and S out . By design of our algorithm, the root-face<br />

{v 0 ,v 1 ,v n−1 } is always in S in and the edge (v 0 ,v 1 ) is always<br />

on ∂S in ; this edge is called the base-edge of the boundary.<br />

Handle operator of first type<br />

Definition 3 A chordal edge is an edge of S out \∂S in whose<br />

two extremities are on ∂S in . A boundary vertex w ∈ C i is<br />

free if w is not incident to a chordal edge e.<br />

We can now introduce the first operator, called conquer,<br />

which adds a free vertex w <strong>with</strong> all its incident edges and<br />

faces to S in . More precisely, the conquest or removal of a<br />

vertex w consists in attaching a set of triangles to S in as<br />

follows (see the first picture in Figure 3):<br />

• conquer(w), <strong>with</strong> w a free vertex: update the conquered<br />

area, by transferring from S out to S in all faces incident<br />

to w that were not yet in S in . The vertices and edges of<br />

S out (S in ) are naturally updated as those vertices and edges<br />

incident to the faces of S out (S in , respectively).<br />

This operation corresponds to a handle operator of type 1<br />

(see [26]), not modifying the topology of S in .<br />

Handle operators of second type<br />

A chordal edge e <strong>for</strong> S out is said to be non-separating<br />

if S out is not disconnected when cutting along e. A chordal<br />

edge whose two extremities are in the same cycle C i is called<br />

a splitting chordal edge. For such an edge, we define C ′ and<br />

C ′′ as the two cycles <strong>for</strong>med by C i + e. Then e is said to<br />

Preprint MAT. 18/08, communicated on September 1 st , 2008 to the Department of Mathematics, Pontifícia Universidade Católica — Rio de Janeiro, Brazil.


5 <strong>Schnyder</strong> <strong>woods</strong> <strong>for</strong> <strong>higher</strong> <strong>genus</strong> <strong>triangulated</strong> <strong>surfaces</strong><br />

w l<br />

w<br />

w r<br />

C<br />

S out S in v 0<br />

v 1<br />

v 2<br />

S in<br />

w<br />

w<br />

u<br />

S out<br />

v 2<br />

S out<br />

S in u v 0<br />

v 1<br />

S out v 0 v 1<br />

v k<br />

v k<br />

v k<br />

conquer(w) chordal edge (u, w)<br />

split(u, w)<br />

S in<br />

v 2<br />

S in<br />

S in<br />

S in<br />

w<br />

S out<br />

v 0<br />

v 1<br />

v 2<br />

merge(u, w)<br />

S out<br />

u<br />

S in<br />

Figure 3: Illustrated on a toroidal graph, from left to right, a conquer operation, a contractible chordal edge, a split edge, and a merge<br />

edge.<br />

be contractible if either C ′ or C ′′ is contractible. Note that a<br />

non-separating splitting chordal edge can not be contractible.<br />

Definition 4 (split edge) A split edge <strong>for</strong> the area S out is a<br />

non-separating splitting chordal edge.<br />

It is easy to see that the addition of a split edge to S in<br />

(together <strong>with</strong> a thin band B enclosing the edge) does not<br />

change the <strong>genus</strong> of S in and increases by one the number of<br />

components (cycles) on the boundary of S in , i.e., the Euler<br />

characteristic of S in decreases by 1. The addition of B to<br />

S in (and removal of B from S out ) is called a split.<br />

Definition 5 (merge edge) A merge edge <strong>for</strong> the area S out<br />

is a non-separating chordal edge e having its two extremities<br />

on two distinct cycles C i and C j , i ≠ j.<br />

This time the addition of a merge edge to S in (together<br />

<strong>with</strong> a thin band B enclosing the edge) adds a handle to<br />

S in , hence increases the <strong>genus</strong> of S in by 1. In addition,<br />

two components of the boundary of S in are merged, hence<br />

the number of components (cycles) of the boundary of S in<br />

decreases by 1. There<strong>for</strong>e the Euler characteristic of S in is<br />

now χ ′ =2− 2(g + 1) − (b − 1) = 2 − 2g − 1, i.e., has<br />

decreased by 1. The addition of B to S in (and removal of B<br />

from S out ) is called a merge.<br />

The edges involved in the merge/split operations are obviously<br />

the merge edges and split edges. These will be exactly<br />

the special edges of the <strong>genus</strong> g <strong>Schnyder</strong> wood to be<br />

computed by our traversal algorithm. The vertices incident<br />

to merge or split edges are called multiple vertices, as each<br />

merge/split operation results in considering such a vertex as<br />

duplicated.<br />

(c) Computing a <strong>Schnyder</strong> wood of a planar triangulation<br />

In this section we briefly review a well-known linear time<br />

algorithm designed <strong>for</strong> computing a <strong>Schnyder</strong> wood of a planar<br />

triangulation, following the presentation by Brehm [7].<br />

Once defined the conquer operation, we can associate to it<br />

a simple rule <strong>for</strong> coloring and orienting the edges incident to<br />

a vertex conquered:<br />

• colorient(v): orient outward of v the two edges connecting<br />

v to its two neighbors on ∂S in ; assign color 0 (1) to<br />

the edge connected to the right (left, respectively) neighbor,<br />

looking toward S out . Orient toward v and color 2 all edges<br />

incident to v in S out \∂S in .<br />

We can now <strong>for</strong>mulate the algorithm <strong>for</strong> computing a<br />

<strong>Schnyder</strong> wood as a sequence of n − 2 conquer and<br />

colorient operations, following a simple and elegant presentation<br />

adopted by Brehm [7]. Given a plane triangulation<br />

T <strong>with</strong> outer face {v 0 ,v 1 ,v n−1 } we start <strong>with</strong> S in —the set<br />

of visited vertices— initialized to {v 0 ,v 1 ,v n−1 }, and <strong>with</strong><br />

∂S in —the border of S in — initialized to be the contour of<br />

the outer face.<br />

COMPUTESCHNYDERPLANAR(T ) (T a plane triangulation)<br />

while C ≠ {v 0 ,v 1 }<br />

Choose a free vertex v on C;<br />

conquer(v); colorient(v);<br />

end while<br />

Correctness<br />

The correctness and termination of the traversal algorithm<br />

above is based on the fundamental property that an edgerooted<br />

<strong>triangulated</strong> topological disk always has on its boundary<br />

a vertex not incident to any internal chord and not incident<br />

to the root edge, e.g., a free vertex different from v 0 and<br />

v 1 (see [7] <strong>for</strong> a detailed proof).<br />

One major advantage of computing a <strong>Schnyder</strong> wood in<br />

an incremental way is that we are able to put in evidence<br />

some invariants, which remain satisfied at each step of the<br />

algorithm:<br />

– the edges that are already colored and oriented are<br />

those in S in \∂S in ;<br />

– <strong>for</strong> each vertex v ∈ S in \∂S in , all edges incident<br />

to v are colored and directed in such a way that the<br />

<strong>Schnyder</strong> rule is always satisfied;<br />

– every boundary node v ∈ C \{v 0 ,v 1 } has exactly<br />

one outgoing edge lying in S in \∂S in . This edge e has<br />

color 2, and the ingoing edges in S in \∂S in incident to<br />

Preprint MAT. 18/08, communicated on September 1 st , 2008 to the Department of Mathematics, Pontifícia Universidade Católica — Rio de Janeiro, Brazil.


Luca Castelli Aleardi, Eric Fusy and Thomas Lewiner 6<br />

v n−1<br />

v 0 v 1<br />

Figure 4: Some steps of the algorithm that computes a <strong>Schnyder</strong> wood of a planar triangulation T (rooted at (v 0 ,v 1 )). The traversal is<br />

per<strong>for</strong>med as a sequence of conquer operations on free vertices: edges in S out (dark region) are oriented and directed according to the<br />

<strong>Schnyder</strong> rule.<br />

v between e and the right (left) neighbour of v, looking<br />

toward S out , have color 1 (0, resp.).<br />

Using these invariants, it is straight<strong>for</strong>ward to prove the<br />

following lemma (see [7] <strong>for</strong> a detailed presentation):<br />

Lemma 6 Given a planar triangulation T <strong>with</strong> outer face<br />

(v 0 ,v 1 ,v n−1 ) the algorithm COMPUTESCHNYDERPLANAR<br />

computes in linear time a <strong>Schnyder</strong> wood of T .<br />

(d) A new traversal <strong>for</strong> <strong>genus</strong> g <strong>surfaces</strong><br />

This section presents our main contribution, an algorithm<br />

<strong>for</strong> traversing a <strong>triangulated</strong> surface S of arbitrary <strong>genus</strong><br />

g ≥ 0, which extends the algorithm of Brehm in a natural<br />

way. As in the planar case, the traversal is a greedy sequence<br />

of conquer operations on free vertices, <strong>with</strong> here<br />

the important difference that these operations are interleaved<br />

<strong>with</strong> 2g merge/split operations so as to make the <strong>genus</strong><br />

of the conquered area increase from 0 to g. We start <strong>with</strong><br />

C := {C 0 } := {(v 0 ,v 1 ,v n−1 )}. At the beginning S in is<br />

a topological disk delimited by the simple cycle C 0 . As in<br />

the planar case, we make use of the operation conquer(v)<br />

that consists in transferring the (remaining) faces incident to<br />

v from S out to S in . Associated <strong>with</strong> such a conquest is the<br />

colorient rule <strong>for</strong> coloring and orienting the edges that<br />

are conquered, as defined in Section 3(c). We also make use<br />

of the handle operations split and merge, as defined in<br />

Section 3(b).<br />

COMPUTESCHNYDERANYGENUS(S) (S a <strong>triangulated</strong><br />

surface of <strong>genus</strong> g)<br />

while {C} ≠ {v 0 ,v 1 }<br />

If there exists a free vertex v on<br />

some C i ∈C<br />

conquer(v); colorient(v);<br />

otherwise, if there exists a split<br />

edge e =(u, w) ∈ S out \∂S in ;<br />

split(u,w); thereby adding a new<br />

cycle C ′ to C;<br />

otherwise, find a merge edge e =(u, w) ∈<br />

S out ;<br />

merge(u,w); thereby removing a cycle<br />

from C;<br />

end while<br />

Figure 7 shows the traversal algorithm executed on a<br />

toroidal triangulation.<br />

Notice the subtlety that, <strong>for</strong> nonzero <strong>genus</strong>, the multiple<br />

vertices, i.e., the vertices incident to merge/split edges,<br />

are conquered several times, as illustrated in Figure 6. Precisely,<br />

<strong>for</strong> a vertex v incident to k ≥ 0 merge/split edges,<br />

conquer(v) occurs k +1times.<br />

Our main result is expressed by the following<br />

Theorem 7 Any <strong>triangulated</strong> surface S of <strong>genus</strong> g admits<br />

a <strong>genus</strong> g <strong>Schnyder</strong> wood, which can be computed in linear<br />

time.<br />

The validity of this property relies on the Lemmas stated<br />

in the next section.<br />

(e) Termination and complexity of the algorithm<br />

Lemma 8 For any <strong>triangulated</strong> surface S of <strong>genus</strong> g,<br />

COMPUTESCHNYDERANYGENUS(S) terminates.<br />

Proof :<br />

It suffices to show that a merge or split operation is always<br />

possible whenever there remain no free vertices on<br />

∂S in . The main idea is to use an induction argument (on the<br />

number of faces of S out , which is decreasing along the conquest)<br />

and to proceed by contradiction to show the existence<br />

of non-contractible non-separating cycles corresponding to<br />

split/merge edges. More precisely, assume by contradiction<br />

that we have an example of situation where we are stuck, i.e.,<br />

no free vertex on the boundary, and only contractible chordal<br />

edges or non-contractible separating chordal edges. Assume<br />

also that this is the smallest example of such a situation in<br />

terms of the number of faces in the non discovered area (notice<br />

that this number is at least 2 otherwise we would be at<br />

the last step of the algorithm where there is no problem; one<br />

just conquer the vertex not incident to the root edge in the<br />

last remaining not conquered face). Let us first observe that<br />

there cannot be a contractible chordal edge, since it would<br />

yield a free vertex on ∂S in , precisely, a free vertex in the<br />

sub-path P of ∂S in such that P + e is a contractible cycle<br />

(this is due to the well known property that a <strong>triangulated</strong> dissection<br />

of a polygon, <strong>with</strong> a base edge on the polygon, has at<br />

least one vertex not incident to the base edge nor incident to<br />

any internal chord, see [7]). Hence, all edges in S out \∂S in<br />

have to be non-contractible separating edges. Let e be such<br />

Preprint MAT. 18/08, communicated on September 1 st , 2008 to the Department of Mathematics, Pontifícia Universidade Católica — Rio de Janeiro, Brazil.


7 <strong>Schnyder</strong> <strong>woods</strong> <strong>for</strong> <strong>higher</strong> <strong>genus</strong> <strong>triangulated</strong> <strong>surfaces</strong><br />

(planar case)<br />

w<br />

C<br />

C<br />

S out<br />

invariants<br />

S out<br />

conquer(w)+<br />

colororient(w)<br />

Figure 5: These pictures show the result of a colorient operation in the planar case.<br />

an edge. Cutting S out along e consists in splitting into two<br />

smaller <strong>surfaces</strong> S 1 and S 2 , each of which is partitioned into<br />

a conquered area and a not conquered area. Assume w.l.o.g.<br />

that S 1 is the area whose boundary (between conquered and<br />

not conquered) does not contain the base-edge; and now define<br />

e as the base-edge of that boundary. Any free vertex v<br />

<strong>for</strong> S 1 is also a free vertex <strong>for</strong> S (indeed by definition v is<br />

not incident to any chord <strong>for</strong> S 1 nor is it an extremity of e;<br />

hence v is not incident to any chord of S). There<strong>for</strong>e, as S<br />

has no free vertex, S 1 has neither a free vertex. Now observe<br />

that a non-contractible non-separating cycle <strong>for</strong> S 1 is also<br />

non-contractible and non-separating <strong>for</strong> S. Hence there can<br />

not be any candidate <strong>for</strong> a merge or split in S 1 (since there is<br />

no such candidate in S). We have thus reached a contradiction,<br />

as S 1 has fewer faces than S in its not conquered area<br />

(because of the minimality of S).<br />

<br />

Lemma 9 For any <strong>triangulated</strong> surface S of<br />

<strong>genus</strong> g having n vertices, the procedure<br />

COMPUTESCHNYDERANYGENUS(S) can be implemented<br />

to run in O(n) time.<br />

Proof : Implementing the algorithm to run in linear time requires<br />

some bookkeeping. For this purpose, we maintain the<br />

list of chordal edges <strong>for</strong> ∂S in , and, which is more difficult,<br />

we maintain a classification of these chordal edges as contractible,<br />

non-contractible separating, split edges, and merge<br />

edge. Such a classification is done by maintaining a spanning<br />

cut-graph G c <strong>for</strong> the dual of S out , such that G c contains the<br />

dual of all chordal edges; and by maintaining a depth-firstsearch<br />

spanning tree of G c so as to test which edges of G c<br />

disconnect G c . All this bookkeeping can be done in amortized<br />

linear cost, as detailed below. Firstly, consider a special<br />

vertex spanning tree T p of S out , including the boundary<br />

∂S in in the following way (blue edges in Fig. 8). For<br />

each boundary component C i of ∂S in choose a boundary<br />

edge (x i 0,x i 1) (where <strong>for</strong> the first component we take the<br />

root edge (v 0 ,v 1 )) and add all the edges in ∂S in \ C i to the<br />

set T p (which initially consists of a set of disjoints paths).<br />

Then per<strong>for</strong>m a depth-first traversal S out starting from v 0 ,<br />

that computes a spanning tree of the primal graph of S out :<br />

add its edges to T p . Note that by construction chordal edges<br />

do not appear in T p , as each extremity already lies to the<br />

paths added in the first step. Now consider the dual map G c<br />

(red edges in Fig. 8) of T p , which is a sub-map of the dual<br />

graph of S out , defined in the following manner: its nodes<br />

correspond to the faces of S out , while its arcs are exactly<br />

the dual of that edges not appearing in T p . If we denote by<br />

g ′ the <strong>genus</strong> of S out , then G c is a map of <strong>genus</strong> g ′ , having<br />

only one face. We firstly simplify this structure, by recursively<br />

eliminating all degree one nodes (vertices which are<br />

leaves at some step of this decimating procedure). Note that<br />

this trans<strong>for</strong>mation does not affect the topology of the resulting<br />

map obtained by G c , which has still <strong>genus</strong> g ′ and<br />

one face, thus containing 2g ′ non trivial cycles. Observe that<br />

each chordal edge has a corresponding dual arc in G c . We<br />

now compute a vertex spanning tree of such map, which will<br />

contain ‖G c ‖−2g ′ arcs (as it cannot contain any cycle, by<br />

construction). Note that the cycle contained in map G c must<br />

be non-trivial (non-contractible and non-separating). For example,<br />

the existence of a contractible cycle would imply the<br />

existence of a vertex v which would not appear in T p (which<br />

by construction is a spanning tree of all the vertices of S out ).<br />

On the other hand, the existence of a non-contractible but<br />

Preprint MAT. 18/08, communicated on September 1 st , 2008 to the Department of Mathematics, Pontifícia Universidade Católica — Rio de Janeiro, Brazil.


Luca Castelli Aleardi, Eric Fusy and Thomas Lewiner 8<br />

(toroidal case)<br />

w<br />

S in<br />

w<br />

S in<br />

w<br />

S in<br />

w<br />

S in<br />

S out<br />

u<br />

S out<br />

S out<br />

u<br />

S out<br />

S out<br />

u<br />

S out<br />

S out<br />

u<br />

S out<br />

S in<br />

S in<br />

S in<br />

S in<br />

split(u, w)<br />

conquer(w)+<br />

colorient(w)<br />

conquer(u)+<br />

colorient(u)<br />

conquer(u)+<br />

colorient(u)<br />

Figure 6: These pictures show the result of colorient operations in the <strong>higher</strong> <strong>genus</strong> case. Any chordal split (or merge) edge (u, w) can<br />

be oriented in one or two directions (having possibly two colors), depending on the traversal order on its extremities.<br />

separating cycle would <strong>for</strong>ce the region S in to be disconnected.<br />

So, the 2g ′ missing arcs belonging to G c allows to get<br />

classification of the arcs of G c : in particular we can distinguish<br />

separating arcs (which disconnect G c ), from those arcs<br />

belonging to non-trivial cycles. This translates into a classification<br />

of the chordal edges in S out : the special edges we look<br />

<strong>for</strong> are exactly the chordal edges dual of the arcs belonging to<br />

non-trivial cycles. The steps above provide thus a linear time<br />

procedure <strong>for</strong> detecting split and merge edges. Such a procedure<br />

must be run at most O(g) times, since we need to locate<br />

a special edge only after all free boundary vertices have been<br />

treated, which guarantees the overall linear time complexity<br />

of our algorithm <strong>for</strong> computing a g-<strong>Schnyder</strong> wood. <br />

(f) The algorithm computes a <strong>genus</strong> g <strong>Schnyder</strong> wood<br />

Lemma 10 Let S be a <strong>triangulated</strong> surface of <strong>genus</strong> g.<br />

Then the edge orientation and coloration computed by the<br />

procedure COMPUTESCHNYDERANYGENUS(S) satisfy the<br />

local conditions of a g-<strong>Schnyder</strong> wood <strong>for</strong> S.<br />

Proof : To prove that the combinatorial structure obtained<br />

by the traversal algorithm is a <strong>genus</strong> g <strong>Schnyder</strong> wood, it<br />

suffices to define some invariants that remain satisfied all<br />

along the traversal. We make use of the invariants already<br />

defined <strong>for</strong> the planar case (Section 3.c(i)), as well as new<br />

invariants relative to multiple vertices, which state that the<br />

local condition is satisfied <strong>for</strong> multiple vertices in S in \∂S in ,<br />

and is already partially satisfied <strong>for</strong> those on ∂S in . More<br />

precisely, let w be a multiple vertex incident to a special<br />

edge e 1 =(u, w), and consider a sector of edges incident<br />

to w, defined by the pair of special edges (e 1 ,e 2 ), where<br />

e 2 =(w, z). Then, assuming the outgoing edge of color 2<br />

incident to w belongs to the sector above, we have:<br />

– the incident edges belonging to the sector defined by<br />

e 1 and e 2 are listed around w follows (starting from<br />

e 1 , in cw order). Zero or more ingoing edges of color<br />

1 (possibly including e 1 ), one or more non-oriented<br />

and non-colored edges, zero or more ingoing edges of<br />

color 0, one outgoing edge of color 2, zero or more<br />

ingoing edges of color 1, one ore more non-oriented<br />

and non-colored edges, zero or more ingoing edges of<br />

color 0.<br />

This completely describes the orientation and coloration<br />

of edges around w be<strong>for</strong>e its conquest: recall that a multiple<br />

vertex incident to k special edges is conquered more than<br />

once, and it does disappear from the boundary after exactly<br />

k +1conquer(w) operations. It now remains to show<br />

that the conquest of neighboring vertices does not affect the<br />

invariant above: we will consider several cases, depending<br />

on the type of boundary vertex (multiple or not) on which<br />

we per<strong>for</strong>m the conquest. First, let w r be the right neighbor<br />

of w on ∂S in : per<strong>for</strong>ming conquer(w r ) consists in orienting<br />

the edge (w, w r ) toward w, <strong>with</strong> color 0. The number of the<br />

outgoing edges remains unchanged, and the invariant above<br />

is still valid. The remaining case, concerns the conquest of<br />

the left neighbor of w, say w l (possibly coinciding <strong>with</strong> u).<br />

Per<strong>for</strong>ming conquer(w l ) consists in adding an edge of color<br />

1, oriented toward w. In this case we only increases of 1<br />

the number of consecutive ingoing edges of color 1, which<br />

are first encountered when turning around w starting from<br />

(u, w) in cw order. Again, the invariant above is satisfied. To<br />

conclude our proof, is straight<strong>for</strong>ward to see that per<strong>for</strong>ming<br />

a conquer(w) operation does not affect the <strong>Schnyder</strong> local<br />

rule around w. Just observe that: the leftmost incident edge<br />

will be oriented outgoing <strong>with</strong> color 0 (and is preceded<br />

by zero or more ingoing edges of color 1, because of the<br />

invariant above); the rightmost edge will be outgoing of color<br />

1 (being followed in cw order by a sequence of zero or more<br />

ingoing edges of color 0); and the remaining incident edges<br />

are oriented toward w having color 2. Note that after each<br />

conquer(w) operation the number of outgoing edges of<br />

color i (i =0, 1) increases by 1, according to definition 2.<br />

In a similar way, we deal <strong>with</strong> the conquest of w and of its<br />

Preprint MAT. 18/08, communicated on September 1 st , 2008 to the Department of Mathematics, Pontifícia Universidade Católica — Rio de Janeiro, Brazil.


9 <strong>Schnyder</strong> <strong>woods</strong> <strong>for</strong> <strong>higher</strong> <strong>genus</strong> <strong>triangulated</strong> <strong>surfaces</strong><br />

S<br />

S out S in<br />

e m<br />

w ′ e m<br />

v w<br />

u ′<br />

u<br />

v w<br />

w ′′<br />

e s<br />

u<br />

w<br />

e s<br />

e m<br />

Figure 7: An example of execution of our traversal algorithm <strong>for</strong> a <strong>triangulated</strong> surface of <strong>genus</strong> 1. As in the planar case the traversal starts<br />

from the root face (the one incident to the green root edge). As far as only conquer operations on free vertices are per<strong>for</strong>med, the area already<br />

explored (white triangles) remains planar and homeomorphic to a disk (second picture). When there remain no free vertices to conquer (third<br />

picture), it is possible to find split and merge edges (incident to black circles). After per<strong>for</strong>ming split and merge operations, (here on the edges<br />

(u, w) and (w, v)), new free vertices can be found (here u ′ , w ′ , and w ′′ ) in order to continue the traversal, until the entire graph is visited.<br />

neighboring vertices lying in the opposite side of the sector<br />

(e 1 ,e 2 ), respect to the edge e 2 (recall that e 1 and e 2 could<br />

coincide, when w has multiplicity 2 being incident to only<br />

one special edge).<br />

<br />

Consider a g <strong>Schnyder</strong> wood computed by our algorithm,<br />

and let C be the cut-graph of the <strong>Schnyder</strong> wood. In the<br />

statement of the following lemma, let C be the part of<br />

C already conquered at some step of the algorithm (the<br />

sub-graph contained in S in ). Each connected area of S\C<br />

is called a face of C (though C might not be a cellular<br />

embedding, i.e., some of these faces might not be topological<br />

disks).<br />

Lemma 11 At each step (strictly be<strong>for</strong>e the end) of the algorithm<br />

computing a g <strong>Schnyder</strong> wood, let C be the part of<br />

the cut graph already discovered. Then there is exactly one<br />

cycle of the boundary of S in inside each facial walk of C.<br />

Moreover S in \C is a planar surface.<br />

Proof : The property is true initially: S in is the root face,<br />

which is planar, and C is reduced to v n−1 , which has the<br />

total surface S as its unique face. The property remains also<br />

true at each vertex conquest, since each conquest simply<br />

increases the area of S in <strong>with</strong>in a facial walk W of C, but<br />

does not close the boundary of S in <strong>with</strong>in W unless we are<br />

at the end of the algorithm. If the boundary is closed, the<br />

area of the surface S <strong>with</strong>in W will be a face in C, hence<br />

that face must be the unique face of C, i.e., the algorithm<br />

is at its end. Otherwise the interior of that face would be a<br />

contractible area, so the final cut-graph would have a face<br />

<strong>with</strong> a contractible boundary, which is impossible. For each<br />

split, we cut a cycle C of the boundary of S in into two<br />

parts C 1 and C 2 , but the special edge addition also cuts the<br />

corresponding facial walk W of C into two facial walks<br />

W 1 and W 2 that contain respectively C 1 and C 2 . The <strong>genus</strong><br />

of S in does not change during a split, so S in \ C remains<br />

planar. For each merge, we merge two cycles C 1 and C 2 of<br />

the boundary of S in into a unique cycle by means of a merge<br />

edge that establishes a bridge between the two components.<br />

The corresponding facial walks W 1 and W 2 of C are also<br />

merged into a unique facial walk W by means of the special<br />

edge, and W contains C in its interior, as illustrated in<br />

Figure 10. It is also easily observed on that figure that the<br />

two boundary cycles previously enclosed inside W 1 and W 2<br />

have been merged into a unique boundary cycle inside W .<br />

Hence the surface S in \ C remains planar.<br />

<br />

Proposition 12 The algorithm COMPUTESCHNYDERANYGENUS(S)<br />

computes a g-<strong>Schnyder</strong> wood.<br />

Proof : As previously seen, the algorithm terminates and<br />

the orientations and colorations of edges satisfy the local<br />

properties of a g-<strong>Schnyder</strong> wood. It remains to show the cutgraph<br />

property. First let us show that T 2 is a tree spanning all<br />

vertices except v 0 and v 1 . By the local conditions, all vertices<br />

except those of the root face have one outgoing edge of color<br />

Preprint MAT. 18/08, communicated on September 1 st , 2008 to the Department of Mathematics, Pontifícia Universidade Católica — Rio de Janeiro, Brazil.


Luca Castelli Aleardi, Eric Fusy and Thomas Lewiner 10<br />

S in<br />

S in<br />

S in S in<br />

spanning tree T p dual map G c G c after simplification<br />

S in<br />

Figure 8: Special edges (dual of green edges) can efficiently be found by computing a spanning tree of the map G c .<br />

2, and the only sink <strong>for</strong> ingoing edges of color 2 is v n−1 .<br />

Hence to prove that T 2 is a tree rooted at v n−1 it suffices to<br />

prove that T 2 is connected, precisely that each vertex is the<br />

origin of a path in T 2 going to the root v n−1 . This property<br />

is clearly maintained <strong>for</strong> the vertices of the conquered area<br />

all along the algorithm. Indeed each time a vertex w appears<br />

in S in , it is due to the conquest of a vertex v previously on<br />

the boundary of S in . In addition by definition of a conquest,<br />

there is an edge of color 2 from w to v. Hence the path of<br />

color 2 from v to v n−1 is extended to a path from w to v n−1 .<br />

Let us now prove that the graph C <strong>for</strong>med by T 2 and the<br />

special edges is a unicellular map on the surface. Just be<strong>for</strong>e<br />

the last step of the algorithm (at that time the entire cutgraph<br />

is discovered), the unique face t not in S in is the face<br />

incident to the base edge on the other side of the root face.<br />

Hence ∂S in has a unique component (cycle) and this cycle is<br />

contractible. According to Lemma 11, S in \C is planar and<br />

C has a unique face. The interior of C is the union of a planar<br />

annulus (S in ) and of the triangular face t. Hence the interior<br />

of C is a topological disk, i.e., C is a unicellular map. <br />

4 The maps in color 1 and 2 are also cellular<br />

In this section we show that g-<strong>Schnyder</strong> <strong>woods</strong> provide a<br />

characterization in terms of a special class of <strong>genus</strong> g spanning<br />

maps, which can be viewed as a good generalization of<br />

plane trees.<br />

Proposition 13 Consider a <strong>genus</strong> g <strong>Schnyder</strong> wood computed<br />

by the algorithm COMPUTESCHNYDERANYGENUS.<br />

Then the embedded graph T 0 (T 1 ) <strong>for</strong>med by the edges in<br />

color 0 (1, resp.) is cellular and has at most 1+2g faces.<br />

Proof : When doing all the steps of COMPUTESCHNYDER-<br />

ANYGENUS, in reverse chronological order, one grows the<br />

surface S out until it occupies all the surface S except the root<br />

face. During that process, let T 1 be the (growing) part of T 1<br />

already discovered (i.e., the part of T 1 in S out ). To prove the<br />

result, it suffices show the following invariant when growing<br />

S out : S out \T 1 remains planar, each boundary of S out is enclosed<br />

inside a unique facial walk of T 1 , and each facial walk<br />

of T 1 contains at most one boundary of ∂S in . Let us first describe<br />

the effect of conquest, split, and merge on S out when<br />

doing these operations in reverse chronological order. One<br />

checks that a (reverse) conquest adds a vertex on the boundary<br />

of S out , and does not change the topology (number of<br />

boundary components and <strong>genus</strong>) of S out . In addition it is<br />

well known in the study of topological <strong>surfaces</strong> [31] that a<br />

(reverse) split is also a split <strong>for</strong> S out and that a reverse merge<br />

is also a merge <strong>for</strong> S out . The only difference is that the two<br />

bases of the bridge-band <strong>for</strong> S in are the sides of the bridgeband<br />

<strong>for</strong> S out and the two sides of the bridge-band <strong>for</strong> S in<br />

are the bases of the bridge-band <strong>for</strong> S out . In each case, the<br />

conquests per<strong>for</strong>med at the vertices on each side of the thin<br />

bridge-band create a bridge of edges of color 1 traversing the<br />

band transversally. By an argument similar to the one used in<br />

Lemma 11 (see also Figure 10) this ensures that S out \T 1 remains<br />

planar and, more generally, that the invariants stated<br />

above still hold.<br />

Finally, the bound 1 + 2g on the number of faces is due to<br />

the fact that each special edge contributes at most by one to<br />

the number of new faces of T i , <strong>for</strong> i =0, 1 (see Fig. 12). <br />

Remark 1 The properties of T 0 ,T 1 ,T 2 stated in Proposition<br />

13 can be considered as extensions of the fundamental<br />

property of planar <strong>Schnyder</strong> <strong>woods</strong>, which states that T 0 ,<br />

T 1 , and T 2 are plane trees. Figure 11 shows an example in<br />

<strong>genus</strong> 1.<br />

5 Application to encoding<br />

In the planar case, <strong>Schnyder</strong> <strong>woods</strong> yield a simple encoding<br />

procedure <strong>for</strong> triangulations, as described in [19] and<br />

more recently in [1]. Precisely, a <strong>Schnyder</strong> wood <strong>with</strong> n<br />

inner vertices is encoded by two parenthesis words W, W ′<br />

each of size 2n, where W is the classical Dyck encoding<br />

<strong>for</strong> the tree T 2 ; and W ′ is obtained from a clockwise walk<br />

around T 2 starting at v n−1 , writing an opening (closing)<br />

parenthesis each time an outgoing edge in color 1 (ingoing<br />

edge in color 0, resp.) is crossed, and completing the end<br />

of the word <strong>with</strong> closing parenthesis. Hence, <strong>for</strong> a triangulation<br />

<strong>with</strong> n +3vertices, the coding word has length 4n.<br />

This code is both simple and quite compact, as the length<br />

4n is not far from the in<strong>for</strong>mation-theory lower bound of<br />

(<br />

log2<br />

(<br />

4 4 /3 3) · n ) ≈ 3.245 · n, which is attained in the planar<br />

case by a bijective construction due to Poulalhon and<br />

Schaeffer [29].<br />

Such a bijective construction is still to be found <strong>for</strong> <strong>higher</strong><br />

<strong>genus</strong>, but we can here at least extend to <strong>higher</strong> <strong>genus</strong> the<br />

simple encoding procedure based on <strong>Schnyder</strong> <strong>woods</strong>. To<br />

Preprint MAT. 18/08, communicated on September 1 st , 2008 to the Department of Mathematics, Pontifícia Universidade Católica — Rio de Janeiro, Brazil.


11 <strong>Schnyder</strong> <strong>woods</strong> <strong>for</strong> <strong>higher</strong> <strong>genus</strong> <strong>triangulated</strong> <strong>surfaces</strong><br />

S in<br />

S out<br />

w r<br />

w<br />

w<br />

z<br />

S in S in<br />

u<br />

z<br />

u<br />

conquer(w r )+<br />

colorient(w r )<br />

w l<br />

w<br />

z<br />

u<br />

conquer(u)+<br />

colorient(u)<br />

w<br />

z<br />

u<br />

conquer(w l )+<br />

colorient(w l )<br />

w<br />

z<br />

u<br />

conquer(w)+<br />

colorient(w)<br />

w r<br />

conquer(w l )+<br />

Figure 9: The correctness of our construction relies on a new invariant describing the edge orientation around multiple vertices.<br />

encode the <strong>Schnyder</strong> wood we proceed in a similar way<br />

as in the planar case except that we have to deal <strong>with</strong> the<br />

special edges. First, the one-face map C <strong>for</strong>med by T 2 and<br />

the special edges (the cut-graph of the <strong>Schnyder</strong> wood) is<br />

encoded by the Dyck word W <strong>for</strong> T 2 , augmented by O(g)<br />

pointers, each of size O(log(n)) bits, so as to locate the<br />

two extremities of each special edge. We obtain the second<br />

encoding word W ′ from a clockwise walk along the unique<br />

face of C starting at v n−1 , writing an opening (closing)<br />

parenthesis each time an outgoing edge in color 1 (ingoing<br />

edge in color 0, resp.) is crossed, and completing the end of<br />

the word <strong>with</strong> closing parenthesis.<br />

Lemma 14 Let S be a <strong>triangulated</strong> surface endowed <strong>with</strong><br />

a g-<strong>Schnyder</strong> wood. Then the in<strong>for</strong>mation given by edges<br />

of color 0 is redundant, i.e., the <strong>Schnyder</strong> wood can be<br />

recovered even after all edges of color 0 have been deleted.<br />

Proof : When all edges of color 0 are deleted, we obtain a<br />

map M on the surface <strong>with</strong> only edges of color 1 and 2 (and<br />

the special edges). In each face f of this map, there is one<br />

corner that received all ends of the edges of color 0 (be<strong>for</strong>e<br />

they were deleted) that were inside f. This corner can be<br />

recovered since it is the unique corner around the face such<br />

that the right edge of the angle (looking toward the interior<br />

of f) is outgoing of color 1 and the left edge of the angle is<br />

outgoing of color 2.<br />

<br />

Lemma 15 Consider a <strong>genus</strong> g <strong>Schnyder</strong> wood computed<br />

by the algorithm COMPUTESCHNYDERANYGENUS, whose<br />

cut-graph is unfolded into a flat polygon. Let e = (u, v)<br />

be an edge of color 1 (oriented from u to v). Then u is<br />

encountered be<strong>for</strong>e v during a cw walk along the polygon<br />

(i.e., <strong>with</strong> the interior of the polygon on its right) starting at<br />

v n−1 .<br />

Proof : Among the two walks along the polygon that join<br />

u and v, consider the one, called W e , that does not pass by<br />

v n−1 . Proving the lemma is equivalent to proving that the<br />

region enclosed by e and W e is on the left of e. Now consider<br />

the step of the algorithm where u is conquered. Be<strong>for</strong>e that<br />

step, e is on a certain component (cycle) C of the boundary<br />

∂S in . By definition of a conquest, e has the conquered area<br />

on its left when it is treated. According to Lemma 11, C is<br />

enclosed inside a face f of the current cut-graph C. Let W e<br />

be the walk around f from u to v. Clearly the area enclosed<br />

by e and W e is on the left of e, and W e does not pass by<br />

v n−1 (to be proved). In addition, this walk along C is now<br />

completely comprised inside the conquered region after the<br />

conquest involving e, hence it will not change until the end of<br />

the algorithm, i.e., W e will still be the unique walk along the<br />

final cut-graph C joining u and v <strong>with</strong>out passing by v n−1 .<br />

This concludes the proof.<br />

<br />

Lemma 15 is crucial to encode the edges of color 1 (red<br />

edges). When walking around the cut-graph (<strong>with</strong> the face<br />

on the right), write an opening parenthesis when crossing<br />

an outgoing edge of color 1 and a closing parenthesis when<br />

crossing an ingoing edge of color 1. According to the lemma<br />

above, the word we obtain is a parenthesis word (each prefix<br />

has at least as many opening as closing parentheses) and<br />

each matching corresponds to an edge of color 1. In addition,<br />

from the parenthesis word, it is easy to place the ingoing<br />

half-edge and outgoing half-edges of color 1 (be<strong>for</strong>e doing<br />

the matchings so as to <strong>for</strong>m complete edges of color 1). Indeed,<br />

one can recognize around the cut graph (using the local<br />

conditions of <strong>Schnyder</strong> <strong>woods</strong>) which corners can receive ingoing<br />

edges of color 1 and which corners can receive ingoing<br />

edges of color 1.<br />

To conclude, the edges of color 0 are redundant, the cutgraph<br />

can be encoded by a parenthesis word of length 2n (<strong>for</strong><br />

the tree T 2 ) plus O(g) pointers each of length O(log(n)) (<strong>for</strong><br />

the special edges), and the edges of color 1 can be encoded<br />

by a parenthesis word of length 2(n +4g) (since there are<br />

n +4g edges of color 1, each of which corresponds to a<br />

matching of the parenthesis word). All in all, we obtain the<br />

following result:<br />

Proposition 16 A <strong>triangulated</strong> surface of <strong>genus</strong> g <strong>with</strong> n+3<br />

vertices can be encoded — via a <strong>genus</strong> g <strong>Schnyder</strong> wood —<br />

by a binary word of length 4n + O(g log(n)). Coding and<br />

decoding can be done in linear time.<br />

We mention that one could also design a more sophisticated<br />

code that supports queries: this time we should need to<br />

encode the three maps T i using multiple parenthesis systems<br />

(as done in [12, 2]).<br />

Preprint MAT. 18/08, communicated on September 1 st , 2008 to the Department of Mathematics, Pontifícia Universidade Católica — Rio de Janeiro, Brazil.


Luca Castelli Aleardi, Eric Fusy and Thomas Lewiner 12<br />

a)<br />

b)<br />

Figure 10: The effect of a merge operation on the conquered surface and on the cut graph. Two faces of the cut graphs are merged and two<br />

boundaries of the conquered surface are merged.<br />

Given a (unlabelled) triangulation S of <strong>genus</strong> g <strong>with</strong> e<br />

edges, it is possible to obtain a compact representation of S<br />

using asymptotically (2 log 2 6) · e + O(g log e) bits which<br />

answers queries <strong>for</strong> vertex adjacency and vertex degree in<br />

O(1) time. Once again the main idea is to compute a g-<br />

<strong>Schnyder</strong> wood of S and to encode the corresponding maps<br />

T i , i ∈{0, 1, 2}. This time, in order to efficiently support<br />

adjacency queries on vertices we have to encode the three<br />

maps T i using several types of parentheses: we use a multiple<br />

parenthesis system (<strong>with</strong> 2 types of parentheses) as above<br />

to describe each map T i (the arguments are similar to the<br />

ones given in [2], where the planar labeled triangulations<br />

are considered). We mention that the partitioning strategy<br />

presented in [9] achieves a better bound of 2.175 bits per<br />

face, more O(g log n) additional bits <strong>for</strong> dealing <strong>with</strong> handles<br />

(<strong>with</strong> different face based navigation). Nevertheless, our<br />

approach could be successful in extending existing encodings<br />

<strong>for</strong> more general planar graphs ([12]) and <strong>for</strong> labeled<br />

graphs ([2]) to the <strong>higher</strong> <strong>genus</strong> case.<br />

6 Conclusion and perspectives<br />

We have presented a general approach <strong>for</strong> extending to<br />

<strong>higher</strong> <strong>genus</strong> a fundamental combinatorial structure, <strong>Schnyder</strong><br />

<strong>woods</strong>, which is by now a standard tool to handle planar<br />

graphs both structurally and algorithmically. We have been<br />

successful in showing that the definition and several fundamental<br />

combinatorial properties can be extended from the<br />

planar to the <strong>genus</strong> g case in a natural way. We think that this<br />

work is a first step in the attempt of generalizing the properties<br />

of <strong>Schnyder</strong> <strong>woods</strong> and more generally α-orientations<br />

(orientations <strong>with</strong> prescribed out-degrees) to other interesting<br />

classes of graphs.<br />

Canonical orderings and <strong>Schnyder</strong> Woods<br />

We point out that our graph traversal procedure induces<br />

an ordering <strong>for</strong> treating the vertices so as to shell the surface<br />

progressively. Such an ordering is already well known in the<br />

planar case under the name of canonical ordering and has<br />

numerous applications <strong>for</strong> graph encoding and graph drawing<br />

[12, 20]. It is thus of interest to extend this concept to<br />

<strong>higher</strong> <strong>genus</strong>. The only difference is that in the <strong>genus</strong> g case<br />

there is a small number —at most 2 · 2g— of vertices that<br />

might appear several times in the ordering; these correspond<br />

to the vertices incident to the 2g special edges (split/merge<br />

edges) obtained during the traversal. There are several open<br />

questions we think should be investigated concerning the<br />

combinatorial properties of such orderings and the corresponding<br />

edges orientations and colorations. For example,<br />

one may ask whether to any edge coloration and coloring<br />

defining a <strong>Schnyder</strong> wood could correspond a canonical ordering,<br />

as in the planar case. We think also it would be interesting<br />

to see whether such an ordering would yield an efficient<br />

algorithm <strong>for</strong> drawing a graph on <strong>genus</strong> g surface (as it<br />

has been done in the planar case [20]).<br />

Further extensions<br />

Our approach relies on quite general topological and combinatorial<br />

arguments, so the natural next step should be to<br />

apply our methodology to other interesting classes of graphs<br />

(not strictly <strong>triangulated</strong>), which have similar characterization<br />

in the planar case. Our topological traversal could be<br />

extended to the 3-connected case, precisely to embedded 3-<br />

connected graphs <strong>with</strong> face-width larger than 2, which correspond<br />

to polygonal meshes of <strong>genus</strong> g. We point out that<br />

our encoding proposed in Section 5 could take advantage of<br />

the existing compact encodings of planar graphs [12, 11, 19],<br />

using similar parenthesis-based approaches.<br />

Lattice structure and graph encoding applications<br />

There are a number of deep and interesting questions<br />

that our work leaves open. From the combinatorial point<br />

of view it should be of interest to investigate whether edge<br />

orientations and colorations in <strong>genus</strong> g have nice lattice<br />

properties, as in the planar case. In particular, the existence of<br />

minimal orientations in the planar case led to a large number<br />

of deep results in areas such as graph drawing, optimal<br />

sampling and coding.<br />

In addition to the new tree decomposition proposed<br />

<strong>for</strong> the <strong>higher</strong> <strong>genus</strong> case, one contribution has been to<br />

show, from the algorithmic point of view, that a vertexdecomposition<br />

based traversal can be per<strong>for</strong>med in linear<br />

time <strong>for</strong> any <strong>genus</strong> g ≥ 0. In particular, the linear time complexity<br />

of our traversal is due to an efficient procedure <strong>for</strong><br />

checking whether a chordal edge is non-contractible. Thus<br />

Preprint MAT. 18/08, communicated on September 1 st , 2008 to the Department of Mathematics, Pontifícia Universidade Católica — Rio de Janeiro, Brazil.


13 <strong>Schnyder</strong> <strong>woods</strong> <strong>for</strong> <strong>higher</strong> <strong>genus</strong> <strong>triangulated</strong> <strong>surfaces</strong><br />

S<br />

v<br />

v<br />

e m<br />

u<br />

w<br />

w<br />

e s<br />

v w<br />

v w<br />

v e m w<br />

F 1<br />

F 1<br />

F 3<br />

e<br />

F 1 F F 2<br />

F<br />

F s<br />

1<br />

1<br />

1<br />

u<br />

F 1<br />

u<br />

u<br />

F 1 F 1<br />

F 1<br />

F 1<br />

F 1<br />

F 1<br />

v F 2 w<br />

v w<br />

v w<br />

F 1<br />

T 1 T 0 T 2<br />

Figure 11: A <strong>triangulated</strong> torus endowed <strong>with</strong> a <strong>Schnyder</strong> wood. The black edges <strong>for</strong>m a tree T 2 , and the addition of the two special edges<br />

yields a one-face map. The embedded graph T 0 (blue edges) is a map <strong>with</strong> 3 faces; and the embedded graph T 1 (red edges) is a map <strong>with</strong> 2<br />

faces.<br />

a “left-most” traversal of the <strong>triangulated</strong> surface should be<br />

doable in linear time (let us recall that a left-most driven<br />

traversal returns in the planar case the minimal orientations<br />

mentioned above). This remark, together <strong>with</strong> the local properties<br />

of <strong>genus</strong> g <strong>Schnyder</strong> <strong>woods</strong> (Definition 2), suggests<br />

the possibility of further nice applications in graph encoding<br />

and sampling (see [17, 29] <strong>for</strong> the planar case). More<br />

precisely, we conjecture the existence of correspondences<br />

between some special classes of one-face maps (generalizations<br />

of plane trees) and the classes of <strong>triangulated</strong> and polyhedral<br />

combinatorial meshes of <strong>genus</strong> g: this would lead to<br />

the first (linear time) optimal compression schemes and succinct<br />

encodings <strong>for</strong> these fundamental classes of meshes.<br />

References<br />

[1] O. Bernardi and N. Bonichon. Catalans intervals and<br />

realizers of triangulations. In Proc. FPSAC07, 2007.<br />

[2] J. Barbay, L. Castelli-Aleardi, M. He and J. I. Munro.<br />

Succinct representation of labeled graphs. In ISAAC,<br />

pages 316–328, 2007.<br />

[3] N. Bonichon. Aspects algorithmiques et combinatoires<br />

des réaliseurs des graphes plans maximaux. PhD thesis,<br />

Bordeaux I, 2002.<br />

[4] N. Bonichon, C. Gavoille and N. Hanusse. An<br />

in<strong>for</strong>mation-theoretic upper bound of planar graphs using<br />

triangulation. In STACS, pages 499–510. Springer, 2003.<br />

[5] N. Bonichon, C. Gavoille and A. Labourel. Edge partition<br />

of toroidal graphs into <strong>for</strong>ests in linear time. In ICGT,<br />

volume 22, pages 421–425, 2005.<br />

[6] N. Bonichon, C. Gavoille, N. Hanusse, D. Poulalhon and<br />

G. Schaeffer. Planar graphs, via well-orderly maps and<br />

trees. Graphs and Combinatorics, 22(2):185–202, 2006.<br />

[7] E. Brehm. 3-orientations and schnyder-trhree tree decompositions.<br />

Master’s thesis, Freie Universitaet Berlin,<br />

2000.<br />

[8] S. Cabello and B. Mohar. Finding shortest nonseparating<br />

and non-contractible cycles <strong>for</strong> topologically<br />

embedded graphs. Discrete & Comp. Geometry,<br />

37(2):213–235, 2007.<br />

[9] L. Castelli-Aleardi, O. Devillers and G. Schaeffer. Succinct<br />

representation of triangulations <strong>with</strong> a boundary. In<br />

WADS, pages 134–145. Springer, 2005.<br />

[10] L. Castelli-Aleardi, O. Devillers and G. Schaeffer. Optimal<br />

succinct representations of planar maps. In SoCG,<br />

pages 309–318, 2006.<br />

[11] Y.-T. Chiang, C.-C. Lin and H.-I. Lu. Orderly spanning<br />

trees <strong>with</strong> applications to graph encoding and graph<br />

drawing. In SODA, pages 506–515, 2001.<br />

[12] R. C.-N. Chuang, A. Garg, X. He, M.-Y. Kao and H.-I.<br />

Lu. Compact encodings of planar graphs via canonical<br />

orderings and multiple parentheses. ICALP, pages 118–<br />

129, 1998.<br />

[13] H. de Fraysseix and P. O. de Mendez. On topological<br />

aspects of orientations. Disc. Math., 229:57–72, 2001.<br />

[14] J. Erickson and S. Har-Peled. Optimally cutting a surface<br />

into a disk. Discrete & Comp. Geometry, 31(1):37–<br />

59, 2004.<br />

[15] S. Felsner. Convex drawings of planar graphs and the<br />

order dimension of 3-polytopes. Order, 18:19–37, 2001.<br />

[16] S. Felsner. Lattice structures from planar graphs. Electronic<br />

Journal of Combinatorics, 11(15):24, 2004.<br />

[17] E. Fusy, D. Poulalhon and G. Schaeffer. Dissections<br />

and trees, <strong>with</strong> applications to optimal mesh encoding and<br />

to random sampling. In SODA, pages 690–699, 2005.<br />

[18] E. Fusy. Combinatoire des cartes planaires et applications<br />

algorithmiques. PhD thesis, Ecole Polytechnique,<br />

2007.<br />

Preprint MAT. 18/08, communicated on September 1 st , 2008 to the Department of Mathematics, Pontifícia Universidade Católica — Rio de Janeiro, Brazil.


Luca Castelli Aleardi, Eric Fusy and Thomas Lewiner 14<br />

w<br />

S in<br />

S in<br />

S in<br />

w<br />

w w a<br />

F 2<br />

F 2<br />

w a<br />

S out S out S out<br />

u v<br />

S out v 0 0 u v 0<br />

u<br />

u a<br />

v 1<br />

v 1<br />

S in v 1<br />

S in<br />

S out<br />

S in<br />

S out<br />

Figure 12: This pictures illustrate how the double orientation of special edges can contribute to the additional (trivial) faces to maps T 0<br />

(or T 1 ): in this pictures the double orientation of (u, w) adds a face F 2 to the map T 1 . Depending on its coloration, (u, w) can (or not) be<br />

included on the boundary of F 2<br />

[19] X. He, M.-Y. Kao and H.-I. Lu. Linear-time succint encodings<br />

of planar graphs via canonical orderings. Journal<br />

on Discrete Mathematics, 12:317–325, 1999.<br />

[20] G. Kant. Drawing planar graphs using the canonical<br />

ordering. Algorithmica, 16(1):4–32, 1996.<br />

[21] K. Keeler and J. Westbrook. Short encondings of planar<br />

graph and maps. Discrete and Applied Mathematics,<br />

58:239–252, 1995.<br />

[22] M. Kutz. Computing shortest non-trivial cycles on<br />

orientable <strong>surfaces</strong> of bounded <strong>genus</strong> in almost linear<br />

time. In SoCG, pages 430–438, 2006.<br />

[23] F. Lazarus, M. Pocchiola, G. Vegter and A. Verroust.<br />

Computing a canonical polygonal schema of an orientable<br />

<strong>triangulated</strong> surface. In SoCG, pages 80–89, 2001.<br />

[24] T. Lewiner, H. Lopes and G. Tavares. Optimal discrete<br />

Morse functions <strong>for</strong> 2-manifolds. 26(3):221–233, 2003.<br />

[25] T. Lewiner, H. Lopes, J. Rossignac and A. W. Vieira.<br />

Efficient edgebreaker <strong>for</strong> <strong>surfaces</strong> of arbitrary topology.<br />

In Sibgrapi, pages 218–225, 2004.<br />

[26] H. Lopes, J. Rossignac, A. Safonova, A. Szymczak<br />

and G. Tavares. Edgebreaker: a simple implementation<br />

<strong>for</strong> <strong>surfaces</strong> <strong>with</strong> handles. Computers & Graphics,<br />

27(4):553–567, 2003.<br />

[27] B. Mohar and C. Thomassen. Graphs on Surfaces.<br />

Johns Hopkins, 2001.<br />

[28] P. O. de Mendez. Orientations bipolaires. PhD thesis,<br />

Paris, 1994.<br />

[29] D. Poulalhon and G. Schaeffer. Optimal coding and<br />

sampling of triangulations. Algorithmica, 46:505–527,<br />

2006.<br />

[30] J. Rossignac. Edgebreaker: Connectivity compression<br />

<strong>for</strong> triangle meshes. Transactions on Visualization and<br />

Computer Graphics, 5:47–61, 1999.<br />

[31] C. P. Rourke and B. J. Sanderson. Introduction to<br />

piecewise-linear topology. New York, 1972.<br />

[32] W. <strong>Schnyder</strong>. Planar graphs and poset dimension.<br />

Order, pages 323–343, 1989.<br />

[33] W. <strong>Schnyder</strong>. Embedding planar graphs on the grid. In<br />

SODA, pages 138–148, 1990.<br />

[34] G. Turan. On the succint representation of graphs.<br />

Discrete Applied Mathematics, 8:289–294, 1984.<br />

[35] W. Tutte. A census of planar maps. Canadian Journal<br />

of Mathematics, 15:249–271, 1963.<br />

[36] G. Vegter and C.-K. Yap. Computational complexity of<br />

combinatorial <strong>surfaces</strong>. In SoCG, pages 102–111, 1990.<br />

[37] É. C. de Verdière and F. Lazarus. Optimal system of<br />

loops on an orientable surface. In FOCS, pages 627–636,<br />

2002.<br />

Preprint MAT. 18/08, communicated on September 1 st , 2008 to the Department of Mathematics, Pontifícia Universidade Católica — Rio de Janeiro, Brazil.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!