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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!