Given a planar graph $G(V,E)$ and a partition of the neighbors of each vertex $v \in V$ in four sets $\overset{\nwarrow}{v}$, $\overset{\nearrow}{v}$, $\overset{\swarrow}{v}$, and $\overset{\searrow}{v}$, the problem *Windrose Planarity* asks to decide whether $G$ admits a *windrose-planar drawing*, that is, a planar drawing in which (i) each neighbor $u \in \overset{\nwarrow}{v}$ is above and to the right of $v$, (ii) each neighbor $u \in \overset{\nearrow}{v}$ is above and to the left of $v$, (iii) each neighbor $u \in \overset{\swarrow}{v}$ is below and to the left of $v$, (iv) each neighbor $u \in \overset{\searrow}{v}$ is below and to the right of $v$, and (v) edges are represented by curves that are monotone with respect to each axis. By exploiting both the horizontal and the vertical relationship among vertices, windrose-planar drawings allow to simultaneously visualize two partial orders defined by means of the edges of the graph.

Although the problem is NP-complete in the general case, we give a polynomial-time algorithm for testing whether there exists a windrose-planar drawing that respects a combinatorial embedding that is given as part of the input. This algorithm is based on a characterization of the plane triangulations admitting a windrose-planar drawing. Furthermore, for any embedded graph admitting a windrose-planar drawing we show how to construct one with at most one bend per edge on an $O(n) \times O(n)$ grid. The latter result contrasts with the fact that straight-line windrose-planar drawings may require exponential area.

Type

Publication

ACM Transactions on Algorithms