• 沒有找到結果。

Construction of 12-sided ⊤-free Rectilinear Duals

在文檔中 圖的接觸表示法 (頁 71-76)

Rectilinear Duals without T-shape

Lemma 4.1. Let H be a subgraph of a maximal plane graph G such that H is isomor- isomor-phic to H 0 (with x, y and z being the three vertices on the outer cycle) and G(H) = H

4.3 Construction of 12-sided ⊤-free Rectilinear Duals

In this section, we present an algorithm to construct 12-sided⊤-free rectilinear duals for maximal plane graphs. Our construction uses only monotone staircases, which are orthogonally convex ones that cannot degenerate to⊤-shape (Fact 2.3).

Our algorithm is an inductive approach based on the separation-trees described in Section 2.4. All we need to do is to devise a method inserting the rectangular dual of G\ △ to the current rectilinear dual during the course of the construction meeting the following:

1. Every polygon preserves the shape of a monotone staircase;

2. The total number of concave corners on the boundary of each polygon is at most 4.

4.3.1 Un-contracting a Separating Triangle

When we un-contract a triangle △ = {x, y, z}, a rectangular space is allocated to accommodate a rectangular dual of G\ △, which in turn imposes (at least) a concave corner to one of{x, y, z}. Without loss of generality, we assume that such a concave corner is associated with the polygon x.

As observed in Section 4.2, one concave corner in{x, y, z} may not be enough in some cases. In order to enforce the staircase constraint, we further annotate one of its four sides as "allowed to add a concave corner", which is indicated by an arrow in our illustrations. See Fig. 4.2.

Since polygon x is a monotone staircase, x borders either the entire west and north boundary or the entire east and south boundary of the rectangular space. Therefore, there are eight cases in total since the arrow can point to any one of the four sides of the rectangular boundary. It is sufficient to consider the following two cases (see the left illustration of Fig. 4.2):

1. Polygon x borders the west and the north sides, and the arrow points to the north side;

2. Polygon x borders the west and the north sides, and the arrow points to the east side.

The remaining cases are symmetric to one of the above (by flipping the entire draw-ing around the north-west to south-east line or the north-east to south-west line).

We also fix polygon y to be the one that borders the east side of the rectangular space.

A key in our un-contracting process is to identify three special vertices associated with each separating triangle. Consider Fig. 4.2. Let u, v, and w be the three vertices in G\ {x, y, z} such that u, v, and w are adjacent to {x, y}, {y, z}, {x, z}, respectively.

It is easy to see that u, v, and w are uniquely determined; otherwise, there must be a separating triangle in G, which contradicts its definition.

Unless|V (G)| = 4 (in this case, u = v = w), u, v and w must be different from each other (otherwise, a separating triangle can be found in G).

When the rectangular dual of G \ {x, y, z} is constructed to fill the rectangular space, we further assume the rectangular dual to have polygon w adjacent to the entire west side. Such a drawing must exist since there is no separating triangle inside the quadrangle{x, y, z, w} (See Fig. 4.2).

If we consider the children of the node associated with△ = {x, y, z} in the separa-tion tree, there are two types of separating triangles:

1. Separating triangles that are either{x, y, u}, {y, z, v}, or {x, z, w}. (Note that some of these three triangles may not be separating triangles.)

2. Separating triangles in the subgraph surrounded by vertices{x, u, y, v, z, w}. See

Figure 4.2: Location of u, v, w in the rectangular space for separating triangle{x, y, z}.

Now, we are in the position to present how we make a rectangular space for each separating triangle.

Type 1 separating triangles. We first consider the Type 1 separating triangles, i.e., the separating triangles that are either{x, y, u}, {y, z, v}, or {x, z, w}.

Depending on whether the arrow points to the north side or the east side of the rectangular space for G{x,y,z}, the solutions are depicted in the upper and lower parts of Fig. 4.3, respectively.

The rectangular regions surrounded by dashed boundaries in the rightmost figures of Fig. 4.3 are the rectangular spaces for {x, y, u}, {y, z, v}, and {x, z, w} when we un-contract them in later iterations, with some of which possibly be void if they are not separating triangles.

Special attention should be given to the directions of the arrows in those regions.

The checkered regions represent those allocated for the special vertices u, v, and w.

The white spaces in Fig. 4.3 are parts of rectangular duals of the subgraph sur-rounded by vertices{x, u, y, v, z, w}, and the white dots indicate points at which there

may be separating triangles when Type 2 separating triangles are included.

Type 2 separating triangles. Recall from Fig. 2.6 that when a separating triangle is un-contracted, a rectangular region is inserted at the juncture of the three polygons as-sociated with the three vertices of the separating triangle. Depending on the orientation of the three polygons, there are four cases as illustrated in the upper part of Fig. 4.4.

Attention should be given to the arrows in those regions, which indicate the sides where additional concave corners are possible during the course of future un-contraction.

Although Fig. 4.4 shows the general rule for allocating spaces to accommodate Type 2 separating triangles, there is an exception. Consider the white point incident to both u and x in the upper illustration of Fig. 4.3 (see also the lower illustration of Fig. 4.4).

One can see from Fig. 4.3 that the polygon u stretches upwards in order to make room for the separating triangle{x, u, y} (i.e., the top-most red region in the upper illustra-tion of Fig. 4.3). As a result, we apply rule (3) in Fig. 4.4, as opposed to rule (4), as illustrated in the lower illustration of Fig. 4.4. Such special care prevents the creation of an additional (undesired) concave corner to {x, y, z}. A similar situation occurs at the juncture between u and y in the lower illustration of Fig. 4.3.

Bounding Polygonal Complexity. It is clear from the above that all operations preserve monotone staircase shape. What remains to do is to count the number of concave corners in each polygon s.

(Case: s /∈ {u, v, w}) In Fig. 4.4, when we make a rectangular space at point p, if p is a non-corner of polygon s, no concave corner is imposed on s. Therefore, for any polygon s not belonging to {u, v, w}, the number of concave corners imposed on s is at most four since a rectangle has four corners.

(Case: s = u = v = w) If s = u = v = w, it is easy to see that we also impose at most four concave corners on s. In Fig. 4.3, we make one concave corner and three arrows (which may potentially become concave corners) to s.

(Case: s ∈ {u, v, w}, u, v, w are distinct vertices) For this case, the results are summarized in the following, which can be easily observed in Fig. 4.3:

u: 0 concave corner, 1 arrow, and 3 white dots; the total amount is 4.

v: 1 concave corner, 1 arrow, and 3 white dots; the total amount is 5.

w: 0 concave corner, 1 arrow, and 2 white dots; the total amount is 3.

So far, our algorithm can compute a monotone staircase rectilinear dual that uses polygons of at most 14 (=2× 5 + 4) sides, as the number of sides = 2 × (the number of concave corners) + 4. To lower the polygonal complexity from 14 to 12, our approach is to transfer one concave corner from v to w. Our solution is presented in the following subsection.

x

y

z

x

y

z

u

v w

u=v=w

u

v w

u=v=w

Figure 4.3: Illustration of un-contracting Type 1 triangles.

4.3.2 Transferring Concave Corners

Let S = V (G) \ {x, y, z}, and given a rectangular dual R0 of G \ {x, y, z}

meeting the conditions described in Section 4.3.1:

(1) (2) (3) (4)

x

u

u

x x

u

Figure 4.4: Illustration of un-contracting Type 2 triangles.

1. The west and north boundaries of R0are adjacent to x, the east and south bound-aries of R0 are adjacent to y and z, respectively.

2. w (the unique vertex adjacent to x and z) borders the entire west boundary of R0.

We define a relation "←" on S:

Definition 4.2. Given S and R0, "←" is a relation on S such that: s ← s iff (1) the west side of s is more west than (i.e., on the left-hand side of) the west side of s, and (2) there is a point p in R0 such that p is a 180 corner in s and a 90corner in s.

Regarding the separating triangle{x, y, z} discussed in Section 4.3, the following lemmas are easy to observe. Lemma 4.2 directly follows from the fact that w is the unique vertex adjacent to x and z.

Lemma 4.2. w is the only vertex that touches both the north boundary and the south

在文檔中 圖的接觸表示法 (頁 71-76)