When can a graph form an orthogonal polyhedron?

Polyhedra are an important basic structure in computational geometry. One of the most beautiful results concerning polyhedra is Cauchy’s theorem, which states that a convex polyhedron is uniquely defined by its graph, edge lengths and facial angles. (See Section 2 for definitions.) The proof of Cauchy’s theorem (see e.g. [2]) unfortunately is nonconstructive, and the only known algorithm to reconstruct the convex polyhedron is very slow (see also [5].) In this paper, we study similar topics for orthogonal polyhedra. Thus, given a graph, edge lengths and facial angles, when is this the graph of an orthogonally convex polyhedron? We give an algorithm that answers this question in polynomial time, and reconstructs the polyhedron if one exists. In particular, our algorithm implies a Cauchy-type theorem for orthogonally convex polyhedra: they are determined by their graph, edge lengths and facial angles alone. We also study general orthogonal polyhedra, and show that it is NPhard to decide whether a graph (with edge lengths and facial angles) is the graph of an orthogonal polyhedron. Our research was motived by the question how to represent polyhedra (and especially orthogonal polyhedra) efficiently. One common way is the vertex based model, where one stores the graph and the coordinates of each vertex. For orthogonal polyhedra, it suffices to store coordinates for vertices of odd degree, see [4, 1]. The vertex based model is rather cumbersome for manipulation of polyhedra, since every translation or rotation requires an update of all coordinates. A more versatile approach is to store edge lengths, facial angles and dihedral angles only. The polyhedron is then uniquely determined by the coordinates of three vertices. The results in our paper show that for orthogonally convex polyhedra, we can omit the dihedral angles, since they are uniquely determined from the other parameters.