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.

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.

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

Saved successfully!

Ooh no, something went wrong!