Steinitz Theorems for Orthogonal Polyhedra
Abstract
We define a simple orthogonal polyhedron to be a threedimensional polyhedron with the topology of a sphere in which three mutuallyperpendicular edges meet at each vertex. By analogy to Steinitz’s theorem characterizing the graphs of convex polyhedra, we find graphtheoretic characterizations of three classes of simple orthogonal polyhedra: corner polyhedra, which can be drawn by isometric projection in the plane with only one hidden vertex, polyhedra, in which each axisparallel line through a vertex contains exactly one other vertex, and arbitrary simple orthogonal polyhedra. In particular, the graphs of polyhedra are exactly the bipartite cubic polyhedral graphs, and every bipartite cubic polyhedral graph with a 4connected dual graph is the graph of a corner polyhedron. Based on our characterizations we find efficient algorithms for constructing orthogonal polyhedra from their graphs.
1 Introduction
Steinitz’s theorem [34, 56, 64] characterizes the skeletons of threedimensional convex polyhedra in purely graphtheoretic terms: they are exactly the 3vertexconnected planar graphs. In one direction, this is straightforward to prove: every convex polyhedron has a skeleton that is 3connected and planar. The main content of Steinitz’s theorem lies in the other direction, the statement that every 3connected planar graph can be represented as a polyhedron. Steinitz’s theorem, together with Balinski’s theorem that every dimensional polytope has a connected skeleton [3], form the foundation stones of polyhedral combinatorics; Grunbaum writes [34] that Steinitz’s theorem is “the most important and deepest known result on 3polytopes.”
However, analogous results characterizing the skeletons of other classes of polyhedra or higher dimensional polytopes have been elusive. As Ziegler [64] writes, “No similar theorem is known, and it seems that no similarly effective theorem is possible, in higher dimensions.” Even in three dimensions, it remains unknown whether the complete graph may be embedded as a genussix triangulated polyhedral surface, generalizing the toroidal embedding of as the Császár polyhedron [17].
In this paper, we characterize another class of threedimensional nonconvex polyhedra, which we call simple orthogonal polyhedra (Fig. 1): polyhedra with the topology of a sphere, with simplyconnected faces, and with exactly three mutuallyperpendicular axisparallel edges meeting at every vertex. We also consider two special cases of simple orthogonal polyhedra, which we call corner polyhedra and polyhedra. A corner polyhedron (Fig. 1, left) is a simple orthogonal polyhedron in which all but three faces are oriented towards the vector ; it can be drawn in the plane by isometric projection with only one of its vertices hidden (the one incident to the three back faces). An polyhedron (Fig. 1, center) is a simple orthogonal polyhedron in which each axisparallel line contains at most two vertices. We show:

The graphs of corner polyhedra are exactly the cubic bipartite polyhedral graphs such that every separating triangle of the planar dual graph has the same parity. Here cubic means 3regular, polyhedral means planar 3connected, and we define the parity of a separating triangle later. The graphs with no separating triangles form the building blocks for all our other characterizations: every cubic bipartite polyhedral graph with a 4connected planar dual is the graph of a corner polyhedron.

The graphs of polyhedra are exactly the cubic bipartite polyhedral graphs.

The graphs of simple orthogonal polyhedra are exactly the cubic bipartite planar graphs such that the removal of any two vertices leaves at most two connected components.
Based on our graphtheoretic characterizations of these classes of polyhedron, we find efficient algorithms for finding a polyhedral realization of the graph of any corner polyhedron, polyhedron, or simple orthogonal polyhedron. Beyond the obvious applications of our results in graph drawing and architectural design, we believe that these results may have applications in image understanding, where an analysis of the structure of polyhedral and rectilinear objects has been an important subtopic [41, 60, 45].
Due to space considerations we defer the proofs of our results to appendices, and provide only a sketch of the main ideas of these proofs in the text of this paper.
2 Related work
Besides convex polyhedra and our results on orthogonal polyhedra, two other classes of polyhedra have known graphtheoretic characterizations. They are the inscribable polyhedra (convex polyhedra with all vertices on a common sphere or, almost equivalently, graphs of Delaunay triangulations) [20, 37, 54] and a class of nonconvex polyhedra with starshaped faces all but one of which are visible from a common viewpoint [38].
The most direct predecessor of the work described here is our previous paper on threedimensional bendless orthogonal graph drawing [28]. We defined an graph to be a cubic graph with axisparallel edges such that the line through each edge does not pass through any other vertex. These graphs may also be defined in a coordinatefree way from their points, as there can be only one way of rotating a point set to form a connected graph [47]. From every graph one may define an abstract topological surface by forming a face for every coplanar cycle; these faces may be 3colored by the orientations of their defining planes. Conversely, for every 3facecolored cubic topological cell complex on a manifold, assigning arbitrary distinct numbers to the faces and using these numbers as the Cartesian coordinates of the incident vertices leads to a representation as an graph. As we proved, the planar graphs are exactly the bipartite cubic 3connected planar graphs. Unlike polyhedra, an graph may have crossing points where pairs of edges or even triples of edges intersect (Fig. 3, left), and its face cycles may be linked in threedimensional space. However, in some cases, an graph may be drawn as an orthogonal polyhedron, eliminating all edge crossings; for instance, we found an orthogonal polyhedron representation of the truncated octahedron (Fig. 3, right), and based on this example we posed as an open problem the algorithmic question of determining which graphs have a crossingfree representation. In this paper we answer that question in the planar case: all of them do, and more strongly all planar graphs have not just a crossingfree but a polyhedral representation.
Biedl and Genc [8, 9] investigated analogues for orthogonal polyhedra of a different result about convex polyhedra, Cauchy’s theorem [12] that specifying the shape of each face of a convex polyhedron fixes the shape of a whole polyhedron. In contrast, for nonconvex polyhedra, specifying the shape of each face is enough to fix the volume of the whole polyhedron under continuous motions [16] but there exist flexible nonconvex polyhedra with fixed face shapes and an uncountably infinite number of global configurations [15]. Analogously to Cauchy’s theorem, fixing the shape of each face is enough to determine the shape of an orthogonally convex polyhedron [8] or more generally of an orthogonal polyhedron with the topology of a sphere [9]. Although these results concern a different problem, they suggest as do ours that orthogonal polyhedra may be closely analogous to convex polyhedra.
Rectangular layouts form an important twodimensional analogue of orthogonal polyhedra. These are planar drawings of cubic graphs for which each edge is axisparallel and has no bends, and in which every face (including the outer face) is a rectangle. Rectangular layouts have applications in the visualization of geographic data [52], floorplan layout in architectural design [24, 53], VLSI design [63], treemap information visualization [11], and graph drawing [43]. A plane graph admits a rectangular layout, with a given partition of its outer faces into the sides of an outer rectangle, if and only if a variant of its dual graph (with one dual vertex for each side of the outer rectangle rather than a single vertex for the outer face) is a plane triangulated graph with an exterior quadrilateral and no separating triangles [46]; a closely related characterization also holds for the cubic graphs that can be drawn on a grid with no bends but without requiring that the faces be rectangles [51]. There is a combinatorial bijection between the rectangular layouts of a graph and its regular edge labelings or transversal structures, (improper) twocolorings of the edges of the dual graph together with an orientation for each edge satisfying certain constraints on the cyclic order in which the colored edges of each orientation meet each dual vertex [43]. The regular edge labelings of a graph form a distributive lattice [32, 33] and this lattice structure has algorithmic applications in finding rectangular layouts with additional properties [30, 29]. In our threedimensional problem, as in the twodimensional case, dual separating triangles form an obstacle to embedding. Additionally, our new results use a structure closely related to a regular edge labeling, with three edge colors rather than two, although the local constraints on colorings and orientations are different than in the two dimensional case.
Schnyder [55] developed algorithms for embedding planar graphs with the vertices on an integer grid, but with edges of arbitrary slopes, based on the concept now known as a Schnyder wood, a (nonproper) 3coloring of the edges of a maximal planar graph together with an orientation on each edge, with constraints about how the colors and orientations must be arranged at each vertex. Felsner and Zickfeld [31] study geometric representations of Schnyder woods as orthogonal surfaces that are very similar to the corner polyhedra we study here. Their representation provides an embedding of the input graph onto the surface found by their representation, but the edges of the embedding do not in general follow the edges of the orthogonal surface. Our results on corner polyhedra also involve colorings and orientations of maximal planar graphs (the dual graphs of the graphs we wish to represent), and our impetus for considering this sort of combinatorial data on a graph came from these two papers as well as from the work on twodimensional rectangular representations and regular edge labelings. However there seems to be no direct connection between our results and the results of Schnyder, Felsner, and Zickfeld: our colorings are proper and our orientations do not form Schnyder woods, our polyhedral representation is not of the colored and oriented graph but of its dual, and unlike Felsner and Zickfeld we develop a polyhedral representation of a graph in which the graph edges and the polyhedron edges coincide.
More generally there has been a large body of research on planar and spatial embeddings of graphs on lowdimensional grids, or otherwise having a small number of edge slopes. Much of this work allows the edges of the graph to bend in order to follow the edges of the grid, and seeks to minimize the number of bends [2, 42, 57, 61, 62]; as we show, for the graphs of corner polyhedra, isometrically projection leads to a hexagonal grid drawing with three slopes and only two bends, improving a bound of three bends by Kant [42] which however applies more generally to all 3connected cubic planar graphs. Graph drawing researchers have also studied the slope number of a graph, the minimum number of distinct edge slopes needed to draw the graph in the plane with straight line edges and no bends [22, 23, 50, 44, 49]. Every graph of an orthogonal polyhedron, and every graph, has slope number three, since a threedimensional orthogonal representation may be transformed into a planar drawing with three slopes (allowing edge crossings) by axonometric projection. However, not every graph with slope number three comes from an orthogonal drawing in this way; for instance, has slope number 3 but has no orthogonal drawing, as does Fig. 5.
Both graphs and our polyhedral representations can be viewed as embedding the given graph onto the threedimensional integer grid, with axisaligned edges that can have arbitrary lengths. Embedding a graph onto a grid with unitlength edges is NPcomplete [6]. Embeddings with unit length edges that additionally preserve distances between vertices farther than one unit apart can be found in polynomial time, when they exist, for two and threedimensional integer lattices [25] and hexagonal and diamond lattices [27], but the graphs that have such embeddings (the partial cubes) form a restricted subclass of all graphs. The embeddings we consider in this paper only apply to cubic (3regular) graphs, and of the infinitely many known cubic partial cubes all but one (the Desargues graph) are bipartite polyhedral graphs [26], and may therefore be represented as orthogonal polyhedra using the algorithms we describe here.
A hint that care is needed in defining orthogonal polyhedra is given by Donoso and O’Rourke [21]. As they show, spherical and toroidal polyhedra in which all faces are rectangles (even allowing adjacent faces to be coplanar) must also have all faces and edges axisparallel for some orientation of the polyhedron, but there exist highergenus polyhedra with rectangular faces that have more than three edge orientations. Biedl et al. [7] define two interesting subclasses of orthogonal polyhedra, which they call orthostacks and orthotubes; they also consider orthogonal polyhedra that are somewhat more general than ours, in that they allow the graph of the polyhedron to be disconnected (resulting in faces that are not simple polygons) while we do not.
The bipartite cubic polyhedral graphs and their dual graphs, the Eulerian triangulations, have also been studied independently of their geometric representations, in connection with Barnette’s conjecture that all bipartite cubic polyhedral graphs are Hamiltonian [4]. Batagelj, Brinkmann and McKay [5, 10] described a method for reducing any Eulerian triangulation to a simpler graph in the same class, based on which Brinkmann and McKay show how to efficiently generate all sufficiently small Eulerian triangulations; they also generate 4connected Eulerian triangulations by filtering them from the larger set of all Eulerian triangulations. Our proof that 4connected Eulerian triangulations are dual to corner polyhedra uses a different reduction scheme that remains within the class of 4connected Eulerian triangulations.
3 Corner polyhedra and rooted cycle covers
As stated in the introduction, we define a corner polyhedron to be a simple orthogonal polyhedron with the additional property that three faces (the back faces) are oriented towards the vector , and all remaining faces (the front faces) are oriented towards the vector . The three back faces necessarily share a vertex, the hidden vertex. Parallel projection of a corner polyhedron onto a plane perpendicular to the vector gives rise to a drawing, the socalled isometric projection, in which the axisparallel edges of the threedimensional polyhedron are mapped to three sets of parallel lines that form angles of with respect to each other; see Fig. 4 (left) for an example. If the edges of the corner polyhedron have integer lengths, the resulting isometric projection is a drawing of all of the vertices of the polyhedron, except the hidden vertex, on the hexagonal lattice. It is possible to include the hidden vertex as well by connecting it to its three neighbors by lattice paths, one of which is straight and the other two have one bend each; the resulting drawing of the whole graph has two bends.
In an isometric drawing of a corner polyhedron, none of the faces can have an interior angle of , for any simple orthogonal polyhedron with such a projected angle would have more than three back faces. Additionally, each face (being the projection of a planar orthogonal polygon) has edges of only two of the three possible slopes. Therefore, each face of the drawing has the shape of a double staircase: there are two vertices at which the interior angle is , and the two sequences of interior angles on the paths between these vertices alternate between interior angles of and . (Conversely, it follows by Thurston’s results on height functions [59] that a drawing in the hexagonal lattice for which all faces have this shape comes from a threedimensional orthogonal surface.) Because a simple orthogonal polyhedron forms a planar graph in which all faces have an even number of edges, it must be bipartite; one of its two color classes consists of the vertices having sharp face angle, and the other color class contains all the other vertices.
The twotoone correspondence between interior faces and vertices with sharp angles gives rise to an important structure on the graph of the polyhedron, which we find simpler to describe in terms of its dual graph. The dual graph of a corner polyhedron (as with a bipartite cubic polyhedral graph more generally) is an Eulerian triangulation, a maximal planar graph in which every vertex has even degree. It has a unique planar embedding, for which all the faces are triangles; the triangles may be twocolored so that the two triangles that share each edge have different colors. Within each interior face of the projected corner polyhedron, we connect the dual vertex to its two sharp corners. The result of forming these connections is a structure that we call a rooted cycle cover: a set of vertexdisjoint cycles in the dual Eulerian triangulation, that cover every dual vertex except for the three vertices of the root triangle dual to the hidden vertex, and that include exactly one edge from every triangle with the same color as the root triangle. Conversely, as we show, every rooted cycle cover of an Eulerian triangulation gives rise to a corner polyhedron representation of its dual graph. This equivalence between a combinatorial structure (a rooted cycle cover) and a geometric structure (a corner polyhedron) is a key component of our characterization of the graphs of corner polyhedra.
Specifically, we prove the following results:
Theorem 3.1
A graph can be represented as a corner polyhedron, with a specified vertex as the single hidden vertex, if and only if the dual graph of has a cycle cover rooted at the triangle dual to .
Theorem 3.2
If is a cubic bipartite polyhedral graph with a 4connected dual, then it can be represented as a corner polyhedron.
If is an Eulerian triangulation (the dual to a cubic bipartite planar graph), with a chosen root triangle , then we may uniquely twocolor the triangles of so that any two adjacent triangles are adjacent. For any separating triangle of , this coloring will assign equal colors to the three triangles that are on the side of that does not contain and that are incident to one of the edges of . We say that has even parity if these three triangles have the same color as , and odd parity otherwise.
Theorem 3.3
If is a cubic bipartite graph with a non4connected dual, and is any vertex of , then has a corner representation for which is the hidden vertex if and only if all separating triangles have odd parity with respect to the root triangle dual to .
In the rest of this section, we provide a rough sketch of our proofs of the claims stated above. The detailed proof of Theorem 3.1 comprises Appendices II, III, and IV, the proof of Theorem 3.2 is in Appendices V and VI, and the proof of Theorem 3.3 is in Appendix VII.
Given a corner polyhedron representation of a graph , we form a rooted cycle cover of the dual of as described above. The graph of the polyhedron has a unique 3edgecoloring given by the orientations of its edges. These colors may be carried over to the dual Eulerian triangulation , but in they do not form an edge coloring but rather a rainbow partition, a partition of the edges of into three monochromatic subgraphs such that each triangle of participates in each of these subgraphs. Each monochromatic subgraph must be biconnected, which implies that it can be oriented as an planar graph with the two terminals on the chosen root triangle. From the corner polyhedron representation we may also determine an orientation for each edge of based on which of the two adjacent primal faces is on which side of the edge in the isometric drawing; this orientation can be shown to be simultaneously planar in each monochromatic subgraph, and the requirement that each face of the corner polyhedron is a double staircase may be translated via planar duality into local consistency conditions on the orientations of the edges incident to each dual vertex.
Conversely, given a cycle cover, we can use it to define an orientation on the edges of the dual Eulerian triangulation, in which the orientations of the edges alternate around each vertex except within two triangles incident to the vertex, which both have the same color as the root triangle in the twocoloring of triangles dual to the bipartition of the input graph. We call a rainbow partition together with an orientation having this property a regular edge labeling. Based on this property, we can show that a regular edge labeling is simultaneously planar in each monochromatic subgraph, and that unions of two monochromatic subgraphs (with the orientation reversed in one of the two) are again planar. By numbering the vertices of each of these bichromatic subgraphs consistently with the planar orientation, and using these numbers as the coordinates of the face planes of , we may construct a representation of as a corner polyhedron. It follows from this construction that is the graph of a corner polyhedron if and only if has a rooted cycle cover.
We show that every 4connected Eulerian triangulation can be decomposed into smaller 4connected Eulerian triangulations using three operations: splitting the graph on a 4cycle, removing a pair of adjacent degreefour vertices, and collapsing two opposite edges of a degreefour vertex. We use this structure as the basis for a proof by induction that every 4connected Eulerian triangulation has a cycle cover. Therefore, by the above equivalence between cycle covers and corner polyhedron representations, every cubic bipartite graph with a 4connected dual can be represented as a corner polyhedron.
If a bipartite cubic graph does not have a 4connected dual, but all of its separating triangles have odd parity, we may split the dual graph at all of its separating triangles, find a cycle cover separately for each subgraph created by this splitting process, and form a cycle cover of the original graph as the union of these separate cycle covers. On the other hand, if there exists a separating triangle with the same parity as the chosen root vertex, we show that no cycle cover can exist.
4 polyhedra
In our previous paper [28] we defined an graph to be a cubic graph embedded in three dimensional space, with axis parallel edges, such that the line through each edge passes through no other vertices of the graph. We can extend this definition to an polyhedron, a simple orthogonal polyhedron whose skeleton forms an graph. Alternatively, we can consider a weaker definition: a singlyintersecting simple orthogonal polyhedron is a simple orthogonal polyhedron with the property that, for any two faces with a nonempty intersection, their intersection is a single line segment. Geometrically, the intersection of two faces lies along the line of intersection of their planes, so a singlyintersecting polyhedron must be an polyhedron, but not necessarily vice versa. However, the graphs of the two classes of polyhedra are the same: by perturbing the face planes of a singlyintersecting polyhedron, one may obtain an polyhedron that represents the same graph.
As we showed in our previous paper, a planar graph must be 3connected and bipartite, and the same results hold for polyhedra. Our main result is a converse to this:
Theorem 4.1
The following three classes of graphs are equivalent:

Cubic 3connected bipartite planar graphs,

Graphs of polyhedra, and

Graphs of singlyintersecting simple orthogonal polyhedra.
The idea of the proof is to use induction on the number of separating triangles in the dual Eulerian triangulation. If there are no separating triangles, the given graph has a corner polyhedron representation and we are done. Otherwise, we find a separating triangle that splits the dual graph into two smaller Eulerian triangulations, one of them fourconnected. By induction, the other one has a polyhedral representation, and we can replace one vertex of this polyhedron by a very small copy of a corner polyhedron representing the other split component, forming a representation of the overall polyhedron.
The repeated replacement of polyhedron vertices by small corner polyhedra may eventually lead to features of exponentially small size, but this issue can be sidestepped by replacing the coordinates of the faces by small integers, leading to a polyhedral representation in which all vertex coordinates are integers in the interval .
The full proof is in Appendix VIII.
5 Simple orthogonal polyhedra
As can be seen in Fig. 1 (right), the graph of an arbitrary simple orthogonal polyhedra may not always be 3connected, although it is always 2connected. Pairs of faces of the polyhedron may meet in multiple edges, and the removal of any two of these edges (or the removal of endpoints from any two of these edges) leaves a disconnected graph. Therefore, there exist graphs simple orthogonal polyhedra that are not graphs of polyhedron, and we need to use a more general class of graphs to characterize the simple orthogonal polyhedra. Replacing the 3connectivity condition in the characterization of polyhedra by 2connectivity would be too general, however. Not every 2connected bipartite 3regular graph is the graph of a simple orthogonal polyhedron; for instance, the graph depicted in Fig. 5 is not the graph of a simple orthogonal polyhedron, as the results in this section will show.
Instead, our characterization uses the SPQR tree, a standard tool for representing the planar embeddings of a graph in terms of its triconnected components [48, 39, 18, 19, 35]. The triconnected components of a graph may be multigraphs rather than simple graphs; for instance, the graph shown in Fig. 5 has seven triconnected components: three cubes (the R nodes of an SPQR tree), three 4cycles (the S nodes of an SPQR tree), and a multigraph with two vertices and three edges (the P node of an SPQR tree).
Theorem 5.1
The following three classes of graphs are equivalent:

Cubic 2connected graphs in which every triconnected component is either a bipartite polyhedral graph or an even cycle,

Bipartite cubic planar graphs in which the removal of any two vertices leaves at most two connected components (counting an edge between the two vertices as a component, if one exists), and

Graphs of simple orthogonal polyhedra.
For instance, the graph of Fig. 5 cannot be the graph of a simple orthogonal polyhedron, because removing its top and bottom vertex leaves three connected components, and because it has a multigraph as one of its triconnected components.
The main idea of the proof of Theorem 5.1 (in Appendix IX) is to decompose the graph into triconnected components. In one direction, we show that when a simple orthogonal polyhedron is decomposed into triconnected components, each noncyclic component inherits a (nonpolyhedral) geometric embedding based on which we can rule out the possibility that any component forms a P node in the SPQR tree. In the other direction, when we are given a graph in which each triconnected component has the stated form, we represent each bipartite polyhedral triconnected component as a simple orthogonal polyhedron using the results of the previous section, and use the even cycles in the SPQR tree to guide a sequence of gluing steps that combine each of these polyhedral pieces into a single polyhedron that represents the whole graph. Our proof technique leads to a stronger result: if is the graph of a simple orthogonal polyhedron, then every planar embedding of can be represented as a simple orthogonal polyhedron.
6 Algorithms
Below we outline an algorithm that takes a 2connected cubic planar graph as an input and embeds it as a simple orthogonal polyhedron, when such a representation exists. The algorithms for taking as input a 3connected graph and representing it either as an polyhedron or as a corner polyhedron, when such a representation exists, are similar but with fewer steps.

Decompose the graph into its triconnected components, as represented by an SPQR tree, in linear time [35, 39]. Check that the SPQR tree does not contain any P nodes (triconnected components that are multigraphs rather than simple graphs). If it does, report that no orthogonal polyhedral representation exists and abort the algorithm.

Transform each atom (triconnected component that is not a cycle) into its dual Eulerian triangulation, using a linear time planar embedding algorithm [40]. If any atom is nonplanar or has a nonEulerian dual, report that no orthogonal polyhedral representation exists and abort the algorithm.

Recursively decompose each 4connected Eulerian triangulation into simpler 4connected Eulerian triangulations using separating 4cycles, pairs of adjacent degree4 vertices, and isolated degree4 vertices. While returning from the recursion, undo the steps of the decomposition and build a cycle cover for the Eulerian triangulation.

Convert the cycle covers into regular edge labelings by a simple local pattern matching rule.

For each pair of colors and in the rainbow partition, construct the subgraph formed by edges with those two colors, oriented by reversing the orientations of one of the two colors from the orientation given by the regular edge labeling, and find an numbering of each such graph using breadthfirst search.

For each graph dual to one of the 4connected Eulerian triangulations, use the numbering to construct a representation of the graph as a corner polyhedron: the coordinates of each vertex of the corner polyhedron are triples of numbers from the numbering, one from each of the three bichromatic subgraphs of .

Glue the corner polyhedra together to form orthogonal polyhedra dual to each non4connected Eulerian triangulation. In order to perform this step and the next one efficiently, we represent vertex coordinates implicitly throughout these steps, as positions within a doubly linked list, and after the gluing is completed convert these implicit positions back into numeric values.

Glue 3connected polyhedra together to form arbitrary simple orthogonal polyhedra.
The algorithm needs expected time when implemented using randomized hash tables; deterministically, it can be implemented to run in time with linear space. The most complicated step, and the only step that uses more than deterministic running time, is the one in which we decompose each 4connected Eulerian triangulation into simpler 4connected Eulerian triangulations; this step uses a data structure for testing adjacency of pairs of vertices in a dynamic plane graph. If the adjacency testing data structure is implemented using linearspace deterministic integer searching data structures [1], the total running time is , whereas if it is implemented using hash tables, the total expected running time is .
Theorem 6.1
We may construct a representation of a given graph as a corner polyhedron, polyhedron, or simple orthogonal polyhedron, when such a representation exists, in randomized expected time, or deterministically in time with linear space.
Detailed descriptions of each step together with the running time analyses are given in Appendix X.
7 Conclusions
We have defined three interesting classes of orthogonal polyhedra, and provided exact graphtheoretic characterizations of the graphs that may be represented by these polyhedra. In particular, every bipartite cubic polyhedral graph has a representation as an orthogonal polyhedron.
The following problems remain open for additional investigation:

Corner polyhedra are orthogonally convex, and orthogonally convex simple polyhedra may be represented as polyhedra, so the orthogonally convex simple polyhedra are sandwiched between two of the classes of polyhedron that we can precisely characterize and for which we provide polynomial time recognition algorithms. However, not every bipartite cubic polyhedral graph has an orthogonally convex representation: if enough dual separating triangles share edges with each other, they may interfere with each other and force any orthogonal polyhedral representation to be nonconvex (Fig. 6). Is there a simple condition on the position of the dual separating triangles that characterizes orthogonally convex simple orthogonal polyhedra, and can we test this condition in polynomial time?

The orthostacks defined by Biedl et al. [7] are also intermediate between corner polyhedra and polyhedra. Can we characterize their graphs?

Our results hold only for orthogonal polyhedra with three perpendicular edges at each vertex. What if we relax this requirement, and either allow edges to be nonperpendicular (as in the bidiakis cube, Fig. 2, center) or to have more than three edges per vertex (Fig. 2, left). In this case, as the figures show, the graph of the polyhedron does not need to be bipartite. Is there some way of replacing problematic vertices by small subgraphs in which all vertices have degree three and all edges are perpendicular, allowing the methods from this paper to apply?

Given the hardness of nonplanar graph recognition [28] it seems likely that it will also be difficult to determine whether a given graph is the graph of an orthogonal polyhedron with nonzero genus (Fig. 2, right), but what about graphs for which an graph representation is already known? In that case, how difficult is it to detemine whether the faces of the representation can be untangled to form a polyhedral representation?

Although we provided a linear time algorithm for finding orthogonal polyhedron representations, its constant factors are large (one case involves up to 1225 adjacency tests). Additionally, while not an obstacle for practical implementation, the need for hashing based data structures in order to achieve linear time is a theoretical irritation. Is there a simple deterministic linear time algorithm for finding cycle covers in 4connected Eulerian triangulations?
Acknowledgements
Work of David Eppstein was supported in part by NSF grant 0830403 and by the Office of Naval Research under grant N000140811015. We thank Patrizio Angelini, Mike Dillencourt, Fabrizio Frati, Mike Goodrich, Maarten Löffler, and Brendan McKay for helpful conversations related to the subject of this paper.
References
 [1] A. A. Andersson and M. Thorup. Tight(er) worstcase bounds on dynamic searching and priority queues. Proc. 32nd ACM Symp. Theory of Computing (STOC 2000), pp. 335–342, 2000, doi:10.1145/335305.335344.
 [2] S. Aziza and T. Biedl. Hexagonal grid drawings: algorithms and lower bounds. Proc. 12th Int. Symp. Graph Drawing (GD 2004), pp. 18–24. SpringerVerlag, Lecture Notes in Computer Science 3383, 2005.
 [3] M. L. Balinski. On the graph structure of convex polyhedra in space. Pacific J. Math. 11(2):431–434, 1961, http://projecteuclid.org/euclid.pjm/1103037323.
 [4] D. W. Barnette. Conjecture 5. Recent Progress in Combinatorics, p. 343. Academic Press, 1969.
 [5] V. Batagelj. An improved inductive definition of two restricted classes of triangulations of the plane. Combinatorics and Graph Theory, Warsaw, 1987, pp. 11–18. PWN, Banach Center Publ. 25, 1989.
 [6] S. Bhatt and S. Cosmodakis. The complexity of minimizing wire lengths in VLSI layouts. Inform. Proc. Lett. 25:263–267, 1987, doi:10.1016/00200190(87)901736.
 [7] T. Biedl, E. Demaine, M. Demaine, A. Lubiw, M. Overmars, J. O’Rourke, S. Robbins, and S. Whitesides. Unfolding some classes of orthogonal polyhedra. Proc. 10th Canadian Conference on Computational Geometry (CCCG’98), 1998, http://erikdemaine.org/papers/CCCG98b/.
 [8] T. Biedl and B. Genc. When can a graph form an orthogonal polyhedron? Proc. 16th Canadian Conf. Computational Geometry (CCCG 2004), pp. 53–56, 2004, http://www.cccg.ca/proceedings/2004/15.pdf.
 [9] T. Biedl and B. Genc. Cauchy’s theorem for orthogonal polyhedra of genus 0. Proc. 17th European Symp. Algorithms (ESA 2009), pp. 71–83. SpringerVerlag, Lecture Notes in Computer Science 5757, 2009, doi:10.1007/9783642041280_7, http://www.cs.uwaterloo.ca/research/tr/2008/CS200826.ps.
 [10] G. Brinkmann and B. D. McKay. Fast generation of planar graphs. Communications in Mathematical and in Computer Chemistry 58(2):323–357, 2007, http://cs.anu.edu.au/people/bdm/papers/plantrifull.pdf.
 [11] M. Bruls, K. Huizing, and J. J. van Wijk. Squarified treemaps. Data Visualization 2000: Proc. Joint Eurographics and IEEE TCVG Symp. on Visualization, pp. 33–42. SpringerVerlag, 2000, http://www.win.tue.nl/~vanwijk/stm.pdf.
 [12] A. L. Cauchy. Sur les polygones et polyèdres. J. École Polytechnique 19:87–98, 1813.
 [13] N. Chiba and T. Nishizeki. Arboricity and subgraph listing algorithms. SIAM J. Comput. 14(1):210–223, 1985, doi:10.1137/0214017.
 [14] M. Chrobak and D. Eppstein. Planar orientations with low outdegree and compaction of adjacency matrices. Theoretical Computer Science 86(2):243–266, September 1991, doi:10.1016/03043975(91)900203.
 [15] R. Connelly. A counterexample to the rigidity conjecture for polyhedra. Pub. Math. de l’IHÉS 47:333–338, 1977, doi:10.1007/BF02684342.
 [16] R. Connelly, I. Sabitov, and A. Walz. The bellows conjecture. Beiträge Algebra Geom. 38:1–10, 1997, http://www.emis.de/journals/BAG/vol.38/no.1/1.html.
 [17] A. Császár. A polyhedron without diagonals. Acta Sci. Math. Szeged 13:140–142, 1949.
 [18] G. Di Battista and R. Tamassia. Incremental planarity testing. Proc. 30th Symp. Foundations of Computer Science (FOCS 1989), pp. 436–441, 1989, doi:10.1109/SFCS.1989.63515.
 [19] G. Di Battista and R. Tamassia. Online graph algorithms with SPQRtrees. Proc. 17th Internat. Colloq. Automata, Languages and Programming (ICALP 1990), pp. 598–611. SpringerVerlag, Lecture Notes in Computer Science 443, 1990, doi:10.1007/BFb0032061.
 [20] M. B. Dillencourt and W. D. Smith. Graphtheoretical conditions for inscribability and Delaunay realizability. Discrete Math. 161(1–3):63–77, 1996, doi:10.1016/0012365X(95)002763.
 [21] M. Donoso and J. O’Rourke. Nonorthogonal polyhedra built from rectangles, arXiv:cs/0110059. Electronic preprint, 2001.
 [22] V. Dujmović, D. Eppstein, M. Suderman, and D. R. Wood. Drawings of planar graphs with few slopes and segments. 38(3):194–212, 2007, doi:10.1016/j.comgeo.2006.09.002, arXiv:math/0606450.
 [23] V. Dujmović, M. Suderman, and D. R. Wood. Graph drawings with few slopes. Computational Geometry Theory & Applications 38(3):181–193, 2007, doi:10.1016/j.comgeo.2006.08.002, arXiv:math/0606446.
 [24] C. F. Earl and L. J. March. Architectural applications of graph theory. Applications of Graph Theory, pp. 327–355. Academic Press, 1979.
 [25] D. Eppstein. The lattice dimension of a graph. Eur. J. Combinatorics 26(5):585–592, July 2005, doi:10.1016/j.ejc.2004.05.001, arXiv:cs.DS/0402028.
 [26] D. Eppstein. Cubic partial cubes from simplicial arrangements. Electronic J. Combinatorics 13(1, R79):1–14, September 2006, arXiv:math.CO/0510263, http://www.combinatorics.org/Volume_13/Abstracts/v13i1r79.html.
 [27] D. Eppstein. Isometric diamond subgraphs. Proc. 16th Int. Symp. Graph Drawing (GD 2008), pp. 384–389. SpringerVerlag, Lecture Notes in Computer Science 5417, 2008, doi:10.1007/9783642002199_37, arXiv:0807.2218.
 [28] D. Eppstein. The topology of bendless threedimensional orthogonal graph drawing. Proc. 16th Int. Symp. Graph Drawing (GD 2008), pp. 78–89. SpringerVerlag, Lecture Notes in Computer Science 5417, 2008, doi:10.1007/9783642002199_9, arXiv:0709.4087.
 [29] D. Eppstein and E. Mumford. Orientationconstrained rectangular layouts. Proc. Algorithms and Data Structures Symposium (WADS 2009), pp. 266–277. SpringerVerlag, Lecture Notes in Computer Science 5664, 2009, arXiv:0904.4312.
 [30] D. Eppstein, E. Mumford, B. Speckmann, and K. A. B. Verbeek. Areauniversal rectangular layouts. Proc. 25th ACM Symp. Comp. Geom., pp. 267–276, 2009, doi:10.1145/1542362.1542411, arXiv:0901.3924.
 [31] S. Felsner and F. Zickfeld. Schnyder woods and orthogonal surfaces. Discrete and Computational Geometry 40(1):103–126, 2008, doi:10.1007/s0045400790279, http://ftp.math.tuberlin.de/~felsner/Paper/swaos.pdf.
 [32] É. Fusy. Transversal structures on triangulations, with application to straightline drawing. Proc. 13th Int. Symp. Graph Drawing (GD 2005), pp. 177–188. SpringerVerlag, Lecture Notes in Computer Science 3843, 2006, doi:10.1007/11618058_17, http://algo.inria.fr/fusy/Articles/FusyGraphDrawing.pdf.
 [33] É. Fusy. Transversal structures on triangulations: A combinatorial study and straightline drawings. Discrete Mathematics 309(7):1870–1894, 2009, doi:10.1016/j.disc.2007.12.093, arXiv:math/0602163.
 [34] B. Grünbaum. Convex Polytopes. Graduate Texts in Mathematics 221. SpringerVerlag, 2nd edition, 2003.
 [35] C. Gutwenger and P. Mutzel. A linear time implementation of SPQRtrees. Proc. 8th Int. Symp. Graph Drawing (GD 2000), pp. 77–90. SpringerVerlag, Lecture Notes in Computer Science 1984, 2001.
 [36] P. J. Heawood. On the fourcolour map theorem. Quarterly J. Pure Appl. Math. 29:270–285, 1898.
 [37] C. D. Hodgson, I. Rivin, and W. D. Smith. A characterization of convex hyperbolic polyhedra and of convex polyhedra inscribed in the sphere. Bull. Amer. Math. Soc. 27:246–251, 1992, doi:10.1090/S027309791992003038.
 [38] S.H. Hong and H. Nagamochi. Extending Steinitz’ Theorem to Nonconvex Polyhedra. Tech. Rep. 2008012, Department of Applied Mathematics & Physics, Kyoto University, 2008, http://www.amp.i.kyotou.ac.jp/tecrep/abst/2008/2008012.html.
 [39] J. Hopcroft and R. Tarjan. Dividing a graph into triconnected components. SIAM J. Comput. 2(3):135–158, 1973, doi:10.1137/0202012.
 [40] J. Hopcroft and R. Tarjan. Efficient Planarity Testing. J. ACM 21(4):549–568, 1974, doi:10.1145/321850.321852.
 [41] D. A. Huffman. Impossible objects as nonsense sentences. Machine Intelligence 6, pp. 295–323. Edinburgh University Press, 1971.
 [42] G. Kant. Hexagonal grid drawings. Proc. Int. Worksh. GraphTheoretic Concepts in Computer Science, pp. 263–276. SpringerVerlag, Lecture Notes in Computer Science 657, 1993, doi:10.1007/3540564020_53.
 [43] G. Kant and X. He. Regular edge labeling of 4connected plane graphs and its applications in graph drawing problems. Theoretical Computer Science 172(1–2):175–193, 1997, doi:10.1016/S03043975(95)00257X.
 [44] B. Keszegh, J. Pach, D. Pálvölgyi, and G. Tóth. Drawing cubic graphs with at most five slopes. Computational Geometry Theory & Applications 40(2):138–147, 2008, doi:10.1016/j.comgeo.2007.05.003, http://www.math.nyu.edu/~pach/publications/SlopeDegThree041607.pdf.
 [45] L. M. Kirousis and C. H. Papadimitriou. The complexity of recognizing polyhedral scenes. Journal of Computer and System Sciences 37(1):14–38, 1988, doi:10.1016/00220000(88)900438, http://lca.ceid.upatras.gr/~kirousis/publications/j29.pdf.
 [46] K. Koźmiński and E. Kinnen. Rectangular duals of planar graphs. Networks 5(2):145–157, 1985, doi:10.1002/net.3230150202.
 [47] M. Löffler and E. Mumford. Connected rectilinear graphs on point sets. Proc. 16th Int. Symp. Graph Drawing (GD 2008), pp. 313–318. SpringerVerlag, Lecture Notes in Computer Science 5417, 2008, doi:10.1007/9783642002199_30, http://www.cs.uu.nl/research/techreps/repo/CS2008/2008028.pdf.
 [48] S. Mac Lane. A structural characterization of planar combinatorial graphs. Duke Math. J. 3(3):460–472, 1937, doi:10.1215/S0012709437003363.
 [49] P. Mukkamala and M. Szegedy. Geometric representation of cubic graphs with four directions. Computational Geometry Theory & Applications 42(9):842–851, 2009, doi:10.1016/j.comgeo.2009.01.005, http://www.cs.rutgers.edu/~szegedy/PUBLICATIONS/paper_padmini.pdf.
 [50] J. Pach and D. Pálvölgyi. Bounded degree graphs can have arbitrarily large slope numbers. Electronic Journal of Combinatorics 13(1), 2006, http://www.combinatorics.org/Volume_13/PDF/v13i1n1.pdf.
 [51] M. S. Rahman, T. Nishizeki, and M. Naznin. Orthogonal drawings of plane graphs without bends. J. Graph Algorithms & Applications 7(4):335–362, 2003, http://jgaa.info/accepted/2003/Rahman+2003.7.4.pdf.
 [52] E. Raisz. The rectangular statistical cartogram. Geographical Review 24(2):292–296, 1934, doi:10.2307/208794.
 [53] I. Rinsma. Rectangular and orthogonal floorplans with required rooms areas and tree adjacency. Environment and Planning B: Planning and Design 15:111–118, 1988.
 [54] I. Rivin. A characterization of ideal polyhedra in hyperbolic 3space. Annals of Mathematics 143(1):51–70, 1996, doi:10.2307/2118652.
 [55] W. Schnyder. Embedding planar graphs on the grid. Proc. 1st ACMSIAM Symp. Discrete Algorithms, pp. 138–148, 1990.
 [56] E. Steinitz. Polyeder und Raumeinteilungen. Encyclopädie der mathematischen Wissenschaften, Band 3 (Geometries), pp. 1–139, 1922.
 [57] R. Tamassia. On embedding a graph in the grid with the minimum number of bends. SIAM J. Comput. 16(3):421–444, 1987, doi:10.1137/0216030.
 [58] R. Tarjan. Depth first search and linear graph algorithms. SIAM J. Comput. 1(2):146–160, 1972, doi:10.1137/0201010.
 [59] W. P. Thurston. Conway’s tiling groups. Amer. Mathematical Monthly 97(8):757–773, 1990, doi:10.2307/2324578.
 [60] D. Waltz. Understanding line drawings of scenes with shadows. The Psychology of Computer Vision, pp. 19–91. McGrawHill, 1975.
 [61] D. R. Wood. Lower bounds for the number of bends in threedimensional orthogonal graph drawings. J. Graph Algorithms & Applications 7(1):33–77, 2003, http://jgaa.info/accepted/2003/Wood2003.7.1.pdf.
 [62] D. R. Wood. Optimal threedimensional orthogonal graph drawing in the general position model. Theoretical Computer Science 299(1–3):151–178, 2003, doi:10.1016/S03043975(02)000440, http://www.ms.unimelb.edu.au/~woodd/papers/WoodTCS03.pdf.
 [63] G. K. H. Yeap and M. Sarrafzadeh. Sliceable floorplanning by graph dualization. SIAM Journal of Discrete Mathematics 8(2):258–280, 1995, doi:10.1137/S0895480191266700.
 [64] G. M. Ziegler. Lectures on Polytopes. Graduate Texts in Mathematics 152. SpringerVerlag, Berlin, Heidelberg, and New York, 1995.
Appendix I: Eulerian triangulations
Our proofs require several technical lemmas about the 3connected cubic planar graphs and their duals, the Eulerian triangulations, that we collect here.
We begin with a standard property of bipartite planar graphs. As is standard when discussing planar graphs, we refer to a graph together with a fixed planar embedding of the graph as a plane graph.
Lemma 1
A plane graph is bipartite if and only if each face of the embedding of has an even number of edges.
Proof
If has an odd face, it is obviously not bipartite, as it contains an odd cycle formed from the face. Suppose on the other hand that all faces of are even, and let be any cycle in . By the Jordan curve theorem, separates into an interior and an exterior. The number of edges (modulo 2) in is the sum of the number of edges (modulo 2) of each of the faces of in the interior of , because each edge of belongs to one interior face and contributes one to this sum while each edge that is in the interior of belongs to two interior faces and is cancelled from the sum when the lengths of both faces are added modulo 2. But because each face in is even, the sum of the interior faces to is even and therefore itself is even; as a graph in which all cycles are even, is bipartite.
An Eulerian graph is a graph with an Euler tour; that is, a connected graph for which all vertex degrees are even. We define an Eulerian triangulation to be a maximal planar graph that is Eulerian.
Lemma 2
A plane graph is bipartite if and only if its dual graph is Eulerian. A plane graph is 3connected, 3regular, and bipartite if and only if its dual graph is an Eulerian triangulation.
Proof
The duality of being bipartite and being Eulerian follows immediately from Lemma 1.
Consider a plane graph that is 3connected, 3regular, and bipartite. Let be its dual graph. Then is a simple graph rather than a multigraph, by the 3connectedness of : a selfloop or a pair of multiple edges between two vertices in would correspond to a singlevertex or twovertex cut in . Every face of is a triangle, from the 3regularity of . Thus, is a maximal planar graph. And every face of has an even number of edges, from which it follows that is Eulerian.
In the other direction, if is an Eulerian triangulation, then its dual graph is clearly bipartite and 3regular. We are left to show that if is an Eulerian triangulation then is 3connected Assume is not 3connected. Then there exists either a vertexcut or a cutvertex in . In the former case we have an edge of and an edge of that are adjacent to the same pair of faces of —see Fig. 7, left. In the latter case has an edge that is adjacent to exactly one face—see Fig. 7, right. Thus contains either a 2cycle or a loop, which contradicts the assumption that is a triangulation.
Let be a 3connected, 3regular, bipartite plane graph. The bipartiteness of allows us to twocolor its vertices in such a way that adjacent vertices are assigned different colors. This naturally induces a twocoloring of faces of . In this paper we assume that the chosen colors are white and blue and the coloring is such that the outer face of is white.
Furthermore, every 3connected bipartite cubic planar graph has a 3facecoloring that is unique up to permutations of the colors [36]. If we assign each edge of the graph the color that is not used by its two adjacent faces, the result is a 3edgecoloring of in which the edges of each face alternate between two edge colors, and two adjacent faces have edges that alternate between two different pairs of colors [28]. We may carry the same color assignment over into the dual graph, ; however, it will not form an edge coloring of , but rather will partition the edges of into three color classes with the properties that every triangle of has an edge of each of the three colors, each vertex of has edges that alternate in cyclic order between two colors, and any two adjacent vertices in have edges that alternate between different pairs of colors. We call such an edge partition of a rainbow partition to indicate the properties that it is not itself an edge coloring but that each triangle has a rainbow coloring in which all three colors are used. However, we also include the alternation of colors around each vertex of as one of the defining properties of a rainbow partition.
Lemma 3
Let be the subgraph of an Eulerian triangulation formed by the edges of a single color , in a rainbow partition of . Then is biconnected.
Proof
Assume without loss of generality that is induced by red edges.
We start with showing that is connected. Consider any two vertices in . Let be a path between and in , such that at least one edge of that path is not red. We will show that we can construct a path between and in . If and are adjacent in , their shared edge must be red, because of the property that the edges incident to and to alternate between different pairs of colors both of which include red. Otherwise, we can assume that contains more than one edge. Direct the edges of from to . Let be the first vertex on such that the outgoing edge is not red (say, blue), and let be the vertex after on . does not have any red edges (otherwise a face formed by , and their common neighbor would have 2 red edges). Hence (a) (because is not in and is), and (b) the neighbors of form a cycle of red edges. We use this red cycle to detour around until we hit the next vertex of . More precisely, we replace the path in by a simple subpath of the red cycle connecting and . We repeat the procedure until we arrive at —see Fig. 8 for an illustration.
Next we address 2connectivity of . We must show that, for any three vertices in there is a path from to that avoids . Since is connected, there is a simple path in connecting and . Assume that is also in , for otherwise we are done.
Let and be the neighbors of such that and belong to (possibly and/or ). Let be the set of neighbors of that lie between and on the same side of . Note that since the degree of each vertex in is at least 4, then at least on one side of we have . Then all edges , have the same color and this color is not red. Let it be green. Then for each vertex we have that its neighbors form a cycle of red edges in . We can detour the path starting at and traversing the neighbors of each of on the side of the path opposite to .
Thus removing any vertex from would not disconnect any pair , which implies that is 2connected.
Subsequently, we will refer to as a monochromatic subgraph of .
Lemma 4
Suppose is an Eulerian triangulation, with its edges colored in a rainbow partition, that contains a 4cycle . Then either all edges of have the same color or two colors, say red and blue, in the pattern .
Proof
We need to show that there exists no cycle with one of the following sequences of colors around the cycle: , , , . A cycle with one of the first three patterns would imply a path in colored , violating the requirement that and alternate between different pairs of colors. A cycle colored implies a path colored . Then the edges at alternate between blue and red. Since has a red edge but must alternate between a different pair of colors, it must alternate between colors green and red. But also has red and green edges, violating the requirement that adjacent vertices and alternate between different pairs of colors.
Our characterizations of corner polyhedra and the proof of our characterization of polyhedra both involve a careful study of the separating triangles in an Eulerian triangulation. We prove next some general facts that are needed in both cases.
Lemma 5
Let be an Eulerian triangulation, with its edges colored in a rainbow partition, and let be a separating triangle in . Then also has one edge of each color.
Proof
Let the three colors be red, blue, and green; recall that, at each vertex of , the incident edges in cyclic order around that vertex must alternate between two colors, and that no two adjacent vertices have the same two colors. Suppose for a contradiction that two edges of are red, and that their shared endpoint alternates between red and green edges (the other five color combinations are symmetric). Then the other two vertices of alternate red and blue, so the green edges inside and the green edges outside are connected only through a single articulation vertex, contradicting the biconnectivity of the monochromatic subgraphs of that we proved in Lemma 3.
Lemma 6
Let be an Eulerian triangulation, and let be a separating triangle in . Then the two maximal planar subgraphs of that are formed by splitting along the edges of are each themselves Eulerian.
Proof
Within each subgraph, each vertex of must have even degree due to the alternation at that vertex of the edge colors of a rainbow partition of and the fact (proved in Lemma 5) that the two edges of at that vertex have different colors in the rainbow partition. The degree of the vertices that are not part of must also be even because it is unchanged from the degree in , and we assumed that is Eulerian.
Appendix II: From corner polyhedra to cycle covers
We show that a corner polyhedron induces an interesting structure on its dual graph. But before we describe the structure lets look at some properties of the polyhedra that lead to it.
Let be a corner polyhedron and let be an isometric projection of its skeleton graph.
We define a normal to a face of to be a nontrivial vector that is perpendicular to and is directed towards the exterior of the polyhedron. We say that a face of is oriented towards vector if we have . We call a forward face if it is oriented towards the vector (i.e. faces whose normal has nonnegative coordinates), and we call it a back face otherwise. These notions of forward and back faces naturally carry over to the faces of the isometric projection of .
Lemma 7
Let be an arbitrary face of . Then for any internal angle of
Proof
Since is an isometric projection of a skeleton of an orthogonal polytope, every edge of is parallel to one of the three directions that pairwise form angle. In particular, the edges of the face have two of the three slopes, and adjacent edges have distinct slopes. Hence all we need to show to prove the lemma is that does not have as an inner angle.
Assume for a contradiction that there exists a pair of consecutive edges along forming an interior angle . We direct and away from their common vertex . Since one of the edges directed positively (w.r.t. the corresponding axis) and the other is directed negatively. Let be the third edge of adjacent to directed away from —see Fig. 10
If is the normal of —see Fig. 10 (left)—then the normal for face spanned by and is and the normal for is . Thus one of these normals is directed negatively, which contradicts the definition of a corner polyhedron. Otherwise if is the normal for —see Fig. 10(right)— the normals for and are and and we arrive at the same contradiction.
Lemma 8
Each face of has the shape of a double staircase: there are two vertices at which the interior angle is , and the two sequences of interior angles on the paths between these vertices alternate between interior angles of and .
Proof
First assume for a contradiction that there exists a face in that has no interior angle of . Since every edge of is parallel to the edge after the edge it is adjacent to in cyclic order around the face, the interior angles alternate values and around the face. Which makes an open polyline instead of a simple polygon.
Next, note that any face of has at least two interior angles of since all angles of need to sum up to , where is the number of vertices of .
Let and be two vertices of with interior angles . We say that these interior angles are oriented the same way, if when we orient edges forming the angles positively (according to positive direction of the corresponding axis), then for both vertices the interior of the face is to the right (to the left) side of the obtained directed path for both vertices.
Assume for a contradiction that there exists a third vertex with interior angle . Then at least two of these three angles are oriented the same way, which means that one of the paths connecting these two vertices contains an interior angle of . We arrive at a contradiction with Lemma 7.
Lemma 9
At each vertex of , there are either three angles of , or there is one angle of and two angles of .
Proof
By Lemma 8, the only allowable angles are , , and . These are the only ways for three angles with these values to add up to a total angle of .
Lemma 10
In the vertex twocoloring of , a vertex has the same color as the hidden vertex if and only if it has three angles of incident to it, and has the opposite color from the hidden vertex if and only if it has one angle of and two angles of incident to it.
Proof
Suppose that is an edge in , and let be a face containing edge . If has an angle of incident to it in , let be one of the three then by Lemma 8 it must be interior to one of the two chains of alternating and angles in , so the adjacent vertex must either have a angle in the same chain, or it must be one of the two vertices with angles of that ends the chain. If has an angle of in , it must be one of the two vertices with that angle in , and its adjacent vertex is one of the vertices with angles of in the chains connecting these two vertices. And if has an angle of in , it must be an intermediate vertex in one of the two chains forming and its neighbor must have an angle of . Thus in all cases the type of vertex is opposite that of vertex , so the partition of vertices according to the angles described by Lemma 9 must coincide with the twocoloring of .
It remains to show that the vertices with the angles of are the ones with the opposite color from the hidden vertex. But this is clearly true for the three neighbors of the hidden vertex, and because there is a unique twocoloring of the result follows for all its remaining vertices.
Now, construct a graph that has as its the vertices of that are adjacent to a angle. Let the edges of connect pairs of these vertices belonging to the same face.
Lemma 11
is a collection of vertex disjoint simple cycles.
Proof
The neighbors of a vertex in come from the angles of incident to in . By lemma 9, if there are any such angles there are exactly two of them.
What we actually interested in is not the cycle set itself but a structure dual to it, which we call a rooted cycle cover and denote .
We construct as follows. We subdivide every edge of , replacing it by a twoedge path whose middle vertex indicates the face whose angles the edge connects. Next we turn every twoedgepath between two new middle vertices by a single edge. By construction we obtain a collection of cycles isomorphic to —see Fig. 4, right.
Lemma 12
Let be the Eulerian triangulation dual to corner polyhedron . Then the vertex set of contains every interior vertex of , and the edge set of is a subset of edges of .
Proof
The interior vertices of correspond to the forward faces of . By Lemma 8 every forward face of has two interior angles, hence by construction contains every interior vertex of . By construction two vertices and of share an edge if and only if the corresponding faces and of have a common vertex, which in its turn (since is a cubic graph) means that and share an edge in or in other words and are adjacent in .
is a bipartite graph, and its vertex set has a unique (up to permutation of colors) 2coloring such that any two vertices sharing an edge are colored differently. This induces a face 2coloring of the dual graph of , an Eulerian triangulation . We adopt the convention that the color of the outer triangle is white and that the other triangle color is blue, as shown in our figures. Let be the outer face of .
Lemma 13
Every inner white triangle contains exactly one edge of .
Proof
By Lemma 10 an inner white triangle is dual to a vertex of where there is one angle and two angles. This triangle therefore contains exactly one edge, the edge connecting the two faces with the angles.
We define a rooted cycle cover more generally to be a structure with this form: a collection of cycles covering all of the interior vertices of that has exactly one edge in every inner white triangle of . The results of this section can be summarized as showing that any corner polyhedron gives rise to a rooted cycle cover on the dual graph, with the root triangle dual to the hidden vertex. As we will show in the subsequent sections, this combinatorial abstraction of the geometry of a corner polyhedron provides enough information to reconstruct another corner polyhedron for the same graph.
Appendix III: Regular edge labeling
A simple orthogonal polyhedron induces a rainbow partition for its dual graph , where each edge of gets its color based on the orientation of its dual axis parallel edge. Although is an undirected graph, we can use the lefttoright and bottomtotop orders of faces of to define a direction for each edge of . More precisely, we do the following. We orient every edge of positively (i.e. such that its only nontrivial coordinate is positive) and then orient the corresponding dual edge in such that it crosses its primal edge from left to right.
When is a corner polyhedron, this new labeling of by directions and colors combines the properties of the rainbow partition (the edges of every triangle of all have different colors, edges around each vertex of alternate between two colors in cyclic order, and any two adjacent vertices in have edges that alternate between different pairs of colors) with a similar alternation property for the directions of its edges:
Lemma 14
At each interior vertex of , all but two of the triangles incident to have one incoming and one outgoing edge; the two exceptional triangles are both white. The orientations of the edges at each exterior vertex alternate between incoming and outgoing.
Proof
According to Lemma 8 each face of the isometric projection of has two vertices with interior angles of connected by two paths each alternating its interior angles of and . In three dimensions, this means that each face of has two vertices connected by two paths of axisaligned edges that are monotone in each coordinate direction. Now let be the vertex of dual to . Any two dual edges incident to and consecutive in the cyclic ordering of edges incident to have different orientations with respect to if they are dual to edges in the same monotone path around and have the same orientation if they belong to different monotone paths—see Fig. 16 for an illustration.
Next we show that the two exceptional triangles adjacent to a vertex are both white in the twocoloring of . These two triangles correspond to vertices adjacent to angles, so this result follows immediately from Lemma 10.
Finally, label the three external vertices of , and depending on which direction the corresponding back face of is perpendicular to. Consider the vertex . The edges adjacent to correspond to the edges forming a monotone path around face . The edges of are oriented positively, hence all edges of one color adjacent to are oriented the same way, and edges of different colors have different orientations. Thus edges alternate orientations around . The same holds for and .
In analogy with regular edge labelings of dual graphs of rectangular layouts in two dimensions [43] that originate in a very similar manner we are going to call the structure with properties described above a regular edge labeling of Eulerian triangulation . That is, a regular edge labeling is an assignment of directions and colors to the edges of so that the colors form a rainbow partition, each exterior vertex of has edges with alternating directions, and each interior vertex of has edges that alternate directions except within two white triangles, where the directions of the edges at do not alternate.
Just as in the twodimensional case, we will eventually show that the correspondence between a polyhedron and a regular edge labeling of its dual graph works both ways—that is if we can construct a regular edge labeling for an Eulerian triangulation we can represent its dual as a simple orthogonal polyhedron and more specifically as a corner polyhedron. The following lemmas are necessary for demonstrating this correspondence.
Lemma 15
In a regular edge labeling, for every interior vertex one of the two exceptional white triangles has two incoming edges, and one of them has two outgoing edges.
Proof
If and are the two exceptional white triangles, then the sequence of triangles between them (say, clockwise from to ) strictly alternates between blue and white triangles. If has two incoming edges, then the blue triangles in this sequence all have their first edge in this clockwise order as the incoming one and their second edge in the clockwise order as the outgoing one, and the white triangles vice versa. So when we get to , the first edge in the clockwise order will be outgoing, and will have two outgoing edges. Similarly, if we start with a triangle that has two outgoing edges, the strict alternation of the triangles in clockwise order from to means that when we get back to it will be forced to have two incoming edges. It’s not possible for the two exceptional triangles both to be incoming, nor for both of them to be outgoing.
Lemma 16
In a regular edge labeling, the edges of each blue triangle are oriented in a directed cycle.
Proof
This follows immediately from the fact that the orientations of the edges at each vertex of the triangle must be opposite to each other.
Lemma 17
Let be a rooted cycle cover of an Eulerian triangulation . Then admits a regular edge labeling.
Proof
We have already shown in Appendix I that admits a rainbow partition, so we are only left to show that we can orient the edges of such that labeling has the property formulated in Lemma 14.
Recall that we have a two coloring of faces of in which the outer face is colored white, and that every white triangle other than the outer face has exactly one edge of . We orient the edges as follows:

In each white triangle we direct the edge that is part of clockwise and we direct the other two edges counterclockwise.

We reverse the orientations of the edges of each white triangle that is inside an odd number of cycles of .
As we now show, this choice of directions forms a regular edge labeling. To see this, consider a white triangle adjacent to an internal vertex . There is a cycle of the cycle cover that contains . Let be adjacent to blue and green edges and let and be the neighbors of that belong to —see Fig. 12.
By construction every white triangle except for the ones to which and belong has an incoming and outgoing edge at . Furthermore, the white triangles that are on the same side of as each other have all edges of the same color at oriented the same way.
Consider the white triangle containing . is a cycle cover edge, hence it is oriented oppositely around the face to the other edge of adjacent to , hence these edges are oriented the same way. The same holds for the white triangle containing . Note that since every inner white triangle contains exactly one edge of the cycle cover.
Thus every triangle around except for the two white ones containing and have one incoming and one outgoing edge at , so we can conclude that the constructed labeling of is regular edge labeling.
An planar graph is a planarly embedded directed acyclic graph with a single source and sink, both on its outer face. The twodimensional regular edge labelings corresponding to rectangular layouts have the property that each monochromatic subgraph of the labeling is planar. As we show, this same property holds for our threedimensional regular edge labelings.
Lemma 18
Let be oriented and colored to form a regular edge labeling. Then each monochromatic subgraph of is an planar graph. The source and sink of both belong to the outer triangle of , and each vertex of the outer triangle serves as a source on exactly one of the monochromatic subgraphs , , and and as a sink on exactly one other monochromatic subgraph.
Proof
By definition of regular edge labeling each inner vertex of has incoming and outgoing edges of both colors—it has an exceptional triangle with incoming edges, which are of distinct colors and an exceptional triangle with outgoing edges, which are of distinct colors. Hence each inner vertex of has both incoming and out going edges.
Next, we show that no face of forms a directed cycle.
Assume for a contradiction that there exists a face of that violates this condition: the edges around form a directed cycle, without loss of generality a clockwise cycle. Face corresponds to a vertex of such that the vertices of are the cycle of neighbors of in —see Fig. 13 (left) for an illustration. Then, because is an interior vertex of , it has an incident white triangle with two incoming edges and another incident white triangle with two outgoing edges. Consider the directed edge of on and let be the next vertex of after in clockwise order. Edges and are incoming at , edge has as a source by definition of regular edge labeling, and edge is directed away from . Thus vertex is adjacent to a blue triangle that has two outgoing edges at , which contradicts the definition of regular edge labeling, hence the edges of cannot form a clockwise cycle.
Finally, we will show that outer face of consists of an edge connecting the two outer vertices and a directed path.
The outer vertices of strictly alternate the directions of edges around it hence each of the two outer vertices and of have all edges directed the same way and since there is an edge between them, one of them is a source and the other is a sink.
Consider the outer path connecting and . It consists of the path of neighbors of the third outer vertex of . Since the edges of alternate directions around , all edges of that belong to white triangles around are oriented the same way w.r.t. . Assume there is a blue triangle with an edge of oriented in the opposite direction. If had as a source, then since edges alternate directions around we have a blue triangle with two incoming edges at —see Fig. 13, middle. Otherwise consider the vertex which a neighbor of on distinct from . For the same reason we have a blue triangle with two incoming edges at —see Fig. 13, right. Both cases contradict the definition of regular edge labeling. Hence we can conclude that is a directed path.
Thus satisfies the conditions of Lemma 19 below and hence is planar.
Lemma 19
Let be a planar graph, oriented so that the outer face cycle forms two directed paths, no face forms a directed cycle, and each vertex that is not on the outer face has both incoming and outgoing edges. Then is an planar graph.
Proof
Suppose for a contradiction that is not acyclic, and let be a directed cycle in that encloses as few faces as possible. cannot enclose only a single face, because no face forms a directed cycle, so there must be an edge of that is incident to and within . If is directed away from , then we can follow a directed path in until reaching either a repeated vertex or another vertex of , because each vertex within has outgoing edges. If we reach a repeated vertex, the part of the path from this vertex to itself forms a cycle enclosing fewer faces, and if we reach a vertex of , then one of the two parts into which this path splits forms a cycle enclosing fewer faces. In the case that is directed towards , then following a path backwards from again leads to a cycle enclosing fewer faces. This contradiction shows that must be acyclic, and its only sources and sinks must be the two vertices on the outer face that are not interior to the directed paths forming this face.
Appendix IV: From regular edge labeling to corner polyhedra
In this section, we show that, for every 3connected planar bipartite cubic graph with dual Eulerian triangulation , if has a regular edge labeling then represents a corner polyhedron.
Recall that a regular edge labeling consists of an planar orientation of each monochromatic subgraph of , together with some consistency conditions on how the orientations of the edges of two colors can meet at a vertex of . From the regular edge labeling, for any pair of colors and , we now define another directed graph , as follows. The vertices of are the vertices of , together with one new sink vertex. The edge set of is the union of the edges of and of , together with two new edges connecting the monochromatic vertices of the root triangle of with the sink vertex. Without loss of generality we may assume that, at the vertex of the root triangle that has edges of both colors and , the edges of color go outwards from and the edges of color go inwards to ; swap and if necessary to enforce this condition. Then in , the edges of color are given the same orientation as they have in the regular edge labeling, while the edges of color are given the opposite orientation from the one they have in the regular edge labeling. The two edges connecting to the sink vertex are oriented towards it. An example is depicted in Fig. 14. We may embed , as shown in the figure, so that and the sink are both on the outer face of the embedding.
Lemma 20
is planar.
Proof
In , each vertex other than and the sink has both incoming and outgoing edges because of the planarity of the graphs and from which is formed. Additionally, each face of is a quadrilateral, with two consecutive edges of color and two consecutive edges of color : the faces not incident to the sink are formed by removing the edge of color between two triangles of , while the two faces incident to the sink are also clearly quadrilaterals of this form.
The outer quadrilateral face is oriented acyclically, with one source and one sink. Each inner face, also, is oriented acyclically: The property of alternating orientations around each vertex in a regular edge labeling, except within two exceptional white triangles, means that the blue triangle within any quadrilateral face must be consistently oriented either clockwise or counterclockwise in (Lemma 16), so when we reverse the orientation of one of its edges in it loses its consistent orientation and eliminates the possibility that the whole quadrilateral is cyclically oriented.
As a planar graph with one source and one sink on the outer face, with every other vertex having both incoming and outgoing edges, and with all faces oriented acyclically, must be planar by Lemma 19.
We use the fact that this graph is planar to find an numbering of its vertices. An numbering is an assignment of numbers to the vertices of an oriented graph in such a way that, for each edge , the number for is smaller than the number for ; as a consequence, for each vertex other than the source and sink, there will be a neighboring vertex with a smaller number and another neighboring vertex with a larger number. An numbering is easy to compute from the orientation of the graph, in more than one way. If we require additionally that each vertex get a distinct number (which will correspond to the geometric property that no two faces be coplanar) then we may simply assign each vertex its position in a breadthfirst traversal of the oriented graph . If, on the other hand, we wish the numbers to be drawn from as small a set as possible (corresponding to finding a representation as an orthogonal polyhedron with coordinates within a small grid) then we may assign each vertex its distance from the source vertex, as determined again by a breadthfirst traversal of the graph. We may add the same constant to each number in the numbering, if necessary, to ensure that the number of the source vertex is zero; for the numberings produced by breadthfirst traversal or breadthfirst layers, the number of the source will automatically be zero.
We use the numbers produced by this numbering as coordinates of our desired orthogonal polyhedron. Specifically, within each graph there are monochromatic vertices (belonging to one but not the other of or ) and bichromatic vertices (belonging to both monochromatic subgraphs). The bichromatic vertices of correspond to a family of faces that should lie on planes parallel to the and axes in a geometric representation of the given graph ; we use the numbering as the coordinate of this plane. Each vertex of the given cubic bipartite graph corresponds in the dual Eulerian triangulation to a triangle of vertices that are bichromatic in , , and , and we use the numberings of these three vertices as respectively the , , and coordinates of . In the rest of the section, we argue that the resulting placement of vertices produces a representation of as a corner polyhedron.
Lemma 21
The vertex placement described above, for a graph with a regular edge labeling of its dual Eulerian triangulation , has the following properties:

Each vertex of lies in or on the positive orthant.

The vertex dual to the root triangle lies at the origin, the neighbors of lie on the coordinate axes, the other vertices on faces incident to lie on the coordinate planes, and all remaining vertices are strictly interior to the positive orthant.

The two endpoints of every edge of lie on an axisparallel line.

The set of vertices of any face of lie on an axisparallel plane.
Proof
Properties 1 and 2 follow immediately from the facts that the numbering of each graph is nonnegative, and is zero only at the source vertex. Therefore each vertex of has nonnegative coordinates, with one of these coordinates zero only when is adjacent to a face that is dual to a vertex in that is the source in one of these three graphs. The root triangle is dual to the vertex that is adjacent to all three of these source faces, so this vertex lies at the origin. Its neighbors are adjacent to two source faces, so two of their coordinates are zero and the third nonzero; thus, they lie on the coordinate axes. The remaining vertices on the source faces have the corresponding coordinate zero and lie on a coordinate plane.
For Property 3, observe that any two adjacent vertices in belong to two common faces (the faces on either side of their shared edge) and therefore have two coordinates in common. Similarly, for Property 4, all vertices on a face of take one of their coordinates from that face and therefore lie on the axisparallel plane consisting of all points with that coordinate value.
Recall that, in a corner polyhedron, each face should have the shape of a double staircase: an orthogonal polygon with two extreme vertices connected by two polygonal chains that are monotone in both the coordinate directions, where one chain starts with an parallel line segment and ends with a parallel segment, and the other chain starts with a parallel segment and ends with an parallel segment. However, simply connecting two extreme vertices by two chains in this way is not sufficient to describe a nonselfintersecting polygon (Fig. 15, left). In order to describe a combinatorial condition that forces a pair of chains connecting two extreme vertices to form a simple polygon, we define the class of fat double staircase polygons to be the double staircase polygons in which, for each pair of extreme edges in one of the two coordinate directions, there exists an axisparallel line segment that connects the two edges and lies within the interior of the polygon (Fig. 15, right). A fat double staircase may equivalently be characterized by total orderings of its boundary segments: the coordinates of the horizontal segments are ordered from top to bottom along the upper left chain and then from top to bottom along the lower right chain, while the coordinates of the vertical segments are ordered from left to right, first along the lower right chain and then along the upper left chain.
Lemma 22
With the vertex placement described above, for a graph with a regular edge labeling of its dual Eulerian triangulation , every face of forms a fat double staircase.
Proof
We first assume that a given face is not one of the three faces incident with the vertex at the origin. Without loss of generality is parallel to the plane. Recall that, according to the constraints of a regular edge labeling, the vertex dual to in has edges that alternate between ingoing and outgoing, except in two of the triangles adjacent to , one of which has two ingoing edges and one of which has two outgoing edges. These two triangles will be dual to the two extreme vertices of the fat double staircase formed by . It remains to show that the two paths in connecting these extreme vertices form monotonic chains and that the total ordering of the parallel and parallel segments in these two chains is the ordering required in a fat double staircase. The coordinates of the parallel segments are the numbers of the neighbors of that are bichromatic in the numbering of graph ; these numbers are monotonic along each of the two chains of because the neighbors corresponding to any two consecutive parallel segments are connected in by a twoedge oriented path, and the numbers must be monotonic along this path—see Fig. 16, left. Symmetrically, the coordinates of the parallel segments in each chain are also monotonic. Therefore, we do indeed have two monotonic orthogonal polygonal chains connecting the two extreme vertices of .
All of the parallel segments in the upper right chain have greater coordinates than all of the parallel segments in the lower left chain, because there exists a twoedge path in from the neighbor of corresponding to the lowest parallel segment of the upper right chain to the neighbor of corresponding to the highest parallel segment of the lower right chain (Fig. 16, right). Note that this twoedge path in has the opposite color and opposite orientation from the twoedge paths in used to prove monotonicity within each of the two chains; therefore, when we reverse the orientation of one of and to form , both types of path will be oriented consistently. The existence of this path causes the neighbor of corresponding to the lowest parallel segment on the upper right chain to receive an number in the numbering of that is greater than the neighbor of corresponding to the highest parallel segment on the lower left chain. Symmetrically, the rightmost parallel segment on the lower left chain has a smaller coordinate than the leftmost parallel segment on the upper right chain. Therefore, is a fat double staircase.
For the remaining three faces, incident with the vertex at the origin, the result follows by a similar but simpler analysis: the face has two edges on the coordinate axes, and the remaining edges form a monotone plane within the interior of the positive quadrant, therefore the face must form a fat double staircase.
Corollary 1
With the vertex placement described above, for a graph with a regular edge labeling of its dual Eulerian triangulation , every face of forms a nonselfintersecting polygon.
Lemma 23
With the vertex placement described above, for a graph with a regular edge labeling of its dual Eulerian triangulation , is a corner polyhedron.
Proof
The three face of dual to the vertices of the root triangle in are fat staircase polygons that lie on the three boundary quadrants of the positive orthant; therefore, they do not cross each other nor do they cross any of the other faces, which lie within the interior of the positive orthant. All of the remaining faces, by Lemma 22, are nonselfintersecting polygons (more specifically, fat double staircases).
In the correspondence between regular edge labelings and fat double staircase polygons described in Lemma 22, a face has a vertex that (when isometrically projected) has an angle of if the triangle dual to that vertex has two equallyoriented edges at the vertex dual to , an angle of if the triangle dual to that vertex is cyclically oriented, and an angle of if the triangle is acyclically oriented but has edges both going into and out of . In all cases, the three angles of the polygons incident to a vertex of have angles adding to and the only way for three edges at a common vertex to form these three angles is for the three polygons to by arranged cyclically around the vertex rather than for any one of them to overlap with the other two. Thus, locally, at each vertex of , each three faces are consistently oriented. When isometrically projected onto the plane, these faces cannot double back on themselves and therefore must form a nonselfoverlapping tiling of a region of the plane by polygons.
Thus, the faces of can be partitioned into two surfaces (the three back faces and the remaining faces) that don’t selfintersect nor cross with each other; it follows that is a simple orthogonal polyhedron, and further is a corner polyhedron because all of its faces except for the three back ones are visible from .
The results of the last two sections and this one may be combined to complete the proof of Theorem 3.1: A graph can be represented as a corner polyhedron, with a specified vertex as the single hidden vertex, if and only if the dual graph of has a cycle cover rooted at the triangle dual to .
Appendix V: Decomposition of 4connected Eulerian triangulations
We have now established that graphs of corner polyhedra and graphs with rooted cycle covers are the same thing. In the next section we will show that all 4connected Eulerian triangulations have rooted cycle covers. In order to do so, we describe in this section a set of reduction operations that allow any 4connected Eulerian triangulation to be simplified—split into two graphs with smaller number of vertices or reduced to a single graph with smaller number of vertices—in such a way the the obtained graphs remain 4connected. We will use these simplification steps to guide an inductive proof of the existence of a rooted cycle cover.
We use the following four rules to simplify a 4connected Eulerian triangulation :
 (I)

Suppose that has a 4cycle C such that there are three or more vertices inside the cycle and three or more vertices outside the cycle and all edges of C have the same color in the rainbow partition of . Then we can split into two subgraphs, by replacing the inside of by a single degreefour vertex in one of the subgraphs and the outside of C by a single degreefour vertex in the other subgraph—see Fig. 17 for an illustration. This does not change any distances between vertices in either of the two subgraphs so there still are no separating triangles.
 (II)

Suppose that has a 4cycle that, as above, separates three or more vertices inside from three or more vertices outside, but that the edges of have two colors in the rainbow partition of of . Then we can again split into two subgraphs, this time by replacing the inside of by two adjacent degreefour vertices in one subgraph and the outside of by two adjacent degreefour vertices in the other subgraph—see Fig. 18 for an illustration. Again, the obtained graph is 4connected because we do not change the distances between vertices.
 (III)

Suppose has two adjacent degreefour vertices and . Let the vertices and be the third vertices of the triangles on edge , and and be the other two neighbors of and —see Fig. 21, left. Suppose further that and have degree greater than four, that is not an edge of , and that and are the only paths of length two from to . Then we can replace and with an edge connecting and without creating separating triangles—see Fig. 19.
 (IV)

Suppose has a degreefour vertex such that among its four neighbors all have degree greater than four. Then we can contract edges and , as long as this contraction does not create any separating triangles—see Fig. 20.
Lemma 24
Let be a 4connected Eulerian triangulation, and let be a designated triangle in . Then can be simplified by one of rules IIV above, and further in the cases of rules III or IV the simplification does not collapse triangle , unless is one of the two graphs shown at the center and right of Fig. 21.
Proof
Due to Euler’s formula, every Eulerian triangulation contains at least six degreefour vertices. It is not possible for all six to be part of or to be among the three vertices on adjacent triangles to , unless is the octahedral graph shown at the center of Fig. 21. Therefore, let be a degreefour vertex that has at most one edge connecting it to a vertex of .
First, suppose that has a degreefour neighbor ; cannot be a vertex of . If and have a common degreefour neighbor , then triangle is surrounded by another triangle of ; since is by assumption 4connected, this surrounding triangle must be a face of and again we have the octahedral graph. Otherwise, let and be the two common neighbors of and , let be the fourth neighbor of , and let be the fourth neighbor of , as shown in Fig. 21 (left). If and are adjacent, we have the octahedral graph in the center of the figure. If there is a third vertex that belongs to a twoedge path , then and are 4cycles. It is not possible for either of these 4cycles to contain only a single vertex, because that would cause or to have odd degree. If either of these cycles has three or more vertices on each of its sides, then by Lemma 4 we may perform a Rule I or Rule II simplification. Otherwise, both of these cycles contain exactly two degreefour vertices and we have determined the entire graph—see Fig. 21(right)). And if there is no such vertex , then we may perform a Rule III simplification.
In the remaining case has degree four but none of its neighbors do. Let the neighbors of be (in clockwise order) . Then there are two different ways of collapsing two opposite neighbors into a single supervertex: we could contract edges and , or we could contract edges and . It is not possible for either contraction to create a selfloop, for if (say) and were already adjacent then would be a separating triangle, which we have assumed do not exist in . And, if no Rule I or Rule II simplification exists, it is also not possible for either contraction to create a multiple adjacency, for if (say) and had a common neighbor then would be a separating 4cycle. Each side of this 4cycle would have to contain more than two vertices, for otherwise or would have degree 4, so one of the two rules for simplifying a separating 4cycle would apply. However, it is possible for the contraction of and to create a separating triangle, if there exists a path where neither nor belongs to the set . Similarly, there might exist a path of length three from to preventing the other contraction from being applied. But if both paths exist, they must cross, by planarity, and hence must share a vertex: without loss of generality we may assume that the path from to has the form , as shown in Fig. 22, as the other cases are symmetric to this one. Then is a cycle, separating , , and from the neighbors of other than the four neighbors , , , and that we have already identified; recall that has degree at least six, so there are at least two vertices inside cycle . We may also assume without loss of generality that is not inside cycle , for otherwise we may apply the same argument to cycle . If cycle contains exactly two vertices, then they are adjacent vertices of degree four, a case we have already analyzed. Otherwise, cycle contains three or more vertices and allows a Rule I or Rule II simplification.
Appendix VI: Cycle covers for 4connected Eulerian triangulations
In this section we prove that there exists a cycle cover for every 4connected Eulerian triangulation and every choice of root triangle. Throughout the section adopt the conventions that the chosen root triangle is drawn as the outer face of a planar embedding of the given graph. Recall also that, in every Eulerian triangulation, there exists a 2coloring of the triangular faces and an assignment of three colors to the edges such that each triangle has an edge of each color; these colorings are unique up to permutation of the colors. We adopt the convention that the color of the outer triangle is white and that the other triangle color is blue, as shown in our figures.
Recall that a cycle cover is a collection of vertexdisjoint cycles in that include every vertex other than the three vertices of the root triangle, and that together include exactly one edge from every white triangle. We will prove the existence of the rooted cycle cover for inductively, using the decomposition rules from the previous section. As we describe in a different section, this inductive proof can be used as the basis of a recursive algorithm for finding cycle covers efficiently.
Lemma 25
Suppose that the 4connected Eulerian triangulation admits a Rule I simplification into two smaller graphs (the graph obtained from by replacing the interior of the 4cycle with a hypervertex ) and the graph obtained by replacing the exterior of with a hypervertex ). Embed the two graphs as in Fig. 17 so that the outer face of coincides with that for , the outer face for includes the new vertex , and the face colorings of and are both consistent with that for . Suppose further that both and admit cycle covers and rooted at their outer triangles. Then also admits a cycle cover rooted at the outer triangle.
Proof
In a Rule I simplification, the edges of have the same color in the rainbow partition of . Since the edges around each vertex of alternate in color, each of the vertices of must be adjacent to an odd number of vertices in the interior of , which implies that, among the four triangles inside and adjacent to its edges, two triangles on opposite edges of are white and the other two triangles are blue. Vertex is placed in such a way that the edges of adjacent to blue such triangles lie in the interior of . Without loss of generality let and be the vertices of that are not on the outer face of . Consider the portions of covers and within the triangles near .
In there must be a cycle containing the path , where is the common neighbor of and and is the common neighbor of and inside . This follows from the observation that vertices and are included in cycles of the cover while vertices , and belong to the outer triangle and are not included—see Fig. 23 (left). Let denote the cycle containing .
In there must be one cycle that covers . contains exactly one of the four paths , , , and , since exactly one edge of every white rectangle adjacent to is part of the cover.
We combine and to obtain the cycle cover of by first including all cycles of and all cycles of to . We then replace and by a single cycle which covers all the remaining vertices other than those in the outer triangle of . We construct the final cycle of as follows:

Remove the path from .

Let and be vertices of such that is adjacent to and is adjacent to . Use edges and to connect the path to to form a cycle .
Fig. 23 illustrates the construction for all possible choices of and . It is easy to see that the obtained set of cycles satisfies the definition of rooted cycle cover for .
Lemma 26
Suppose that the 4connected Eulerian triangulation admits a Rule II simplification into two smaller graphs (the graph obtained from by replacing the interior of the 4cycle with two hypervertices and ) and the graph obtained by replacing the exterior of with two hypervertices and ). Embed the two graphs as in Fig. 18 so that the outer face of coincides with that for , the outer face for includes the new vertices and , and the face colorings of and are both consistent with that for . Suppose further that both and admit cycle covers and rooted at their outer triangles. Then also admits a cycle cover rooted at the outer triangle.
Proof
In a Rule II simplification, the edges of alternate colors, from which it follows that two opposite vertices of are adjacent to an odd number of vertices in ’s interior, and the other two vertices of have evenly many neighbors inside . This means that there exists a single vertex of —let it be —that is adjacent to two blue faces inside containing edges of . We embed and to keep in the interior of .
Denote the cycle in containing the path , where is the common neighbor of and inside and is the common neighbor of and inside . Such a cycle exists because this is the only way to cover vertices without violating the properties of a rooted cycle cover.
In , there must be a cycle that includes edge , for otherwise it would not be possible to include both and in the cycle cover. However, there are two cases for how this cycle can be connected to the rest of : it may contain the path , or it may include vertex . In the latter case, we may assume without loss of generality that it contains the path ; the other case, of a path , is symmetric.
We construct the cycle cover of by first adding all cycles in and all cycles in . In the case that contains the path , we construct the final cycle by removing the path from and merging it with the subpath of that connects and and does not contain and . In the case that contains the path , we instead construct by removing the path from and merging it with the subpath of that connects and and does not contain . All cycles are vertex disjoint, all internal vertices in are covered and every white face contributes exactly one edge to , so is a rooted cycle cover for .
Lemma 27
Suppose that the 4connected Eulerian triangulation admits a Rule III simplification that replaces a pair of adjacent degree four vertices and by an edge connecting their two neighbors, forming a simpler graph , that neither nor belongs to the outer triangle, and that admits a cycle cover rooted at the outer triangle. Then also admits a cycle cover rooted at the outer triangle.
Proof
Let the vertices and be the third vertices of the triangles on edge . Without loss of generality let be the white triangle on the fourcycle , let be a cycle cover for , and let be the cycle of that includes an edge of triangle . If includes edge then we replace this edge by the path , and if includes edge then we replace this edge by the path ; the case that includes edge is symmetric to the case that it includes edge . In all cases the result is a cycle cover of —see Fig. 25.
Lemma 28
Suppose that the 4connected Eulerian triangulation admits a Rule IV simplification in which a degreefour vertex has its neighbors in the cyclic order , does not belong to the outer cycle of , all four neighbors have degree greater than four, and the simplification collapses edges and of into a new hypervertex forming the simpler graph . Suppose further that has a cycle cover rooted at the outer triangle. Then also admits a cycle cover rooted at the outer triangle.
Proof
Let be the cycle of that passes through . Suppose first that separates the blue triangle incident with edge from the blue triangle incident with edge . In this case, the two edges of that are incident to correspond in to one edge incident to and one edge incident to , and we can form a cycle cover in by adding the edges and to the cycle cover—see Fig. 26.
Alternatively, it may be the case that does not separate the blue triangles. In this case, it corresponds to a cycle in that covers one of the two vertices or (without loss of generality ), leaving and uncovered. In this case, let be the third vertex of the white triangle containing edge in ; there must be a cycle in that includes edge , because vertex is not included in the edge of that belongs to . In , we form a cycle cover by removing edge from and replacing it by the threeedge path —see Fig. 27.
Lemma 29
For every 4connected Eulerian triangulation , and every choice of a root triangle , there is a cycle cover of rooted at .
Proof
We use induction on the number of vertices in . As a base case, is one of the graphs depicted in Fig. 21(middle and right), the octahedron and the 11vertex graph . Both of these graphs allow rooted cycle covers—see Fig. 28 below. In the case of the octahedron in Fig. 21(middle) and Fig. 28 (left), all choices of root triangle are equivalent. In the case of the graph in Fig. 21(right) and Fig. 28(right), the symmetries of the graph take any choice of root triangle to one of two nonequivalent choices. The choice shown in Fig. 28 below corresponds to the corner polyhedron depicted in Fig. 1 (left), while the other choice also admits a rooted cycle cover and corresponds to the corner polyhedron depicted together with its cycle cover in Fig. 4(right).
If is not one of these two base cases, then by Lemma 24 it admits a Rule I, Rule II, Rule III, or Rule IV simplification to smaller 4connected Eulerian triangulations. By induction, these smaller graphs have cycle covers for any choice of root triangle, and the existence of a cycle cover for itself follows from Lemmas 25, 26, 27, and 28.
Appendix VII: Characterization of corner polyhedra
We have seen in the previous sections that a graph is the graph of a corner polyhedron, with hidden vertex , if and only if the dual Eulerian triangulation has a cycle cover rooted at the triangle dual to . We have also seen that, for a 4connected Eulerian triangulation, there is a cycle cover rooted at any triangle, so the duals of these triangulations always have corner polyhedron representations. In this section we extend these results to the non4connected case, by completing the proof of Theorem 3.3 characterizing the graphs of corner polyhedra.
Thus, let be a 3connected bipartite cubic planar graph, and a vertex of such that we wish to determine whether can be represented as a corner polyhedron with hidden vertex . Let be the Eulerian triangulation dual to , and as in previous sections adopt the convention that is drawn so that the triangle dual to is the outer face, and so that the faces are 2colored blue and white with the outer face white. If is a separating triangle in , then it follows from Lemma 6 that the three face triangles of that are inside and incident to edges , , and all have the same color; as in Section 3, we define to have even parity if these three face triangles are white, and odd parity if these three face triangles are blue.
Proof of Theorem 3.3. The theorem states that has a corner polyhedron representation, with as hidden vertex, if and only if all separating triangles of have odd parity. In one direction, suppose that this is the case. Consider the collection of Eulerian triangulations formed by splitting on each of its separating triangles, giving the inner split component the same coloring it had in , and in the outer split component replacing the portion of within the separating triangle by a single blue face triangle. Then each of these graphs is an Eulerian triangulation by Lemma 6 and is 4connected; therefore, it has a cycle cover rooted at its outer triangle. The union of the cycles in these covers forms a cycle cover in . Thus, has a rooted cycle cover, from which it follows that has a corner polyhedron representation.
In the other direction, suppose that some separating triangle has even parity, and let be the Eulerian triangulation formed by the triangles inside . The dual to is a regular bipartite graph, so it has equal numbers of vertices on each side of its bipartition; translating this fact back to itself, and applying Euler’s formula, if has vertices then it has blue triangles (including its outside triangle) and white triangles. We now assume for a contradiction that has a cycle cover , and count in two different ways the number of pairs where is a vertex in and is an edge in , getting two incompatible bounds on the numbers of pairs. First, we count the pairs by vertices. There are vertices interior to , each of which belongs to two edges and forms two pairs. Additionally, the three vertices , , and have at least one pair each, because no matter how we choose an edge in from the three outer white triangles in the chosen edge will include one of these vertices. Thus, counting by vertices, the number of pairs is at least . However, counting by edges, there are white triangles in , each of which supplies an edge of , so there are edges of forming only pairs. This contradiction between a number being when counted one way and at least when counted a different way proves that a cycle cover cannot exist and therefore that has no corner polyhedron representation.∎
Appendix VIII: Characterization of polyhedra
We begin the proofs of the results claimed in Section 4 by showing that the two classes of polyhedra described in that section are combinatorially equivalent.
Lemma 30
Let be a singlyintersecting simple orthogonal polyhedron. Then there is an polyhedron with the same graph as , in which all vertex coordinates are integers in the range .
Proof
For each coordinate plane, number the faces of the polyhedron with the integers , , , so that faces with smaller coordinate values have smaller numbers; if two faces are coplanar, choose their numbers arbitrarily. The faces with a given orientation partition the vertices, and each has at least vertices, so there are at most numbers used. Now (as in [28]) move each vertex of to the point given by the numbers of its incident faces; that is, if the face parallel to the plane has number , set the coordinate of the vertex to . Call the resulting polyhedron .
Define a feature of to be the rectangular region of a face lying between two parallel edges of the face. Every point of the boundary of belongs to a feature, and every feature of corresponds to a (possibly degenerate) feature in because of the orderpreserving nature of the transformation from to . If two features intersect in , they must intersect in as well, again because of the orderpreserving nature of the transformation. But has no intersections of nonadjacent features, so neither does . Therefore, remains a simple orthogonal polyhedron. Any line containing an edge of is contained in the face planes only of the two faces that meet in that edge, and therefore contains no other edge of . Since each vertex is incident to an edge within each axisparallel line containing it, it also follows that the line containing an edge of cannot contain a vertex that is not an endpoint of that edge. Therefore, forms an graph and is an polyhedron.
Corollary 2
Every singlyintersecting simple orthogonal polyhedron or polyhedron represents a 3connected bipartite cubic planar graph.
Proof
3connectivity follows from the more general fact that graphs are 3connected from our previous paper [28]. Every face is even, since it alternates between edges in two coordinate directions. Thus, as a planar graph with even faces, the graph of an polyhedron must be bipartite.
Proof of Theorem 4.1. Recall that Theorem 4.1 states that 4connected bipartite cubic planar graphs, graphs of polyhedra, and graphs of singlyintersecting simple orthogonal polyhedra are the same thing. The equivalence between the two types of polyhedron is Lemma 30, and the fact that every graph of one of these polyhedra is 3connected and bipartite is Corollary 2. It remains to prove that every 3connected bipartite cubic planar graph can be represented as a singlyintersecting simple orthogonal polyhedron.
To do so, we use induction on the number of separating triangles in the dual graph of , an Eulerian triangulation. As a base case, if has no separating triangles, it is 4connected, and we may represent as a corner polyhedron, which is certainly a singlyintersecting simple orthogonal polyhedron. Otherwise, let be a triangle which separates into two subgraphs and , where has as few vertices as possible among all such splits. Then and are themselves Eulerian (Lemma 6). can have no separating triangle itself, because that triangle would separate a graph with even fewer vertices. Let and be the duals of and respectively.
By induction, can be represented as a singlyintersecting simple orthogonal polyhedron, and can be represented as a corner polyhedron with the hidden vertex being the one dual to . A polyhedron representing may be formed by replacing the vertex representing in by a copy of the corner polyhedron representing (minus its hidden vertex). The replacement can be performed geometrically by placing the corner polyhedron so that its copy of coincides with that for , and so that the edges adjacent to in and lie on the same rays, and then forming the graph from the union of the vertex sets of and , minus the two copies of the shared vertex