Small grid embeddings of 3polytopes
Abstract
We introduce an algorithm that embeds a given 3connected planar graph as a convex 3polytope with integer coordinates. The size of the coordinates is bounded by . If the graph contains a triangle we can bound the integer coordinates by . If the graph contains a quadrilateral we can bound the integer coordinates by . The crucial part of the algorithm is to find a convex plane embedding whose edges can be weighted such that the sum of the weighted edges, seen as vectors, cancel at every point. It is well known that this can be guaranteed for the interior vertices by applying a technique of Tutte. We show how to extend Tutte’s ideas to construct a plane embedding where the weighted vector sums cancel also on the vertices of the boundary face.
1 Introduction
Problem Setting.
The graph of a polytope is an abstraction from its geometric realization. For a 3polytope, the graph determines the complete combinatorial structure. The graphs of 3polytopes are characterized by Steinitz’ seminal theorem [31], which asserts that they are exactly the planar 3connected graphs.
A natural question is to ask for a geometric realization of a 3polytope when its combinatorial structure is given. One might be interested in a realization that fulfills additionally certain optimality criteria. For example a good resolution is desirable to obtain aesthetic drawings [6, 30]. We address a different problem and ask for an embedding whose vertices can be placed on a small integer grid. The vertex coordinates of such an embedding can be stored efficiently.
Related Work.
Suppose we are given the combinatorial structure of a 3polytope by a graph with vertices. The original proof of Steinitz’ theorem transforms the 3connected planar graph into the graph of the tetrahedron by a sequence of elementary operations. The transformation preserves the realizability as a 3polytope. Since all operations can be carried out in the rationals, the proof gives a method to construct a realization of a 3polytope with integer coordinates. However, it is not easy to keep track of the size and the denominators of the coordinates, which makes it difficult to apply this approach for our problem. An alternative proof of Steinitz’ theorem goes back to the KoebeAndreevThurston Circle Packing Theorem (see for example Schramm [28]). This approach relies on nonlinear methods, which make the (grid) size of the embedding intractable. A third proof of Steinitz’ theorem relies on the “liftability” of planar barycentric embeddings. Since this barycentric approach is based on linear methods, its construction favors computational aspects of the embedding. This led to a series of embedding algorithms: Hopcroft and Kahn [14], Onn and Sturmfels [20], Eades and Garvan [12], RichterGebert [24], Chrobak, Goodrich, and Tamassia [6]. Our work also follows this paradigm.
As a first quantitative analysis of Steinitz’ theorem, Onn and Sturmfels [20] showed that integer coordinates smaller than suffice to realize a 3polytope. RichterGebert improved this bound to . A more careful analysis of RichterGebert’s approach shows that the size of the integer coordinates can be bounded by [21].
Integer realizations with at most exponentially large coordinates in terms of were previously known for polytopes whose graph contains a triangle (RichterGebert [24]). We describe this method in Section 3.1 (p. 3.1) as Case 1 of our embedding algorithm. In RichterGebert’s approach (and already in Onn and Sturmfels [20]), graphs without triangles are embedded by first embedding the polar polytope, whose graph in this case has to contain a triangle. Based on the polar, an embedding of the original polytope is constructed. However, this operation yields coordinates with a quadratic term in the exponent.
For triangulated 3polytopes, Das and Goodrich [10] showed that they can be embedded with coordinates of size , using an incremental method which can be carried out in arithmetic operations. Triangulated 3polytopes are easier to realize on the grid than general polytopes, since each vertex can be perturbed within some small neighborhood while maintaining the combinatorial structure of the polytope. An explicit bound on the coordinates has not been worked out by the authors. For stacked polytopes a better upper bound exists [38], but it is still exponential.
Lower Bounds.
Two Dimensions.
Higher Dimensions.
Already in dimension 4, there are polytopes that cannot be realized with rational coordinates, and a 4polytope that can be realized on the grid might require coordinates that are doubly exponential in the number of its vertices. Moreover, it is NPhard to even decide if a lattice is a face lattice of a 4polytope [24, 25].
Results.
In this article we develop an algorithm that realizes as a 3polytope with integer coordinates not greater than . This implies that for any polytope a combinatorially equivalent polytope can be stored with bits per vertex. For the case that contains a triangle we show that admits an integer realization with no coordinate larger than , if contains a quadrilateral face, the size of the coordinates can be bounded by . The most difficult part of the algorithm is to locate the boundary face of the plane embedding such that a lifting into exists. This problem can be reduced to a nonlinear system which is most complex when contains neither a triangle nor a quadrilateral face.
Partial results containing the essential ideas for graphs with quadrilateral faces (Case 2 of Section 3.1) were presented by the second author at the workshop The Future of Discrete Mathematics at Štiřín Castle, Czech Republic, in May 1997. The results of this paper were presented in a different form at the 23rd Annual Symposium on Computational Geometry in Gyeongju, Korea, in June 2007 [22]. Since then, we were able to simplify the computation of the explicit bounds with help of Lemma 3.10. The simplification yields slightly different bounds. By improving the bound of Lemma 9 in [22] by a polynomial factor (now Lemma 3.9) we obtain better bounds in the end. However, our analysis could be further improved with help of the more complicated construction of [22]. Since the improvement would only result in a constant factor we decided to present the simpler and more elegant analysis.
A followup work [30] extends the techniques of this article and studies more general barycentric embeddings. With help of these modifications, a grid embedding with coordinates smaller than can be constructed. The small coordinates are realized at the expense of the size of the and coordinates, which are bounded by .
Remark:
Most recently, Buchin and Schulz [5] improved the upper bound for the maximum number of spanning trees contained in a planar graph. This has a direct consequence for our results, since we obtain the bound for the necessary grid size in terms of this quantity. In particular, the new bounds of [5] yield that our algorithm requires a grid of size (general case), ( contains a quadrilateral face), and ( contains a triangular face).
2 Lifting Planar Graphs
Let be a connected planar graph with vertex set embedded in the plane with straight edges and no crossings. The coordinates of a vertex in the (plane) embedding are called , the whole embedding is denoted as . Let be a height assignment for the vertices in . We write for . If the vertices of every face of lie on a common plane, we call the height assignment a lifting of .
Definition 1 (Equilibrium, Stress).
An assignment of scalars (denoted as ) to the edges of is called a stress.

A vertex is in equilibrium in , if
(1) 
The embedding is in equilibrium if all vertices are in equilibrium.

If is in equilibrium for the stress , then is called an equilibrium stress for .
It is well known that equilibrium stresses and liftings are related. Maxwell observed in the 19th century that there is a correspondence between embeddings with equilibrium stress and projections of 3dimensional polytopes [19]. There are different versions of Maxwell’s theorem. For the scope of this article the following formulation is the most suitable.
Theorem 2.1 (Maxwell, Whiteley).
Let be a planar 3connected graph with embedding and designated face . There exists a correspondence between

equilibrium stresses on ,

liftings of in , where face lies in the plane.
The proof that A induces B (which is the important direction for our purpose) is due to Walter Whiteley [36]. The MaxwellCremona correspondence finds interesting applications in different areas (see for example Hopcroft and Kahn [14], and Connelly, Demaine and Rote [7]).
To describe a lifting, we have to specify for each face of the graph the plane on which it lies. We define by the two parameters and . The plane is characterized by the function that assigns to every point in the plane a third coordinate by
(2) 
Here, denotes the dot product. The correspondence between liftings and stresses comes from the observation that the “slope difference” between two adjacent faces and is perpendicular to the edge that separates them:
(3) 
for some scalar . Here, denotes the vector rotated by 90 degrees. It is not hard to show that these numbers form an equilibrium stress.
The other direction, the computation of the lifting of induced by is straightforward, see Crapo and Whiteley [9]. We follow the presentation of Connelly, Demaine and Rote [7] for the computation of the lifting.
The parameters and can be computed by the following iterative method: We pick as the face that lies in the plane, and set and . Then we lift the remaining faces one by one. This is achieved by selecting a face that is incident to an already lifted face . Let be the common edge of and . Assume that in the face lies left of the directed edge , and lies right of it. The parameters of can be computed by
(4)  
(5) 
The formula (4) comes directly from (3), and (5) comes from the fact that the two planes must intersect above and .
The sign of the stresses allows us to say something about the curvature of the lifted graph. According to (3) and (4), the sign of that separates and tells us if the lifted face lies below or above . As a consequence we obtain the following:
Proposition 1.
Let be a straightline embedding of a planar 3connected graph with equilibrium stress. If the stresses on the boundary edges are negative and all other stresses positive then the lifting induced by such equilibrium stress results in a convex 3polytope.
Lemma 2.1.
If has integer coordinates only and the equilibrium stress is integral on all interior edges, then the coordinates of the lifted embedding are also integers.
Proof.
We select an interior face as face . The gradient and the scalar are clearly integral. For all other interior faces the parameters , of the planes can be computed with help of equations (4) and (5). By an inductive argument these parameters are integral as well. Computing the coordinate of some point by (2) boils down to the multiplication and addition of integers. ∎
3 The Grid Embedding Algorithm
3.1 The Plane Embedding
The embedding of as a 3polytope uses the following high level approach. First we embed in the plane, such that it is liftable (see Section 2), then we lift the embedding to , finally we scale to obtain integer coordinates as described in Section 3.2. The analysis of the algorithm in Section 3.3 gives the new upper bound. The most challenging part is to construct a liftable 2dembedding.
An embedding is called barycentric if every vertex that is not on the outer face is in the barycenter of its neighbors. Tutte showed that for planar 3connected graphs the barycentric embedding for a fixed convex outer face is unique [33, 34]. Moreover, if embedded with straight lines, no two edges cross, and all faces are realized as convex polygons. In the barycentric embedding all vertices that are not on the outer face are in equilibrium according to the stress . Our embedding algorithm uses this special stress only, although we state the lemmas as general as possible. Since our techniques might find applications in other settings we develop our main tools for arbitrary stresses. (Note that Tutte’s approach works with arbitrary stresses that are positive on interior edges, see for example Gortler et al. [13].)
We describe now how to compute the barycentric embedding of . Let be a face of that we picked as the outer face, and let be the number of vertices in . For simplicity we want as small as possible. Euler’s formula implies that every planar and connected graph has a face with edges. We assume that the vertices in are labeled such that the first vertices belong to in cyclic order. Let be the index set of the boundary vertices and let denote the index set of the interior vertices. The edges of are called boundary edges, all other edges interior edges. The stresses on the exterior edges will be defined later, but since they don’t matter for the barycentric embedding we set them to zero for now.
We denote with the Laplacian matrix of (short Laplacian), which is defined as follows
For the special “weights” the Laplacian equals the negative adjacency matrix of .with vertex degrees on the diagonal. We subdivide into block matrices indexed by the sets and , and obtain , , , and . The matrix is called the reduced Laplacian matrix of . For convenience we write instead of
Example.
Consider the graph of Figure 1, with and . We have
In the example the presence of the boundary edges , , and is not reflected in the Laplacian, because the stress is set to zero on the boundary.
The location of the boundary vertices is given by the vectors and . Since every vertex should lie at the (weighted) barycenter of its neighbors, the coordinates of the interior vertices and have to satisfy the equilibrium condition (1) for the stress . In particular, the equations and have to hold. Thus, we can express the interior coordinates as
(6) 
For nonzero weights the matrix is irreducible (that is, the underlying graph is connected, see Lemma 3.2) and diagonally dominant. As a consequence is invertible and (6) has a unique solution [15, page 363].
The barycentric embedding assures that the interior vertices are in equilibrium. However, to make liftable we have to guarantee the equilibrium also for the vertices on . We define the vectors as the nonresolving “forces”, which arise at the boundary vertices and cannot be canceled by the interior stresses:
(7) 
Our goal is to define the yet unassigned stresses on the boundary edges such that they cancel the forces in . However, this is not always possible, depending on the shape of the outer face. In order to pick a good embedding of , we have to know how changing the coordinates of the outer face changes the forces in . The following lemma helps to express this dependence.
Lemma 3.1 (Substitution Lemma).
There are weights , for , independent of the location of the boundary vertices, such that
The weights are the offdiagonal entries of . If is integral, each is a multiple of .
Proof.
Let denote the vector , where is the component of the vector . We rephrase (7) as . With help of (6) we eliminate and obtain
(The matrix is the Schur complement of in .) For the coordinates, we obtain a similar formula with the same matrix . We define as the offdiagonal entries of . Since , the matrix is symmetric and therefore holds.
To show that the expression has the form stated in the lemma we have to check that all row sums in equal 0. Let denote the vector where all entries are , equivalently denotes the vector that contains only zeros as entries. Since each of the last rows of sums up to we have ; and hence . Plugging this expression into gives us , which equals . The matrix can be written as a rational expression whose denominator is the determinant of , and thus the weights are multiples of . ∎
In linear algebra terms, the lemma can be rephrased as saying that the Schur complement of a submatrix of a weighted Laplacian, if it exists, has again the form of a weighted Laplacian.
The proof assumes that is invertible. This is the case whenever the graph has no connected component that is a subset of . If such components exist, they can simply be omitted, since they are completely disconnected from and hence have no effect on the forces in . Hence, the lemma holds for arbitrary graphs, without any connectivity assumptions.
Example.
For the example of Figure 1, we obtain the following substitution stresses.
We emphasize that the values are independent of the location of and : they only depend on the combinatorial structure of . In other words, the stresses contain all the necessary information about the combinatorial structure of . Thus, we have a compact description (of size ) of the structure of that is responsible for the forces in . We call the stresses substitution stresses to emphasize that they are used as a substitution for the combinatorial structure of .
For the later analysis of the grid size it is necessary to bound the size of the substitution stresses. We first state a technical lemma.
Lemma 3.2.
Removing all vertices and edges of a face from a 3connected planar graph leaves a connected graph.
Proof.
After realizing as a polytope, the claim becomes a special case of the wellknown statement that a graph of a polytope in any dimension remains connected if the vertices of some face are removed. This statement can be proved by defining a linear objective function that realizes the minimum entirely on the removed vertices. Every remaining vertex is connected to the maximum vertex by a monotone increasing path. The objective function can be perturbed such that there is a unique maximum. ∎
Lemma 3.3.

Let be a stress that is positive on every interior edge. Any induced substitution stress is positive.

Let be the stress that is on every interior edge. Any induced substitution stress is smaller than .
Proof.
The substitution stresses are independent of the location of . Therefore, we can choose the positions for the boundary vertices freely. We place vertex at position and all other boundary vertices at . All vertices lie on the segment between and , which is the convex hull of the boundary vertices.
We now show that all interior vertices lie in the interior of this segment. If an interior vertex lies at then all its neighbors have to lie at as well. Otherwise the vertex cannot be in equilibrium. But since due to Lemma 3.2 all interior vertices are connected by interior edges this would imply that all interior vertices must lie at . This is a contradiction, since is also the neighbor of an interior vertex. By the same arguments one can show that no interior vertex can lie at . Therefore, all interior vertices have a positive coordinate strictly smaller than .
In our special embedding the force () can be expressed as . By (7) we have . Due to the results of the previous paragraph, this sum consists of at most summands, which are positive, and in the case smaller than 1. Both statements of the lemma follow. ∎
We are now ready to introduce the embedding algorithm. As a first step we construct a 2d embedding in equilibrium with respect to a stress with on the interior edges. In order to get equilibrium on the boundary vertices as well, we have to choose their locations and the stresses on the boundary edges appropriately. This leads to a nonlinear system in the unknowns , and and the unknown boundary stresses . Let be the Laplacian of the graph that consists of the outer face only, with unknown stresses for the boundary edges. The equations of the system are given by
(8) 
Since these equations are dependent, the system is underconstrained. To solve it, we fix as many boundary coordinates as necessary to obtain a unique solution. We also have to ensure that the solution defines a convex face. We continue with a case distinction on .
Case 1: contains a triangular face
The triangular case is easy: we can position the boundary vertices at any convenient position (see for example [14]). We choose:
(9) 
Lemma 3.4.
If contains a triangle and we place the boundary vertices as stated in (9) then the boundary forces can be resolved.
Proof.
We embed as barycentric embedding and calculate the substitution stresses. After setting all points are in equilibrium. ∎
Case 2: contains a quadrilateral but no triangular face
If is a quadrilateral we have to fix some coordinates of the boundary vertices such that it is possible to cancel the forces in . We used computer algebra software to experiment with various possibilities to constrain the coordinates and solve the nonlinear system (8). A unique solution can be obtained by setting
(10) 
with
(11) 
The solution of the equation system (8) provides also the stresses on the boundary edges. These stresses are not necessary for our further computations; we mention them here for completeness only.
(12) 
We assume that . (Otherwise we cyclically relabel the vertices on .) Since on the interior edges the substitution stresses are positive by Lemma 3.3. Under this assumption we can deduce that . Hence, forms a convex face.
Note that the substitution stresses between adjacent vertices (on the boundary) are irrelevant. The forces resulting by the boundary stresses can be directly canceled by the corresponding stresses . This can also be observed by looking at the solution of the corresponding equation system: Boundary stresses do not appear in the solution for . (Furthermore the sum for boundary edges does not depend on any other boundary stress either.)
Case 3: contains no triangular and no quadrilateral face
The case if the smallest face of is a pentagon is more complicated. We have substitution stresses , but the adjacent ones do not count (by the same reasons given in the previous case). So we are left with five “diagonal” substitution stresses , and .
Like in the previous cases we determine a unique solution of the equation system by fixing some of the coordinates of the outer face. However, we have to make more effort to guarantee the convexity of . We first observe:
Lemma 3.6.
We can relabel the boundary points for any stress such that
Proof.
Without loss of generality we assume that the largest stress on an interior edge is . If we are done. Otherwise we relabel the vertices by exchanging and . ∎
For the rest of this section we label the vertices such that Lemma 3.6 holds.
The way we embed depends on the substitution stresses .
Case 3A:
We assume that
(13) 
In this case we assign
(a) Case 3A  (b) Case 3B 
Figure 2(a) illustrates the location of the points. Together with the equations of (8) we obtain as solution for :
The boundary stresses are complicated expressions that are not necessary for further computations. We list them here for completeness only.
We have to check that forms a convex polygon.
Clearly, , since
the ’s are greater than zero and . Moreover
, because . The numerator of
is negative and due to (13) the denominator
of is positive. Therefore, and forms
a convex polygon.
Case 3B:
We assume the opposite of (13), namely
(14) 
The coordinates for the boundary vertices are chosen as
See Figure 2(b) for an illustration. This leads to the solution
The boundary stresses are once more not necessary for further computations and listed for completeness only.
The outer face is convex if . The inequalities and are equivalent to
Both inequalities hold, because we add only negative summands on the left side. It remains to check if . First we get rid of the denominator and bring all negative summands on the right side. This leads to the equivalent inequality
(15) 
We observe that and . Because of the assumption (14) we have . Therefore, the right side of (15) is greater than its left side, which shows that and forms a convex pentagon. This completes the case distinction and we conclude with the following lemma.
Lemma 3.7.
If we place the boundary vertices as discussed above, then the outer face will be embedded as a convex pentagon and the computed boundary stresses cancel the forces in . ∎
We have defined four different ways to embed . The selected embedding depends on the combinatorial structure . If contains a triangular face we say it is of type 3. If it contains a quadrilateral but no triangular face is of type 4. Otherwise the embedding depends on the substitution stresses induced by the combinatorial structure of . If (13) holds (Case 3A) is of type 5A, otherwise (Case 3B) we say is of type 5B.
3.2 Lifting the Plane Embedding and Scaling to Integrality
We continue with lifting the plane embedding of to . With help of the observations made in Section 2 the incremental computation of the 3d embedding is straightforward. It suffices to compute for every face the corresponding plane .
Since the embedding of is convex, the boundary stresses must necessarily be negative, since otherwise the boundary vertices could not be in equilibrium with all interior stresses being positive. Thus we do not need to explicitly check the sign of the boundary stresses. The sign pattern of the stress implies that the lifting of the plane embedding gives a convex polytope (see Proposition 1).
As described in Section 2, we begin the lifting by fixing the plane for some interior face as the plane. We set , , and compute the remaining planes face by face using equations (4) and (5). It is not necessary to compute the parameters of since we can determine the heights of by some plane of an interior face. Hence, the lifting can be computed using only stresses on interior edges. This simplifies the later analysis because all interior stresses are , whereas the boundary stresses are complicated expressions.
It can be observed that the computed lifting has rational coordinates. This is true because the barycentric embedding gives rational coordinates and the lifting process is based on multiplication and addition of the 2d coordinates. Hence, the coordinates are also rational. We analyze the common denominator of the coordinates to obtain scaling factors for the integral embedding. We use different scaling factors for the coordinates and for the coordinates.
As a consequence of Lemma 2.1 it is sufficient to scale to integer and coordinates. Furthermore we observe:
Lemma 3.8.
If the boundary points are integral, the barycentric embedding yields coordinates that are multiples of .
Proof.
The interior plane coordinates are a result of equation (6). By Cramer’s rule every coordinate can be expressed as
where is obtained from by replacing the th column of by . Since is integral, is the denominator of . The same holds for . ∎
Our first goal is to scale the plane embedding such that the boundary vertices get integer coordinates. Let be the integral scaling factor that gives integer boundary coordinates and be the integral scaling factor that gives integer boundary coordinates. Due to Lemma 3.8 the scaling factors and make all vertices integral. Since we choose integral scaling factors and no integer coordinate is scaled to a noninteger.
Let us now compute the factors that are necessary to scale to integer boundary coordinates. Clearly the scaling factors depend on the type of . If is of type then we need not scale, since all boundary coordinates are either or . If is of type we have to scale the coordinates only (see 11). We multiply with , which gives , which due to the Substitution Lemma is an integer.
If is of type we have to scale such that and become integral. We pick
It can be easily checked that these factors as well as and are integral.
When is of type , the only noninteger boundary coordinates are and , we need to scale in direction only. We choose
Again, due to the Substitution Lemma, , , and are all integral.
For every type of there is a pair of scaling factors , such that the scaled boundary points are integral. Table 1 summarizes the discussion and lists the final scaling factors depending on the type of .
type of  scaling factors 

3  