Keywords

1 Introduction

Given a graph with nodes and edges representing circuit components and interconnections, respectively, floor-planning in VLSI chip design refers to the partition of a rectangular chip area into nonoverlapping rectilinear polygonal modules in such a way that modules of adjacent nodes share a common boundary. If we further require that each rectilinear polygon be a rectangle, such a floorplan is called a rectangular dual. As they play key roles in VLSI physical design, rectangular duals of planar graphs have been studied extensively over the years from both theoretical and practical viewpoints. A necessary and sufficient condition for the existence of a rectangular dual for a planar graph was established by Kozminski and Kinnen [9]. A floorplan is said to be sliceable if it can be obtained by recursively cutting a rectangle into two parts by a horizontal or a vertical line. Sliceable floorplans enjoy certain nice properties, facilitating global routing by taking advantage of the hierarchical structure of partitioning by the cut lines, for instance. As a generalization of sliceability in floorplanning, monotone staircase cuts have been proposed (see, e.g., [7, 11]), which are able to yield a richer set of floorplan structures while retaining certain attractive properties enjoyed by sliceable floorplans.

Rectilinear duals represent a generalization of rectangular duals, in which vertices are represented by interior-disjoint rectilinear polygons such that edges correspond to side-contact of polygons. A monotone staircase polygon is a polygon formed by two monotonically rising staircases, each of which is a sequence of alternatingly horizontal and vertical line segments from the bottom-left corner to the top-right corner of the polygon. A staircase polygon is a rectilinear polygon resulting from rotating a monotone staircase polygon 90\(^{\circ }\), 180\(^{\circ }\), or 270\(^{\circ }\). Figure 1(2) is a rectilinear dual of the plane graph given in Fig. 1(1) using monotone staircase polygons. In fact, floorplans using monotone staircase polygons are exactly those that can be obtained using monotone staircase cuts. See Fig. 1(2)–(3), for instance. Note that staircase polygons are orthogonally convex, in the sense that for any horizontal or vertical line, if two points on the line are inside a polygonal region, then the entire line segment between these two points is also inside the polygonal region. The reader is referred to [5, 6, 8] for more about sliceability, rectangular and rectilinear duals of plane graphs.

Fig. 1.
figure 1

A floorplan constructed by monotone staircase cuts.

The study of rectilinear duals using monotone staircase polygons is also of interest from the graph drawing perspective. In the field of graph drawing, there is a large amount of work investigating contact representations of graphs. In such drawing styles, vertices are represented by geometric objects such that edges correspond to certain contacts between those objects. The so-called polygonal complexity of a rectilinear dual refers to the number of sides in any of the rectilinear polygons found in the rectilinear dual. Yeap and Sarrafzadeh [13] showed that every maximal plane graph admits a rectilinear dual using polygons of at most eight sides, which matches the lower bound. Liao et al. [10] later improved the above result by showing that it suffices to use only I-shape, L-shape, and \(\top \)-shape modules, whereas in [13], Z-shape modules are also required. See Fig. 2 for these four types of modules. In fact, I-shape and L-shape modules are degenerated cases of \(\top \)-shape modules, as an I (resp., L) can be obtained from a \(\top \) by chopping off two ends (resp., one end) of the horizontal segment of the \(\top \). As a result, [10] suggests that \(\top \)-shape modules are sufficient in constructing rectilinear duals of maximal plane graphs. See also [13]. It is not difficult to see that I-shape and L-shape modules are also degenerated cases of Z-shape modules; however, \(\top \)-shape and Z-shape modules are incomparable to each other. Note that a Z-shape is an 8-sided staircase polygon. If we take into account the \(\sqcup \)-shape, another 8-sided rectilinear polygon incomparable with \(\top \)-shape and Z-shape, floorplans using staircase polygons are exactly those free from \(\top \)-shape and \(\sqcup \)-shape modules (and their generalizations), which can also be characterized as those using orthogonally convex polygons without \(\top \)-shape modules (and their generalizations).

In view of the above, it is therefore of interest and importance to study rectilinear duals of plane graphs using staircase polygons. Along this line of research, a natural question to ask (in view of [10]) is whether Z-shape modules and their degenerated cases are sufficient in constructing a rectilinear dual of any maximal plane graph. As it turns out, we are able to answer the question in the negative, suggesting that \(\top \)-shape is, in a sense, more powerful than Z-shape from the viewpoint of polygonal complexity in rectilinear duals.

Fig. 2.
figure 2

I-shape, L-shape, \(\top \)-shape and Z-shape modules

Motivated by cartographic applications, there is also an increasing interest in the design of rectilinear/rectangular duals subject to a given area assignment, in the sense that the area of each of the polygonal regions equals the associated weight. Given an area assignment for vertices, a cartogram is a rectilinear dual that realizes such an assignment. A rectilinear dual of a plane graph is area-universal iff every possible area assignment can be realized by a combinatorially equivalent rectilinear dual. For rectangular duals, it is known that area-universality can be characterized by one-sidedness [4]; however, no simple characterizations are known for rectilinear duals. Regarding the polygonal complexity of area-universal rectilinear duals for maximal plane graphs, it is known that eight is sufficient, which is also optimal [1]. In this paper, we also investigate the issue of area-universality of rectilinear duals using monotone staircase polygons.

Our contributions in this paper include the following:

  1. 1.

    We define a partial order on the structure of rectilinear polygons that captures the intuitive idea of degeneracies of polygons naturally. Such a partial order provides a foundation for our subsequent discussions on rectilinear duals using monotone staircase polygons (which are \(\top \)-free and orthogonally convex).

  2. 2.

    An algorithm is devised for constructing rectilinear duals of maximal plane graphs using 12-sided monotone staircase polygons. The bound (i.e., 12 sides) is also shown to be tight.

  3. 3.

    Regarding area-universality, we prove that there exists a maximal plane graph that does not admit any monotone staircase area-universal rectilinear dual; however, for Hamiltonian maximal plane graphs, eight sides suffice.

2 Preliminaries

A graph \(G=(V, E)\) is planar iff it can be drawn in the plane without edge crossings. In a planar drawing of a graph, the outer face is the unbounded one; a face is called inner iff it is not outer. A plane graph is a planar graph with a fixed combinatorial embedding and a prescribed outer face. A cycle \(C\) divides a plane graph \(G\) into two regions. The one that is inside (resp., outside) cycle \(C\) is called the interior region (resp., outer region) of \(C\). We write \(G(C)\) to denote the subgraph of \(G\) containing exactly \(C\) and vertices and edges residing in its interior region. When \(H\) is a connected subgraph of \(G\) with \(C\) as its boundary cycle, \(G(H)\) is defined to be \(G(C)\).

Fig. 3.
figure 3

An example of a separation-tree.

Let \(\triangle \) be a triangle (a cycle of length 3). We call \(\triangle \) a separating triangle (also known as a complex triangle) iff \(G(\triangle )\ne \triangle \) in any planar embedding \(G\). \(G_\triangle \) is defined to be the induced subgraph of the set of vertices \(\{v\in V(G(\triangle )) |\) for any triangle \(\triangle ' \ne \triangle \) in \(G(\triangle )\), \(v\) does not reside in the interior region of \(\triangle '\}\). For graph \(G\) depicted in Fig. 3, \(G_{\{a, b, c\}}\) is the subgraph induced by \(\{a, b, c, d\}\). The separation-tree of a maximal plane graph \(G\) is defined to be the unique rooted tree whose vertices are separating triangles and the boundary triangle in \(G\), with \(\triangle \) being a descendant of \(\triangle '\) iff \(\triangle \) is contained in \(G(\triangle ')\). See Fig. 3. The reader is referred to [12] for more about the above notations and definitions.

The contraction of a triangle \(\triangle \) is an operation that replaces \(G(\triangle )\) with \(\triangle \); the un-contraction of a (previously contracted) triangle \(\triangle \) is an operation that replaces \(\triangle \) with \(G_\triangle \). The descendants of \(\triangle \) remain contracted when we un-contract \(\triangle \). For convenience purpose, we write region(\(S\)), \(S \subseteq V\), to denote the union of region of \(x\), \(x \in S\), in the rectilinear dual of \(G\).

Fig. 4.
figure 4

Illustration of inserting sub-drawing.

An internally triangulated plane graph \(G\) admits a rectangular dual iff we can augment \(G\) with four vertices \(\{N,E,S,W\}\) such that (1) the new outer face is the quadrangle \(\{N,E,S,W\}\) and (2) the resulting graph is internally triangulated and contains no separating triangle [9]. The tight connection between separating triangles and rectangular duals makes separation-trees particularly useful in constructing rectilinear duals. Here we sketch a general framework of building rectilinear duals based on separation-trees: (1) Let \(\triangle _1, \triangle _2, \ldots , \triangle _k\) be a level-order traversal of the separation-tree. We let \(G'= \triangle _1\) (the boundary triangle). (2) Construct a rectangular dual of \(G'\) as the initial drawing. (3) For \(i=1\) to \(k\), we un-contract \(\triangle _i\), and plug-in the rectangular drawing of \(G_{\triangle _i}\setminus \triangle _i\) to the current drawing. See Fig. 4 for a conceptual illustration of inserting rectangular dual of \(G_{\triangle _i}\setminus \triangle _i\) when \(\triangle _i = \{s,t,r\}\) is un-contracted. Note that the exact location at which the rectangular dual is inserted will be explained in detail in our subsequent discussion. The reader is referred to [12, 13] for more.

3 Rectilinear Polygons

Throughout the paper, all the rectilinear polygons are simple. Two rectilinear polygons are considered the same iff they admit the same circular order of angles. Therefore, it is without loss of information to use circular order of angles to represent a rectilinear polygon. For example, rectangle (or called I-shape), L-shape, \(\top \)-shape, W-shape, \(\sqcup \)-shape can be represented by \((V,V,V,V)\), \((V,V,V,C,V,V)\), \((V,V,C,V,V,C,V,V)\), \((V,V,V,C,V,C,V,V)\), \((V,V,V,C,C,V,V,V)\), respectively, where the letters \(V\) and \(C\) represent convex and concave corners, respectively. Given a sequence \(P\) of \(C\)s and \(V\)s, we let \(\sharp _C(P)\) and \(\sharp _V(P)\) denote the numbers of concave and convex corners, respectively.

Here we define a partial order “\(\preceq \)” on rectilinear polygons as follows:

Definition 1

Let \(P\) and \(Q\) be two rectilinear polygons. \(P\preceq Q\) iff \(Q\) can be obtained by iteratively inserting \((C,V)\) or \((V,C)\) to \(P\).

Let \(R\) be a rectilinear dual, we call it \(Q\) -free iff for each module of shape \(P\) used in \(R\), we have \(Q\not \preceq P\). We remark that the partial order “\(\preceq \)” actually reflects the intuitive idea of degeneracy in the way that \(P\preceq Q\) indicates that \(Q\) can degenerate to \(P\). Therefore, the notion of “\(Q\)-freeness” captures the idea of “\(Q\) is not a degenerated form of any rectilinear region in the drawing”. Here we define a class of rectilinear polygons called staircase as follows:

Definition 2

Let \(P\) be a rectilinear polygon. \(P\) is monotone staircase iff \(P=(a,S_1, b, S_2)\) clockwise, where \(a=b=V\) and both \(S_1\) and \(S_2\) consist of \(C\)s and \(V\)s appearing alternatively and both start and end with \(V\), where the two points \(a, b\) are exactly at the most south-western (i.e., lower left-hand) and the most north-eastern (i.e., upper right-hand) corners.

Fig. 5.
figure 5

Some examples.

In words, a monotone staircase polygon is a polygon formed by two monotonically rising staircases, each of which is a sequence of alternatingly horizontal and vertical line segments from the bottom-left corner to the top-right corner of the polygon. A staircase polygon is a rectilinear polygon resulting from rotating a monotone staircase polygon 90\(^{\circ }\), 180\(^{\circ }\), or 270\(^{\circ }\). The following facts are easy to observe, and may be explicitly or implicitly applied in the discussion throughout the paper.

Fact 1

\(\sharp _V(P) - \sharp _C(P) = 4\) in any rectilinear polygon \(P\).

Fact 2

A rectilinear polygon is orthogonally convex iff it does not contain consecutive concave corners.

Fact 3

A rectilinear polygon \(P\) is staircase iff \(\top \) \( \not \preceq P\) and \(P\) is orthogonally convex.

Fact 4

A rectilinear polygon \(P\) satisfies \(\top \) \(\preceq P\) iff \(P=(S_1, a, S_2, b, S_3, S_4)\) such that \(a=b=V\) and \(\sharp _C(S_2)=\sharp _V(S_2)\), \(\sharp _C(S_1)-\sharp _V(S_1)=\sharp _C(S_3)-\sharp _V(S_3)=1\).

Figure 5(1) is an example of a staircase module. The polygon in Fig. 5(2) is degeneratable to \(\top \)-shape by removing the two pairs of corners (circled in the picture); the reader can verify Fact 4 by considering its representation \((C,V,V,V,C,C,V,V,V,V,C,V)\) \(=\) \( (S_1=(C), a=V, S_2=(), b=V, S_3=(V,C,C), S_4=(V,V,V,V,C,V))\).

4 Lower Bound of Polygonal Complexity

In this section, we prove that \(\top \)-free rectilinear duals of maximal plane graphs must have polygonal complexity of at least 12, which is higher than the 8 in the general case when \(\top \)-shape modules are allowed. We define the plane graph \(H_0\) in Fig. 6, which is a key structure that is behind the higher polygonal complexity of \(\top \)-free rectilinear duals.

Fig. 6.
figure 6

Definition of \(H_0\) and illustration of the proof of Lemma 1.

Lemma 1

Let \(H\) be a subgraph of a maximal plane graph \(G\) such that \(H\) is isomorphic to \(H_0\) (with \(x, y\) and \(z\) as the three vertices on the outer cycle) and \(G(H)=H\). For any \(\top \)-free rectilinear dual of \(G\), there must be at least two concave corners in regions associated with \(x,y\), and \(z\) which are located along the border between region(\(\{x, y, z\}\)) and region(\(\{u, v, w, c\}\)).

Proof

Clearly there must be at least one concave corner. If there is only one such concave corner, without loss of generality, we let \(x\) be the one containing the concave corner. Now, the boundary of the region(\(\{u,v,w,c\}\)) must be a rectangle, illustrated in Fig. 6. Note that since module \(c\) in Fig. 6 must touch \(x\) and \(x\) borders the rectangular region along its west and north sides, by symmetry, we can assume that \(c\) touches the west boundary without loss of generality. We identify four points \(p_1, p_2, p_3\) and \(p_4\) on the boundary of \(c\) as illustrated in Fig. 6. By setting \(a=p_2, b=p_3\), \(S_1=\) the segment between \(p_1\) and \(p_2\), and \(S_3=\) the segment between \(p_2\) and \(p_3\), it is easy to see that if all the regions are drawn rectilinearly, such assignments must satisfy the statement of Fact 4, and hence we must have \(\top \) \(\preceq c\), which is a contradiction.   \(\square \)

Theorem 1

There exists a maximal plane graph \(G\) such that every \(\top \)-free rectilinear dual of \(G\) must have polygonal complexity of at least 12.

Proof

Let \(G_0=(V, E)\) be an \(n\)-node maximal plane graph with \(n \ge 10\). We replace each inner face of \(G_0\) with a copy of \(H_0\) by adding new vertices and edges. Let the resulting graph be \(G_1\), and we let \(R\) be any \(\top \)-free rectilinear dual of \(G_1\). According to Lemma 1, since the number of inner faces in \(G_0\) is \(2n-5\), the number of concave corners in regions associated with vertices of \(V\) must be at least \(2 \times (2n-5)= 4n-10 > 3n = 3|V|\). Therefore, there must be a region in \(R\) containing at least 4 concave corners. By Fact 1, such a region has at least \(4+(4+4)=12\) corners.   \(\square \)

In the lower part of Fig. 6, we give three examples of rectilinear duals of \(H_0\). The left two drawings are both \(\top \)-free and contain two concave corners in regions associated with \(x,y\), and \(z\); the rightmost one contains only one concave corner but the region associated with \(c\) is a \(\top \)-shape. These two \(\top \)-free drawings serve as prototypical concepts of the algorithm presented in the next section.

5 Construction of 12-Sided \(\top \)-free Rectilinear Duals

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

Our algorithm is an inductive approach based on the separation-trees described in Sect. 2. What remains to be done is to make sure that when inserting the rectangular dual of \(G_{\triangle }\setminus \triangle \) to the current rectilinear dual during the course of the construction, (1) every region preserves the shape of a monotone staircase and (2) the total number of concave corners on the boundary of each region is at most 4.

5.1 Un-contracting a Separating Triangle

When we un-contract a triangle \(\triangle =\{x,y,z\}\), a rectangular space is allocated to accommodate the details of \(G_{\triangle }\setminus \triangle \), which in turn imposes a concave corner to one of the border of region(\(\{x,y,z\}\)). Without loss of generality, we assume such a concave corner to be on the boundary of region \(x\). As observed in Sect. 4, one concave corner in region(\(\{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 the illustration. See Fig. 7.

Since region \(x\) is 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: (1) region \(x\) borders the west and north sides, and the arrow points to the north side; and (2) region \(x\) borders the west and north sides, and the arrow points to the east side, as the remaining cases are symmetric (by flipping the entire drawing around the north-west to south-east line or the north-east to south-west line). Now, we fix region \(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. 7. Let \(u,v\), and \(w\) be the three vertices in \(G_\triangle \setminus \{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_\triangle \), which contradicts its definition. Unless \(|V(G_\triangle )|=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_\triangle \)). When the rectangular dual of \(G_\triangle \setminus \{x,y,z\}\) is constructed to fill the rectangular space, we may further assume the rectangular dual to have region \(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\}\).

If we consider the children of the node associated with \(\triangle =\{x,y,z\}\) in the separation tree, there are two types of separating triangles:

  1. 1.

    Separating triangles associated with triangles \(\{x,y,u\}\), \(\{y,z,v\}\), and \(\{x,z,w\}\) possibly. (Note that some of these three triangles may not be separating triangles.)

  2. 2.

    Separating triangles in the subgraph surrounded by vertices \(\{x,u,y,v,z,w\}\). See Fig. 7.

Fig. 7.
figure 7

The left part shows the two cases explained in Sect. 5.1. The right part shows how the rectangular regions associated with \(u,v\), and \(w\) are located in the rectangular space for the separating triangle \(\{x,y,z\}\).

We first consider Type 1 separating triangles, i.e., those associated with triangles \(\{x,y,u\}\), \(\{y,z,v\}\), and \(\{x,z,w\}\) possibly. 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 as those regions surrounded by dashed boundaries in the rightmost figures in the upper and lower parts of Fig. 8, respectively. Note that in each of the cases, these three regions correspond to the regions allocated for Type 1 separating triangles, 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. 8 are parts of rectangular duals of the subgraph surrounded 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.

Now we consider Type 2 separating triangles. Recall from Fig. 4 that when a separating triangle is un-contracted, a rectangular region is inserted at the juncture of the three regions associated with the three vertices of the separating triangle. Depending on the orientation of the three regions, there are four cases as illustrated in the upper part of Fig. 9. 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. 9 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. 8 (see also the lower illustration of Fig. 9). One can see from Fig. 8 that the \(u\) module stretches upwards in order to make room for the separating triangle \(\{x, u, y\}\) (i.e., the top-most red region in the upper illustration of Fig. 8). As a result, we apply rule (3) in Fig. 9, as opposed to rule (4), as illustrated in the lower illustration of Fig. 9. Such special care prevents the creation of an additional (undesired) concave corner to region(\(\{x,y,z\}\)). A similar situation occurs at the juncture of regions \(u\) and \(y\) in the lower illustration of Fig. 8.

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 for each region. In Fig. 9, when we make a rectangular space at point \(p\), if \(p\) is a non-corner of region \(s\), no concave corner is imposed on \(s\). Therefore, for any vertex \(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.

For the special vertices \(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. 8, we make one concave corner and three arrows (which may potentially become concave corners) to \(s\). For the case that \(u,v,w\) are distinct vertices, the results are summarized in the following:

  • \(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 modules of at most 14 (=2 \(\times \) 5 + 4) sides, as the number of sides = 2 \(\times \) (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 sub-section.

Fig. 8.
figure 8

Illustration of un-contracting Type 1 triangles.

5.2 Transferring Concave Corners

Let \(S=V(G_\triangle )\setminus \{x,y,z\}\), and given a rectangular dual \(R_0\) of \(G_\triangle \setminus \{x,y,z\}\) that satisfies the conditions described in Sect. 5.1, i.e., (1) the west and north boundaries of \(R_0\) are adjacent to \(x\), the east and south boundaries of \(R_0\) are adjacent to \(y\) and \(z\), respectively, and (2) \(w\) (the unique vertex adjacent to \(x\) and \(z\)) borders the entire west boundary of \(R_0\), we define a relation “\(\leftarrow \)” on \(S\):

Definition 3

Given \(S\) and \(R_0\), “\(\leftarrow \)” is a relation on \(S\) such that: \(s\leftarrow 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 \(R_0\) such that \(p\) is a \(180^{\circ }\) corner in \(s\) and a \(90^{\circ }\) corner in \(s'\).

Regarding the separating triangle \(\{x, y, z\}\) discussed in Sect. 5, the following lemmas are easy to observe. Lemma 2 directly follows from the fact that \(w\) is the unique vertex adjacent to \(x\) and \(z\).

Lemma 2

\(w\) is the only one that touches both the north boundary and the south boundary of \(R_0\).

Lemma 3

There exists a path \(v=s_1, s_2, \ldots , s_k=w\) in \(S\) such that \(s_{i+1} \leftarrow s_i \) for \(1\le i \le k-1\).

Let \(s_1, s_2, \ldots , s_k\) be the path that satisfies Lemma 3. Our concave corner transfer algorithm works as follows: For \(i=1\) to \(k\), if there is a separating triangle \(\triangle '=\{s_i, s_{i+1}, t\}\) for some \(t \in S\), we re-build the rectangular space for \(\triangle '\) as depicted in Fig. 10, which is capable of “shifting” 1 concave corner from \(s_i\) to \(s_{i+1}\). Note that in the first two illustrations in Fig. 10, the concave corner in \(s_i\) is explicit, whereas in the last two illustrations, the concave corner in \(s_i\) is implicitly indicated by the arrow. The procedure terminates if there is no such triangle; in this case, the number of concave corners in \(s_i\) must be smaller than four before the execution of this algorithm. Therefore, all the regions must have at most four concave corners after the concave corner transfer algorithm ends.

Fig. 9.
figure 9

Illustration of un-contracting Type 2 triangles.

Fig. 10.
figure 10

Illustration of transferring concave corners.

It is easy to see that the algorithm presented in this section for constructing monotone staircase rectilinear duals can be implemented in linear time.

Theorem 2

\(\top \)-free rectilinear duals for maximal plane graphs have polygonal complexity of at most 12. Moreover, there is a linear time algorithm that constructs monotone staircase rectilinear duals for maximal plane graphs.

6 Area-Universal Drawing

Motivated by the applications to cartogram design and floorplanning, for instance, there has been an increasing interest in the study of area-universality of rectilinear duals. A rectilinear dual is area-universal iff every possible area assignment can be realized by a combinatorially equivalent one. In view of our earlier discussion, it is natural to investigate how or whether area-universal rectilinear duals can be constructed in the absence of \(\top \)-shape modules. Our first result shows that restricting modules to monotone staircases is insufficient to construct area-universal rectilinear duals for maximal plane graphs.

Fig. 11.
figure 11

Illustration of concepts in Sect. 6.

To proceed further, we require some definitions. We denote the most south-western point and the most north-eastern point of a monotone staircase module as \(SW\) and \(NE\), respectively. Separated by these 2 points, the boundary of the module is divided into the upper part and lower part naturally, which we denote as \(Up\) and \(Low\), respectively. See Fig. 11(1) for an illustration. We define relations \(\xrightarrow [X,Y]{}\) for \(X \in \{SW,NE\}\), \(Y \in \{Up, Low\}\), and give a condition for rectilinear duals being not area-universal.

Definition 4

For \(X \in \{SW,NE\}\), \(Y \in \{Up, Low\}\), and any two regions \(s, t\) of monotone staircase shape, \(s\xrightarrow [X,Y]{} t\) iff \(X(s)\) is located in \(Y(t)\), where \(X(s)\) and \(Y(t)\) denote the \(X\) point of region \(s\) and the \(Y\) boundary of region \(t\), respectively.

Lemma 4

For any monotone staircase rectilinear dual \(R\), if there exist three regions \(r,s,t\) and \(Y \in \{Up, Low\}\) such that \(s\xrightarrow [NE,Y]{} r\), \(t\xrightarrow [SW,Y]{} r\), and \(NE(s)\) is more south-west than \(SW(t)\), then \(R\) is not area-universal.

Proof

(Sketch) In Fig. 11(2), \(s, t\) must be confined in quadrant I, III, respectively, making the sum of areas of \(s\) and \(t\) to never exceed 50 % of the enclosing rectangular region.   \(\square \)

Similar to what we have done in Sect. 4, let \(G\) be a maximal plane graph and \(H\) be a sub-graph of \(G\) such that \(H\) is isomorphic to \(H_0\) and \(G(H)=H\). We consider a monotone staircase rectilinear dual \(R\) of \(G\). It is easy to observe that the border between 2 monotone staircase regions cannot intersect with both \(Up\) and \(Low\) of one of them (otherwise, the other cannot be monotone staircase). Therefore, by the pigeonhole principle, in \(H\) we have that two of \(\{u,v,w\}\) border \(c\) in one of \(\{Up(s), Low(s)\}\). We denote these two vertices as \(s_1, s_2\), and the border between \(s_1, c\) is more south-west than that of \(s_2, c\). Let \(r \in \{x,y,z\}\) be the unique vertex adjacent to both \(s_1\) and \(s_2\), the next lemma reveals a relationship between \(s_1, s_2, c\), and \(r\).

Lemma 5

If we require \(R\) to be area-universal, exactly one of the following must be satisfied for \(H\):

  1. 1.

    \(SW(r)\) is located in \(Up(c)\), \(s_1\xrightarrow [NE,Up]{} r\), and \(s_2\xrightarrow [NE,Low]{} r\).

  2. 2.

    \(NE(r)\) is located in \(Up(c)\), \(s_1\xrightarrow [SW,Low]{} r\), and \(s_2\xrightarrow [SW,Up]{} r\).

  3. 3.

    \(SW(r)\) is located in \(Low(c)\), \(s_1\xrightarrow [NE,Low]{} r\), and \(s_2\xrightarrow [NE,Up]{} r\).

  4. 4.

    \(NE(r)\) is located in \(Low(c)\), \(s_1\xrightarrow [SW,Up]{} r\), and \(s_2\xrightarrow [SW,Low]{} r\).

Theorem 3

There exists a maximal plane graph \(G\) such that every monotone staircase rectilinear dual of \(G\) is not area-universal.

Proofs of Lemma 5 and Theorem 3 are omitted due to space limitation. Intuitively speaking, Lemma 5 says that, when the structure depicted in Fig. 11(2) is forbidden, the relative positions of \(r,s_1,s_2\) must obey certain constraints. The idea behind the proof of Theorem 3 is similar to that of Theorem 1. In particular, we are able to show that, for the graph \(G_1\) defined in the proof of Theorem 1, the structure depicted in Fig. 11(2) is unavoidable.

Such an impossibility result motivates us to consider sub-classes of maximal plane graphs. It is easy to observe that the above theorem still holds even restricting to plane 3-trees since replacing a triangle with \(H_0\) preserves the property of being a plane 3-tree. Beside plane 3-trees, Hamiltonian maximal plane graphs, which subsume maximal outer plane graphs and 4-connected plane graphs, are another important sub-class of maximal plane graphs. Contrasting the above results, the following theorem can be shown easily by modifying the \(\sqcup \)-shape cartogram drawing algorithm described in [1] (by reversing the construction order of the right part, we can get a monotone Z-shape drawing).

Theorem 4

Hamiltonian maximal plane graphs admit 8-sided area-universal monotone staircase rectilinear duals.

7 Conclusion

We formalized the concept of “freedom from certain module type” in the study rectilinear duals, and presented a linear-time algorithm to construct \(\top \)-free rectilinear duals for maximal plane graphs with optimal polygonal complexity 12. Our construction uses only monotone staircase modules. Towards a more comprehensive understanding of modules in rectilinear duals, a natural direction for future research is to investigate other kinds of previously unstudied restrictions to modules.

We also showed that monotone staircase modules are insufficient for constructing area-universal rectilinear duals of maximal plane graphs, and proved that for Hamiltonian plane graphs, eight sides are sufficient. As all existing constructions for area-universal rectilinear dual of maximal plane graphs are not \(\top \)-free, whether \(\top \)-free modules are sufficient to construct such drawings remains an interesting open problem.