Small grid embeddings of 3-polytopes

# Small grid embeddings of 3-polytopes

Ares Ribó Mor Gesellschaft zur Förderung angewandter Informatik e.V., Berlin, Germany, ribo@gfai.de. Partially supported by the Deutsche Forschungsgemeinschaft within the European Research Training Network Combinatorics, Geometry and Computation (No. GRK 588/2).    Günter Rote Institut für Informatik, Freie Universität Berlin, Germany, rote@inf.fu-berlin.de.    André Schulz Institut für Mathematsche Logik und Grundlagenforschung, Universität Münster, andre.schulz@uni-muenster.de. Partially supported by the German Research Foundation (DFG) under grant SCHU 2458/1-1.
###### Abstract

We introduce an algorithm that embeds a given 3-connected planar graph as a convex 3-polytope 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 3-polytope, the graph determines the complete combinatorial structure. The graphs of 3-polytopes are characterized by Steinitz’ seminal theorem [31], which asserts that they are exactly the planar 3-connected graphs.

A natural question is to ask for a geometric realization of a 3-polytope 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 3-polytope by a graph with vertices. The original proof of Steinitz’ theorem transforms the 3-connected planar graph into the graph of the tetrahedron by a sequence of elementary operations. The transformation preserves the realizability as a 3-polytope. Since all operations can be carried out in the rationals, the proof gives a method to construct a realization of a 3-polytope 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 Koebe-Andreev-Thurston Circle Packing Theorem (see for example Schramm [28]). This approach relies on non-linear 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], Richter-Gebert [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 3-polytope. Richter-Gebert improved this bound to . A more careful analysis of Richter-Gebert’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 (Richter-Gebert [24]). We describe this method in Section 3.1 (p. 3.1) as Case 1 of our embedding algorithm. In Richter-Gebert’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 3-polytopes, 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 3-polytopes 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.

Little is known about the lower bound of a grid embedding of a 3-polytope. An integral convex embedding of an -gon in the plane needs an area of [1, 2, 32, 35]. Therefore, realizing a 3-polytope with an -gonal face requires at least one dimension of size .

##### Two Dimensions.

In the plane, planar 3-connected graphs can be embedded on a very small grid. For a crossing-free straight-line embedding an grid is sufficient [11, 27]. This is also true if the embedding has to be convex [4]. A strictly convex drawing can be realized on an grid [3].

##### Higher Dimensions.

Already in dimension 4, there are polytopes that cannot be realized with rational coordinates, and a 4-polytope that can be realized on the grid might require coordinates that are doubly exponential in the number of its vertices. Moreover, it is NP-hard to even decide if a lattice is a face lattice of a 4-polytope [24, 25].

##### Results.

In this article we develop an algorithm that realizes as a 3-polytope 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 non-linear 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 follow-up 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.

1. A vertex is in equilibrium in , if

 ∑j:(i,j)∈Eωij(pi−pj)=0. (1)
2. The embedding is in equilibrium if all vertices are in equilibrium.

3. 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 3-dimensional 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 3-connected 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 Maxwell-Cremona 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

 Hi:p↦⟨p,ai⟩+di. (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:

 al−ar=ωij(pi−pj)⊥, (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

 al =ωij(pi−pj)⊥+ar, (4) dl =ωij⟨pi,p⊥j⟩+dr. (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 straight-line embedding of a planar 3-connected 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 3-polytope.

###### 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 3-polytope 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 2d-embedding.

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 3-connected 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

 lij:=⎧⎪⎨⎪⎩−ωijif (i,j)∈E and i≠j,∑(i,j)∈Eωi,jif i=j,0otherwise.

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

 xI=−¯L−1LIBxB,yI=−¯L−1LIByB. (6)

For non-zero 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 non-resolving “forces”, which arise at the boundary vertices and cannot be canceled by the interior stresses:

 ∀i∈B∑(i,j)∈Eωij(pi−pj)=:Fi. (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

 Fi=∑j∈B:j≠i~ωij(pi−pj).

The weights are the off-diagonal 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

 Fx=LBBxB−LBI¯L−1LIBxB=:~LxB.

(The matrix is the Schur complement of in .) For the -coordinates, we obtain a similar formula with the same matrix . We define as the off-diagonal 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.

 −~L=⎛⎜⎝−~ω12−~ω13~ω12~ω13~ω12−~ω12−~ω23~ω23~ω13~ω23−~ω13−~ω23⎞⎟⎠=⎛⎜⎝−96/953/539/953/5−6/53/539/953/5−96/95⎞⎟⎠

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 3-connected planar graph leaves a connected graph.

###### Proof.

After realizing as a polytope, the claim becomes a special case of the well-known 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.
1. Let be a stress that is positive on every interior edge. Any induced substitution stress is positive.

2. 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 non-linear 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

 L0xB+~LxB=0,L0yB+~LyB=0. (8)

Since these equations are dependent, the system is under-constrained. 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: G 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:

 p1=(00),p2=(10),p3=(01). (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: G 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 non-linear system (8). A unique solution can be obtained by setting

 p1=(00),p2=(10),p3=(2y3),p4=(01), (10)

with

 y3=~ω242~ω13−~ω24. (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=−2~ω13−~ω12,ω23=~ω24−2~ω13−~ω23,ω34=−~ω242−~ω34,ω14=~ω24~ω13~ω24−2~ω13−~ω14. (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.)

###### Lemma 3.5.

If contains a quadrilateral and we place the boundary vertices as stated in (10) and (11), then forms a convex quadrilateral and the boundary stresses (12) cancel the forces . ∎

#### Case 3: G 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

 ~ω35≥~ω24and~ω25≥~ω13.
###### 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

 ~ω35~ω14+~ω14~ω25+~ω25~ω24+~ω13~ω35>~ω35~ω25. (13)

In this case we assign

 p1=(00),p2=(10),p3=(11),p4=(01),p5=(x5y5).

Figure 2(a) illustrates the location of the points. Together with the equations of (8) we obtain as solution for :

 x5=(~ω13−~ω25−~ω24)(~ω35+~ω13−~ω24)~ω35~ω14+~ω14~ω25+~ω25~ω24+~ω13~ω35−~ω35~ω25,
 y5=~ω35+~ω13−~ω24~ω35+~ω25.

The boundary stresses are complicated expressions that are not necessary for further computations. We list them here for completeness only.

 ω12 =~ω13(~ω225+~ω24~ω35+2~ω24~ω25−~ω13~ω25)+~ω14(~ω225+~ω25~ω35+~ω24~ω25+~ω35~ω24)~ω35~ω25−~ω14~ω25−~ω25~ω24−~ω13~ω35−~ω35~ω14−~ω12, ω34 =~ω14(~ω235+~ω35~ω13+~ω25~ω35+~ω13~ω25)+~ω24(~ω235+~ω13~ω25+2~ω13~ω35−~ω35~ω24)~ω35~ω25−~ω14~ω25−~ω25~ω24−~ω13~ω35−~ω35~ω14−~ω34, ω23 =~ω13~ω25+~ω25~ω35+~ω24~ω25−~ω25−~ω35−~ω23, ω45 =~ω24~ω25+~ω25~ω14+~ω14~ω35+~ω24~ω35~ω13−~ω24−~ω25−~ω45, ω15 =~ω13~ω25+~ω35~ω13+~ω14~ω25+~ω14~ω35~ω24−~ω35−~ω13−~ω15.

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

 ~ω35~ω14+~ω14~ω25+~ω25~ω24+~ω13~ω35≤~ω35~ω25. (14)

The coordinates for the boundary vertices are chosen as

 p1=(0−1),p2=(1y2),p3=(1y3),p4=(01),p5=(−10).

See Figure 2(b) for an illustration. This leads to the solution

 y2 =−2⋅~ω24~ω13+~ω24~ω35+~ω25~ω13+2~ω25~ω35−~ω213−2~ω13~ω35−~ω35~ω14~ω24~ω35+~ω25~ω13+2~ω25~ω35, y3 =−2⋅~ω24~ω13+~ω24~ω35+~ω25~ω13+2~ω25~ω35−~ω224−2~ω24~ω25−~ω14~ω25~ω24~ω35+~ω25~ω13+2~ω25~ω35.

The boundary stresses are once more not necessary for further computations and listed for completeness only.

 ω12 =−~ω24−2~ω25−~ω12, ω23 =−~ω25(~ω213+2~ω13~ω35+2~ω24~ω35)−~ω35(~ω224+~ω25~ω14)2~ω35(~ω24+~ω25−~ω13−12~ω14)+2~ω25(~ω13+~ω35−~ω24−12~ω14)−(~ω13−~ω24)2−~ω23, ω34 =−~ω14−2~ω15−~ω34, ω45 =~ω24−2~ω35−~ω13−~ω45, ω15 =~ω13−2~ω25−~ω24−~ω15.

The outer face is convex if . The inequalities and are equivalent to

 −~ω213−~ω35~ω14+~ω13(~ω24−2~ω35) <0 and −~ω224−~ω14~ω25+~ω24(~ω13−2~ω25) <0.

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

 ~ω213+~ω224+2~ω13~ω35+2~ω24~ω25+~ω25~ω14+~ω35~ω14<2~ω24~ω35+2~ω25~ω13+4~ω25~ω35+2~ω24~ω13. (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

 xi=det¯L(i)/det¯L,

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 non-integer.

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

 SBx =(~ω35~ω14+~ω14~ω25+~ω25~ω24+~ω13~ω35−~ω35~ω25)(det¯L)2, SBy =(~ω35+~ω25)det¯L.

It can be easily checked that these factors as well as and are integral.

When is of type , the only non-integer boundary coordinates are and , we need to scale in -direction only. We choose

 SBy=(~ω24~ω35+~ω25~ω13+2~ω25~ω35)(det¯L)2.

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 .