A Duality Transform for Constructing
Small Grid Embeddings of 3d Polytopes
Abstract
We study the problem of how to obtain an integer realization of a 3d polytope when an integer realization of its dual polytope is given. We focus on grid embeddings with small coordinates and develop novel techniques based on Colin de Verdière matrices and the Maxwell–Cremona lifting method.
We show that every truncated 3d polytope with vertices can be realized on a grid of size . Moreover, for every simplicial 3d polytope with vertices with maximal vertex degree and vertices placed on an grid, a dual polytope can be realized on an integer grid of size . This implies that for a class of simplicial 3d polytopes with bounded vertex degree and polynomial size grid embedding, the dual polytopes of can be realized on a polynomial size grid as well.
1 Introduction
By Steinitz’s theorem the graphs of convex 3d polytopes^{1}^{1}1In our terminology polytopes are always considered convex. are exactly the planar 3connected graphs [16]. Several methods are known for realizing a planar 3connected graph as a polytope with graph on the grid [4, 8, 13, 12, 14, 15]. It is challenging to find algorithms that produce polytopes with small integer coordinates. Having a realization with small grid size is a desirable feature, since then the polytope can be stored and processed efficiently. Moreover, grid embeddings imply good vertex and edge resolution. Hence, they produce “readable” drawings.
In 2d, every planar 3connected graph with vertices can be drawn with straightline edges on an grid without crossings [5], and a drawing with convex faces can be realized on an grid [2]. For the realization as a polytope the currently best algorithm guarantees an integer embedding with coordinates of size at most [3, 13]. The current best lower bound is [1]. Closing this gap is an intriguing open problem in lower dimensional polytope theory.
Recently, progress has been made for a special class of 3d polytopes, the socalled stacked polytopes. A stacking operation replaces a triangular face of a polytope with a tetrahedron, while maintaining the convexity of the embedding (see Fig. 1). A polytope that can be constructed from a tetrahedron and a sequence of stacking operation is called a stacked 3d polytope, or for the scope of this paper simply a stacked polytope. The graphs of stacked polytopes are planar 3trees. Stacked polytopes can be embedded on a grid that is polynomial in [6]. This is, however, the only nontrivial polytope class for which such an algorithm is known.
1.1 Our results
In this paper we introduce a duality transform that maintains a polynomial grid size. In other words, we provide a technique that takes a grid embedding of a simplicial polytope with graph and generates a grid embedding of a polytope whose graph is , the dual graph of . We call a 3d polytope with graph a dual polytope.
We prove the following result:
Theorem (Theorem 10).
Let be a triangulation with maximal vertex degree and let be a realization of as a convex polytope with integer coordinates. Then there exists a realization of the dual graph as a convex polytope with integer coordinates bounded by^{2}^{2}2 For convenience, throughout the paper we use for the Euclidean norm of the vector .
This, in particular, implies, that if we only consider simplicial polytopes with bounded vertex degrees and with integer coordinates bounded by a polynomial in , then the dual polytope obtained with our techniques has also integer coordinates bounded by a (different) polynomial in . Although our bound is not purely polynomial, it is in general an improvement over the standard approaches for constructing dual polytopes; see Sect. 1.2.
For the class of stacked polytopes (although their maximum vertex degree is not bounded) we can also apply our approach to show that all graphs dual to planar 3trees can be embedded as polytopes on a polynomial size grid. These polytopes are known as truncated polytopes. Truncated 3d polytopes are simple polytopes, which can be generated from a tetrahedron and a sequence of vertex truncations. A vertex truncation is the dual operation to stacking (Fig. 1). This means that a degree3 vertex of the polytope is cut off by adding a new bounding hyperplane that separates this vertex from the remaining vertices of the polytope. We prove the following theorem.
Theorem (Theorem 4).
Any truncated 3d polytope with vertices can be realized with integer coordinates of size .
1.2 Duality
There exist several natural approaches how to construct a dual polytope. To the best of our knowledge, all of them increase the coordinates of the original polytope in general by an exponential factor when scaled to integers.
The most prominent construction is polarity with respect to the sphere. Let be a polytope that contains the origin. Then is a polytope dual to , called its polar. The vertices of are intersection points of planes with integral normal vectors, and hence not necessarily integer points. In order to scale to integrality one has to multiply with the product of all denominators of its vertex coordinates, which may cause an exponential increase of the grid size.
An alternative approach goes via polarity with respect to the paraboloid: Every supporting hyperplane of a polytope facet can be described as the set of points , for which the equation holds (, , are parameters which depend on the hyperplane, the construction is not applicable to hyperplanes parallel to the axis). By mapping each facet to a vertex of the dual polytope with coordinates we obtain the desired polarity transformation. This transformation can also be formulated in terms of reciprocal diagrams and the Maxwell–Cremona correspondence [11].
Polarity with respect to the paraboloid does not necessarily provide small integer coordinates for two reasons. First, for a facet whose boundary points have integer coordinates, the parameters of the supporting hyperplane given by are rational. Thus, the polar polytope is realized with rational coordinates and an exponential factor might be necessary when scaling to integers. Second, the construction realizes the dual polytope in the projective space with one point “over the horizon”. The second property can be “fixed” with a projective transformation. This, however, makes a large scaling factor for an integral embedding unavoidable in the general case.
1.3 Structure
All of our algorithms work in two stages. We first construct an intermediate object that we call a coneconvex embedding of the graph. This object will be equipped with special edge weights, which we store in a matrix that is called CDV matrix. In the second stage we use an adaptation of the duality transform as introduced by Lovász (see [10]) to transform a coneconvex embedding of the primal graph to an embedding of the dual as a convex polytope.
We present a duality transform for stacked polytopes (Sect. 3), simplicial polytopes with a degree 3 vertex (Sect. 4), and for general simplicial polytopes (Sect. 5). The second stage is always carried out in the same way for all our algorithms. It is therefore presented first in Sect. 2. We conclude our presentation in Sect. 6 where we present an example of the embedding algorithm for truncated polytopes (Theorem 4).
1.4 Notation and Conventions
We denote by the graph of the original polytope, and by its dual graph. For any graph we write for its vertex set, for its edge set and for the set of neighbors of a vertex in . Since we consider 3connected planar graphs, the facial structure of the graph is predetermined up to a global reflection [17, Theorem 11]. The set of faces is therefore predetermined, and we name it . We denote the maximum vertex degree of a graph as . Finally, we write for the induced subgraph of a vertex set .
Every embedding of a graph to is always understood as a straightline embedding. Thus, an embedding of a graph to is defined by a map that assigns coordinates to every vertex. For simplicity we denote with for a graph with the vertex set . Naturally, an embedding of a graph with the vertex set to can be seen as a point in , that is . We typically use the letter to denote a vertex of an abstract graph, the letter for a vertex embedded in , and the letter for a vertex embedded in .
For convenience we use the square bracket notation for oriented volumes and areas (for 2d vectors is defined similarly):
Unless explicitly stated otherwise, the graphs we consider are planar and 3connected. We call an embedding of a graph into an integer embedding if the coordinates of its vertices are all integers. If not explicitly stated otherwise, the surfaces of polytopes are oriented so that the normal vector is an exterior normal vector to this polytope.
2 Lovász’ Duality Transform
In this section we review some of the methods Lovász introduced in his paper on Steinitz representations [10].
Definition 1.
We call an embedding of a planar 3connected graph in a coneconvex embedding, if its projection onto the sphere with edges drawn as geodesic arcs is a strictly convex embedding of into the sphere.
We remark that the embedding of a graph into the sphere is strictly convex if the faces of the embedding are strictly convex spherical polygons, or, in other words, the faces are the intersections of pointed convex disjoint polyhedral cones with the sphere. So, an embedding is coneconvex if the cones over its faces are pointed, convex and disjoint. Note that the vertices of a coneconvex embedding are not supposed to form a convex polytope.
Definition 2.
Let be an embedding of a graph into . We call a symmetric matrix a CDV matrix of the embedding if

, for , and

, for .
We call a CDV matrix positive if for all .
We remark that for a positive CDV matrix there are no conditions on the signs of the diagonal elements . Moreover, in our applications the diagonal elements play a purely technical role and never appear in geometrical constructions. Thus, we never bound the diagonal elements and do not put conditions on their signs. Note also that the CDV matrices of an embedding form a linear space with respect to the standard matrix addition and multiplication with scalars.
We refer to the second condition in the above definition as the CDV equilibrium condition. The CDV equilibrium condition can also be expressed in a slightly different, more geometric form as
(1) 
The name CDV matrix was chosen in correspondence with Colin de Verdière matrices as defined in [10]. In our paper, however, we use only the geometrical arguments from [10] and thus do not rely on the more restrictive and more technical notion of Colin de Verdière matrices, which has its roots in spectral graph theory. We remark, that by [10, Theorem 7] and the following discussion, every positive CDV matrix of a coneconvex embedding of a graph is a Colin de Verdière matrix of , whose entries are multiplied with 1.
Since the CDV matrix is a natural 3d counterpart to the 2d notion of equilibrium stress (which we introduce in Sect. 3.1) we refer to its entries as stresses. We show the connection between these two notions in Lemma 3 and in Subsect. 5.2.
The following lemma is due to Lovász [10], we include the proof since it illustrates how to construct a realization out of a CDV matrix.
Lemma 1 (Lemma 4, [10]).
Let be a coneconvex embedding of a planar 3connected graph with a positive CDV matrix . Then every face in can be assigned with a vector , s.t. for each adjacent face and separating edge
(2) 
where lies to the left and lies to the right from . The set of vectors is uniquely defined up to translations.
In the remaining of the paper we refer to a pair of dual edges and from the above lemma without explicitly mentioning their orientation.
Proof.
To construct the family of vectors , we start by assigning an arbitrary value to (for an arbitrary face ); then we proceed iteratively picking vectors such that Eq. (2) is fulfilled. To prove the consistency of the construction, we show that the differences sum to zero over every cycle in . Since as well as is planar and 3connected, it suffices to check this condition for all elementary cycles of , which are the faces of . Let denote the set of counterclockwise oriented edges of the face in dual to . Then, combining (1) and (2) yields
The vectors are unique up to the initial choice for . ∎
Note that there is a canonical way to derive a CDV matrix from a 3d polytope [10]. Every 3d embedding of a graph as a polytope possesses a CDV matrix defined by the vertices of its polar and Eq. (2). We call theses matrices canonical CDV matrices. For a convex polytope containing the origin in its interior the canonical CDV matrix is positive. Canonical CDV matrices are used in Sect. 5 where we give the full definition and details.
The vectors constructed in Lemma 1 satisfy the following crucial property:
Lemma 2 (Lemma 5, [10]).
Let be a coneconvex embedding of a planar 3connected graph with a positive CDV matrix . Then for any set of vectors fulfilling (2), the convex hull is a convex polytope with graph ; and the isomorphism between and the skeleton of is given by .
Lovász formulates this result with an additional constraint for all vertices of , that is for an embedding of a graph onto the sphere. However, he never uses this constraint in the proof. Additionally, he formulates the rescaling property of CDV matrices showing why the renormalization of doesn’t change the result (we review this property in details later in Lemma 7).
Theorem 1.
Let be a planar 3connected graph, let be its coneconvex embedding with integer coordinates and let be a positive CDV matrix with integer entries. Then there exists a realization of the dual graph as a convex polytope with integer coordinates bounded by
Proof.
We use Lemma 1 to construct that satisfy (2) and such that for a distinguished face . Lemma 2 guaranties that form a convex polytope with graph . Since satisfy (2), and all as well as all are integral, all have integer coordinates as well.
To finish the proof we estimate how large the vectors are. We evaluate for some face . The following algebraic expression holds for all values :
Let us now consider the shortest path in connecting the faces and . Clearly, is less than , and hence
∎
3 A Duality Transform for Truncated polytopes
3.1 Equilibrium stresses
We describe next the connection between convex 2d embeddings with positive equilibrium stresses and coneconvex 3d embeddings with positive CDV matrices. We follow the presentation of [6] and define:
Definition 3.
An assignment of scalars (denoted by ) to the edges of a graph is called a stress. A stress is an equilibrium stress for an embedding of into if for every vertex
We call an equilibrium stress of a 2d embedding with a distinguished boundary face positive if it is positive on every edge that does not belong to .
The concept of equilibrium stress plays a central role in the classical Maxwell–Cremona lifting approach and it is also a crucial concept in our embedding algorithm. The following lemma establishes some preliminary connections between equilibrium stresses and CDV matrices.
Lemma 3.
Let be an embedding of a graph into . The following three statements hold:

Let be the graph with one additional vertex connected with every vertex in , and let be an embedding of into equipped with an equilibrium stress . Then the assignment
defines a CDV matrix for the embedding of .

Let be an equilibrium stress for the embedding . Then the assignment
defines a CDV matrix for .

Let be a flat embedding that lies in a plane not containing the origin. Let be a CDV matrix for . Then defines an equilibrium stress for .
Proof.
1. We check that the CDV equilibrium holds by noting that for every :
The second transition holds due to the definition of and . The last transition holds since by the definition of equilibrium stress and .
2. We construct the embedding of the graph and extend the equilibrium stress of to an equilibrium stress of by assigning zeros to all the new edges . Then we use part 1 of the lemma to finish the proof.
3. We denote by the plane of the flat embedding . We rewrite the CDV equilibrium condition:
and notice that, the first summand, if nonzero, is parallel to the plane while the second is not, so both must equal zero and thus
∎
3.2 The stacking approach
Here we present an approach for constructing 3d coneconvex embeddings with CDV matrices from 2d convex embeddings with equilibrium stress by stacking an additional vertex (tetrahedron) to the graph. We denote a graph obtained from by stacking a vertex on a face by .
Theorem 2.
Let be a 2d integer planar convex embedding of a planar 3connected graph with a designated triangular face embedded as the boundary face. Let be a positive integer equilibrium stress for .
Then the embedding of the graph defined as
where for , is an integral coneconvex embedding and there exists a positive integer CDV matrix for such that
Proof.
The embedding can be described as follows: The embedding of is realized in the plane , scaled 3 times, and translated so that the barycenter of the boundary face coincides with the origin. The stacked vertex is then placed at . The embedding is coneconvex since it describes a tetrahedron containing the origin with one face that is refined with a plane convex subdivision.
Following the structure of , we decompose into two subgraphs: and .
We first compute a CDV matrix for the embedding of . The plane embedding of comes with an integer equilibrium stress . Since is just a rescaling and translation of , clearly, is also an equilibrium stress for and we use part 2 of Lemma 3 to transform it into the integer CDV matrix .
As a second step we compute a CDV matrix for the embedding of the tetrahedron . The tetrahedron possesses a trivial CDV matrix: By the construction, . Thus, the matrix
is a CDV matrix for the embedding of .
In the final step we extend the two CDV matrices and to and combine them. Clearly, a CDV matrix padded with zeros remains a CDV matrix. Furthermore, any linear combination of CDV matrices is again a CDV matrix. Thus, we form an integer CDV matrix for the whole embedding of by setting:
where is a positive integer chosen so that is a positive CDV matrix. This can be done as follows. Recall that is a positive stress and is a positive CDV matrix. Hence, the only six entries in corresponding to edges of that may be negative are: , and (and their symmetric entries), for which with and . Thus, we choose such that is positive at these entries. To satisfy this condition we pick
The bound for every edge of trivially follows. ∎
3.3 Realizations of Truncated Polytopes
We can now combine the previous results in Theorem 3 before presenting the embedding algorithm for truncated polytopes in Theorem 4.
Theorem 3.
Let and let be a planar 2d embedding of with integer coordinates, boundary face , and a positive integer equilibrium stress . Then there exists a realization of the graph , dual to , as a convex polytope with integer coordinates such that
Proof.
Next we apply Theorem 3 to construct an integer polynomial size grid embedding for truncated polytopes. To construct small integer 2d embeddings with a small integer equilibrium stress we use a result by Demaine and Schulz [6]:
Lemma 4.
Any graph of a stacked polytope with vertices and any distinguished face can be embedded on a grid with boundary face and with integral positive equilibrium stress such that, for every edge , we have .
Proof.
This lemma is not explicitly stated in [6] but it is a byproduct of the presented constructions. In particular, the estimates for the coordinate size are stated there in Theorem 1 and the integer stresses are defined there by Lemma 9.
Recently, a flaw was discovered in [6], which affected the estimates. The flaw was within the balancing procedure, Sect. 3.1 of [6]. It was corrected in the latest version of the paper [7, Lemma 7].
The fix affected the estimate of Eq. (3.3) in [6] and the numbers in the following computations (but not the arguments). Since we need the corrected computations for the bounds of this lemma we report briefly the necessary changes using the exact notations of the original paper. The updated bound of Eq. (3.3) is [7, Lemma 7] instead of . We denote this bound with . To correct the values in Sect. 3.3 we replace in the computations with . In particular, in Subsect. 3.3.1 the (preliminary) boundary face is now given by . In Subsect. 3.3.2 the (final) boundary face is now given by ; and the corrected scaling factor for the stress is . The lemma follows by taking the updated values from [6]. ∎
Theorem 4.
Any truncated 3d polytope with vertices can be realized with integer coordinates of size .
Proof.
Let be the graph of the truncated polytope and its dual. Clearly, is the graph of a stacked polytope with vertices. We denote the last stacking operation (for some sequence of stacking operations producing ) as the stacking of the vertex onto the face of the graph . The graph is again a graph of a stacked polytope, and hence, by Lemma 4, there exists an embedding of into with an equilibrium stress satisfying the properties of Theorem 3. We apply Theorem 3 and obtain a polytope embedding of with bound
∎
4 A Duality Transform for Simplicial Polytopes with a Degree3 Vertex
In this section we develop a duality transform for simplicial polytopes with a degree3 vertex and some special geometric properties. This result is an easy consequence of new results on 2d equilibrium stresses, which will be presented first: the wheeldecomposition theorem and an efficient reverse of the Maxwell–Cremona lifting.
4.1 Wheel decomposition for equilibrium stresses
The decomposition of an equilibrium stress into a linear combination of “local” equilibrium stresses will be the key for the next embedding algorithm. The WheelDecomposition Theorem presented in this subsection provides the underlying theory.
Before proceeding, let us review how the canonical equilibrium stress associated with an orthogonal projection of a 3d polytope in the plane can be described. The assignment of heights to the interior vertices of a 2d embedding resulting in a polyhedral surface is called a (polyhedral) lifting. By the Maxwell–Cremona correspondence the equilibrium stresses of a 2d embedding of a planar 3connected graph and its liftings (modulo arbitrary choice of lifting for any one face of the graph) are in 11 correspondence. Moreover, the bijection between liftings and stresses can be defined as follows. Let be a 2d drawing of a triangulation and let be the 3d embedding induced by some lifting. We map this lifting to the equilibrium stress by assigning to every edge separating the faces (on the left) and (on the right)
(3) 
We refer to this stress as the canonical equilibrium stress of a projection. This mapping gives the desired bijection. The expression of Eq. (3) is a slight reformulation of the form presented in Hopcroft and Kahn [9, Equation 11]. We note that the canonical equilibrium stress is defined only when the denominators participating in Eq.(3) are nonzero, that is when none of the faces of the projection is degenerate.
We continue by studying the spaces of equilibrium stresses for triangulations. A graph formed by a vertex , called center, connected to every vertex of a cycle , called base, is called a wheel (no other edge is present, see Fig. 3); we denote it as . A wheel that is a subgraph of a triangulation with as a center is denoted by . Every triangulation can be “covered” with a set of wheels , so that every edge is covered four times (Fig. 3).
Lemma 5.
Let be an embedding of a wheel in , such that for every the points , and are noncollinear (we use the cyclic notation for the vertices of the base of the wheel). Then the following expression defines an equilibrium stress:
The equilibrium stress for the embedding is unique up to a renormalization.
Proof.
Let be the lifting of such that and for . Then is the orthogonal projection of and we can compute the canonical equilibrium stress given by Eq. (3) on it. However, the canonical equilibrium stress is defined only for simplicial polytopes. To make it applicable to the wheel, we arbitrarily triangulate the possibly nontriangular “base face” . Since the newly introduced edges are flat in the lifting , the canonical equilibrium stress is zero on these edges. Thus only the original edges of carry the stress. To finish the proof we note that the stress from the statement of the lemma exactly coincides with the computed canonical equilibrium stress, thus it is an equilibrium stress. The space of equilibrium stresses on a wheel is 1dimensional, since the space of polyhedral liftings of the wheel is 1dimensional. ∎
Definition 4.

In the setup of Lemma 5, we call the equilibrium stress the small atomic stress of the wheel and denote it as .

We call the stress that is obtained by the multiplication of by the factor , the large atomic stress of .
We note that the large atomic stresses are products of triangle areas multiplied by , and thus, all stresses are integers if is realized with integer coordinates.
Theorem 5 (WheelDecomposition Theorem for Equilibrium Stresses).
Let be a triangulation and be an embedding of to such that every face of is realized as a nondegenerate triangle. Then every equilibrium stress on can be expressed as a linear combination of the small atomic stresses on the wheels
The decomposition is not unique: valid coefficients are given by the heights (i.e., coordinates) of the corresponding vertices in any of the Maxwell–Cremona liftings of induced by .
Proof.
Maxwell–Cremona lifting procedure defines a linear isomorphism between the linear spaces of equilibrium stresses and of polyhedral liftings of a planar embedding of a graph.
As shown in Lemma 5, the atomic stress corresponds to a lifting that lifts the vertex to the height 1 and leaves all the other vertices untouched. Thus the stress that lifts the th vertex to is exactly the linear combination .
∎
4.2 An Efficient Reverse of the Maxwell–Cremona Lifting
The direct way to reverse the Maxwell–Cremona lifting procedure would be to project the 3d embedding of a graph to a plane and to calculate stresses using Eq. (3). If the 3d embedding has polynomial size integer coordinates, the calculated stresses are, generally speaking, rational, and when scaled to integers may increase by an exponential factor. The following theorem provides a more careful method by allowing a small perturbation of the canonical equilibrium stress as given by Eq. (3).
Theorem 6 (Reverse of the Maxwell–Cremona Lifting).
Let be an embedding of a triangulation into such that none of the planes supporting the faces of is orthogonal to the plane and no pair of adjacent faces is coplanar. Let be the orthogonal projection of to the plane . Then one can construct an integer equilibrium stress on such that
and for the canonical equilibrium stress on as defined by Eq. (3).
Proof.
Let be the size of the grid containing the initial embedding. We start with the canonical equilibrium stress as specified by Eq. (3) for the embedding . Since all the coordinates are integers, and the embedding has no flat edges, all stresses are bounded by
We are left with making these stresses integral while preserving a polynomial bound. The faces of are nonvertical, thus the faces of are nondegenerate and we may apply the WheelDecomposition Theorem to the stress : we rewrite it as a linear combination of the large atomic stresses of the wheels,
We remark that since we use large atomic stresses, coefficients are not the coordinates of , but these coordinates divided by the multiplicative factor from the definition of the large atomic stress. Since all the points have integer coordinates, the large atomic stresses are integers as well. Moreover, each of them, as a product of triangle areas, is bounded by .
To make the s integral we round the coefficients down. To guarantee that the rounding does not alter the signs of the stress, we scale the atomic stresses (before rounding) with the factor
and define as the new stress:
Clearly,
where the third inequality holds since exactly four wheels participate in the wheel decomposition of every single edge. Thus, . From the last equation it also follows that none of the stresses are zero.
Therefore, the constructed equilibrium stress is integral and of the same sign structure as the canonical equilibrium stress. We conclude the proof with an upper bound on its size. Since ,
∎
4.3 The duality transform
As an instant byproduct of the techniques developed in this section we can now prove the duality transform for simplicial polytopes with special geometry and a degree3 vertex.
Theorem 7.
Let be a triangulation and let be its realization as a convex polytope with integer coordinates, such that its orthogonal projection into the plane is a planar embedding of with boundary face . Then the exists a realization of a graph dual to with integer coordinates bounded by
We remark that the algorithms following the lifting approach, e.g. [14], generate embeddings that fulfill the conditions of the above theorem.
The construction presented in this section can be modified for general simplicial polytopes without restrictions on the geometry and without a degree3 vertex. However, such a modification requires a substantial amount of technicalities and leads to much worse estimates than the 3dimensional techniques developed in the next section.
5 A Duality Transform for General Simplicial polytopes
Unlike the transforms for stacked polytopes (Theorem 4) and for a special case of simplicial polytopes with a degree3 vertex (Theorem 7), the algorithms of this section are intrinsically 3dimensional and use neither planar (flat) embeddings in intermediate steps, nor 2dimensional equilibrium stresses.
5.1 Canonical CDV matrices
We begin with an accurate description of the canonical CDV matrix for a spacial embedding of a graph, first shortly mentioned in Sect. 2. The following construction is due to Lovász [10], we cite the proof due to its simplicity.
Lemma 6 ([10], Sect.5).
Let be an embedding of a graph into as a polygonal surface (straightline embedding with each face realized as a flat polygon) such that none of the planes supporting the faces of passes through the origin. Let be the vectors normal to the faces of normalized so that for every point of the face .
Then there exists a unique CDV matrix for such that Eq. (2) holds for each pair of dual edges and .
Definition 5.
We call a matrix defined above the canonical CDV matrix of an embedding.
Proof of Lemma 6
First, we check that the left and right hand sides of Eq. (2) are parallel vectors and and thus the equation correctly defines for . Indeed, for
by the chosen normalization of normals and
by the definition of dot product. The vectors and span a plane since, if they were parallel, planes supporting both faces and would pass through the origin. So, both sides of Eq. (2) are orthogonal to the plane spanned by the vectors and and thus are parallel. Since the vectors and are not parallel, . Thus, Eq. (2) uniquely defines for .
Second, we set the diagonal so that the CDV equilibrium condition holds. We can always achieve this due to the following observation: First note that
where is the cyclic sequence of faces incident to . So,
and since there exists a unique such that
All the offdiagonal nonedge elements of are filled with zeroes.
5.2 CDV matrices and equilibrium stresses
We show now that the linear spaces of CDV matrices and of equilibrium stresses are indeed isomorphic by presenting a projective transformation between these two spaces. This correspondence is also of independent interest as it highlights the projective nature of the notion of equilibrium stress. We start by observing that the CDV matrices can be arbitrarily rescaled together with the embedding. This result was already noted by Lovász [10]; we include the proof for completeness. The graphs in this subsection are not necessarily be planar nor 3connected.
Lemma 7.
Let and be two embeddings of a graph into such that