1 Introduction

contact system is a set of curves (closed or not) in the plane such that two curves cannot cross but may intersect tangentially. A contact point of a contact system is a point that is in the intersection of at least two curves. A contact representation of a graph G=(V,E) is a contact system \(\mathcal{C}=\{c(v) : v\in V\}\), such that two curves intersect if and only if their corresponding vertices are adjacent.

The Circle Packing Theorem of Koebe [14] states that every planar graph admits a contact representation by circles.

Theorem 1

(Koebe [14])

Every planar graph admits a contact representation by circles.

Theorem 1 implies that every planar graph has a contact representation by convex polygons, and de Fraysseix et al. [3] strengthened this by showing that every planar graph admits a contact representation by triangles. A contact representation by triangles is strict if each contact point is a corner of exactly one triangle. De Fraysseix et al. [3] proved the following:

Theorem 2

(De Fraysseix et al. [3])

Every planar graph admits a strict contact representation by triangles.

Moreover, de Fraysseix et al. [3] proved that strict contact representations by triangles of a planar triangulation are in one-to-one correspondence with its Schnyder woods defined by Schnyder [16]. (Schnyder wood will be defined in Sect. 2.2.)

Andreev [1] strengthen Theorem 1 in terms of a simultaneous contact representation of a planar map and of its dual. The dual of a planar map G=(V,E) is noted G =(V ,E ). A primal–dual contact representation \((\mathcal{V},\mathcal{F})\) of a planar map G is two contact systems \(\mathcal{V}=\{c(v) : v\in V\}\) and \(\mathcal{F}=\{c(f) : f\in V^{*}\}\), such that \(\mathcal{V}\) is a contact representation of G, and \(\mathcal{F}\) is a contact representation of G , and for every edge uv, bordering faces f and g, the intersection between c(u) and c(v) is the same point as the intersection between c(f) and c(g). A contact point of a primal–dual contact representation is a contact point of V or a contact point of F. Andreev [1] proved the following:

Theorem 3

(Andreev [1])

Every 3-connected planar map admits a primal–dual contact representation by circles.

Our main result is an analogous strengthening of Theorem 2. We say that a primal–dual contact representation by triangles is tiling if the triangles corresponding to vertices and those corresponding to bounded faces form a tiling of the triangle corresponding to the outer face (see Fig. 1). We say that a primal–dual contact representation by triangles is strict if each contact point is a corner of exactly three triangles corresponding to vertices or faces (see Fig. 1). We prove the following:

Fig. 1
figure 1

A strict tiling primal–dual contact representation by triangles

Theorem 4

Every 3-connected planar map admits a strict tiling primal–dual contact representation by triangles.

Gansner et al. [11] study representation of graphs by triangles where two vertices are adjacent if and only if their corresponding triangles are intersecting on a side (touching representation by triangles). Theorem 4 shows that for 3-connected planar graphs, the incidence graph between vertices and faces admits a touching representation by triangles.

The tools needed to prove Theorem 4 are introduced in Sect. 2. In Sect. 2.1, we present a result of de Fraysseix et al. [5] concerning the stretchability of a contact system of arcs. In Sect. 2.2, we define (generalized) Schnyder woods and present related results obtained by Felsner [7]. In Sect. 3, we define a contact system of arcs, based on a Schnyder wood, and show that this system of arcs is stretchable. When stretched, this system gives the strict tiling primal–dual contact representation by triangles. In Sect. 4, we show that strict tiling primal–dual contact representations by triangles of a planar map are in one-to-one correspondence with its Schnyder woods. In Sect. 5, we define the class of planar maps admitting a Schnyder wood and thus a strict tiling primal–dual contact representation by triangles. In Sect. 6, we discuss possible improvements of Theorem 4.

2 Tools

2.1 Stretchability

An arc is a non-closed curve. An internal point of an arc is a point of the arc distinct from its extremities. A contact system of arcs is strict if each contact points is internal to at most one arc. A contact system of arcs is stretchable if there exists a homeomorphism which transforms it into a contact system whose arcs are straight line segments. An extremal point of a contact system of arcs is a point on the outer-boundary of the system and which is internal to no arc.

We define in Sect. 3 a contact system of arcs such that when stretched it gives a strict tiling primal–dual contact representation by triangles. To prove that our contact system of arcs is stretchable, we need the following theorem of de Fraysseix et al. [5].

Theorem 5

(de Fraysseix et al. [5])

A strict contact system of arcs is stretchable if and only if each subsystem of cardinality at least two has at least three extremal points.

2.2 Schnyder Woods

The contact system of arcs defined in Sect. 3 is constructed from a Schnyder wood.

Schnyder woods where introduced by Schnyder [16] and then generalized by Felsner [7]. Here we use the definition from [7] except if explicitly mentioned. We refer to classic Schnyder woods defined by Schnyder [16] or generalized Schnyder woods defined by Felsner [7] when there is a discussion comparing both.

Given a planar map G. Let x 0, x 1, x 2 be three distinct vertices occurring in clockwise order on the outer face of G. The suspension G σ is obtained by attaching a half-edge that reaches into the outer face to each of these special vertices. A Schnyder wood rooted at x 0, x 1, x 2 is an orientation and coloring of the edges of G σ with the colors 0, 1, 2 satisfying the following rules (see Fig. 2):

  • Every edge e is oriented in one direction or in two opposite directions. We will, respectively, say that e is uni- or bi-directed. The directions of edges are colored such that if e is bi-directed the two directions have distinct colors.

  • The half-edge at x i is directed outwards and colored i.

  • Every vertex v has out-degree one in each color. The edges e 0(v), e 1(v), e 2(v) leaving v in colors 0, 1, 2, respectively, occur in clockwise order. Each edge entering v in color i enters v in the clockwise sector from e i+1(v) to e i−1(v) (where i+1 and i−1 are understood modulo 3).

  • There is no interior face the boundary of which is a directed monochromatic cycle.

Fig. 2
figure 2

(a) Edge colored, respectively, with color 0, 1, and 2. We use distinct arrow types to distinguish those colors. (b) Rules for Schnyder woods and angle labelings. (c) Example of angle labeling around an uni-directed edge colored 0. (d) Example of angle labeling around a bi-directed edge colored 2 and 1

The difference with the original definition of Schnyder [16] it that edges can be oriented in two opposite directions.

A Schnyder wood of G σ defines a labeling of the angles of G σ where every angle in the clockwise sector from e i+1(v) to e i−1(v) is labeled i.

Schnyder angle labelings of G σ is a labeling of the angles of G σ with the labels 0, 1, 2 satisfying the following rules (see Fig. 2):

  • The two angles at the half-edge of the special vertex x i have labels i+1 and i−1 in clockwise order.

  • Rule of vertices: The labels of the angles at each vertex form, in clockwise order, a nonempty interval of 0’s, a nonempty interval of 1’s and a nonempty interval of 2’s.

  • Rule of faces: The labels of the angles at each interior face form, in clockwise order, a nonempty interval of 0’s, a nonempty interval of 1’s and a nonempty interval of 2’s. At the outer face the same is true in counterclockwise order.

Felsner [8] proved the following correspondence:

Theorem 6

(Felsner [8])

Schnyder woods of G σ are in one-to-one correspondence with Schnyder angle labelings.

Several properties of Schnyder woods will be used. Given a Schnyder wood, let T i be the set of edges colored i with the direction they have in this color. Felsner [7] proved the following:

Lemma 1

(Felsner [7])

For i∈{0,1,2}, the digraph T i is a tree rooted at x i .

By Lemma 1, every vertex v is the starting vertex of a unique directed path P i (v) from v to x i , composed of arcs colored i (see Fig. 3). Felsner [7] proved the following:

Fig. 3
figure 3

Directed paths and regions corresponding to a vertex

Lemma 2

(Felsner [7])

For every vertex v and i,j∈{0,1,2}, ij, the two paths P i (v) and P j (v) have v as only common vertex.

By Lemma 2, for every vertex v, the three paths P 0(v), P 1(v), P 2(v) divide G into three regions R 0(v), R 1(v) and R 2(v), where R i (v) denotes the region bounded by and including the two paths P i−1(v) and P i+1(v) (see Fig. 3). In fact R i (v) will also be used to denote the set of vertices in this region. Let r i (v) be the number of faces in the region R i (v).

Felsner [7] proved the following:

Lemma 3

(Felsner [7])

For all distinct vertices u, v, we have

  1. (i)

    R i (u)⊆R i (v) if and only if uR i (v).

  2. (ii)

    R i (u)=R i (v) if and only if there is a path between u and v, with all edges oriented in two opposite directions, colored i−1 in one direction and i+1 in the other direction.

  3. (iii)

    There exist i and j with R i (u)⊆̷R i (v) and R j (v)⊆̷R j (u).

From Lemma 3 we can deduce some lemmas that will be use several time in the proof of Lemma 7.

Lemma 4

For all distinct vertices u, v such that uP i (v), we have vR i (v)⊆̷R i (u).

Proof

We can assume without loss of generality that i=1. By induction it suffices to show that for all u, v such that e 1(v)=uv, we have R 1(v)⊆̷R 1(u). We have uP 1(v), so uR 0(v) and uR 2(v) (see Fig. 3). By Lemma 3(i), we have R 0(u)⊆R 0(v) and R 2(u)⊆R 2(v). So by Lemma 3(iii), R 1(v)⊆̷R 1(u). □

Lemma 5

Let vertices u,v be such that uP i−1(v) and vP i+1(u), then R i (u)=R i (v) and there is a bi-directed path between u and v colored i−1 from v to u and colored i+1 from u and v.

Proof

We can assume without loss of generality that i=1. As uP 0(v)⊆R 1(v), Lemma 3(i) implies that R 1(u)⊆R 1(v). As vP 2(u)⊆R 2(u), Lemma 3(i) also implies that R 0(v)⊆R 0(u). So R 0(w)=R 0(v) and by Lemma 3(ii), there is a bi-directed path Q in color 0 and 2 between v and w. As uP 0(v), by Lemma 2, we have uP 2(v), so Q is colored 0 from v to u and colored 2 from u to v. □

Lemma 6

Let u,v,w be such that uv is uni-directed from u to v in color i+1, wP i (v) and vP i−1(w), then R i (u)⊆̷R i (w).

Proof

We can assume without loss of generality that i=1.

Suppose R 1(u)⊈R 1(w). Then by Lemma 3(i) uR 1(w). Since wP 1(v), Lemma 4 implies that vR 1(w). Since u and v are adjacent, vertex v is on the “border“ of R 1(w), that is, we have either vP 0(w) or vP 2(w) (see Fig. 3). So by the assumption that vP 0(w), we have vP 2(w). We also have wP 1(v), so Lemma 5 implies that R 0(v)=R 0(w). Now since uR 1(w) and u is adjacent to v in P 2(w), we have uR 0(w). So uR 0(v), a contradiction to the fact that the edge uv is uni-directed from u to v in color 2 by definition of Schnyder woods (see Fig. 2).

Suppose we have equality R 1(u)=R 1(w), then by Lemma 3(ii) there is a bi-directed path Q in colors 0,2 between u and w. The edge e 2(u) (leaving u in color 2) is equal to uv and is uni-directed so it is not an edge of Q. So the path Q is colored 0 from u to w and colored 2 from w to u. The path P 2(w) goes from w to u by path Q and then to v by edge uv, so vP 2(w). We also have wP 1(v), so Lemma 5 implies that R 0(w)=R 0(v) and that there is a bi-directed path Q′ in colored 1 from v to w and colored 2 from w to v. There is a unique path from w to v colored 0, so the neighbor of v along Q′ is u, contradicting the fact that uv is uni-directed.

So R 1(u)⊆̷R 1(w). □

3 Mixing Tools

Given a planar map G and a Schnyder wood of G rooted at x 0, x 1, x 2 we construct a contact system of arcs \(\mathcal{A}\) corresponding to the Schnyder wood by the following method (see Fig. 4).

Fig. 4
figure 4

A Schnyder wood with its corresponding angle labeling and contact system of arcs

Each vertex v is represented by three arcs a 0(v),a 1(v),a 2(v), where the arc a i (v) is colored i and represent the interval of angles labeled i of v. It may be the case that a i (u)=a i (v) for some values of i, u and v. For every edge e of G, we choose a point p(e) on its interior. There is also such a point on the half-edge leaving x i , for i∈{0,1,2}. The points p(e) are the contact points of the contact system of arcs.

Actually the arcs of \(\mathcal{A}\) are completely defined by the following subarcs: For each angle labeled i at a vertex v in-between the edges e and e′, there is a subarc of a i (v) going from p(e) to p(e′) along e and e′. Each contact point p(e) is the end of 4 such subarcs. The Schnyder labeling implies that the three colors are represented at p(e) and so the two subarcs with the same color are merged and form a longer arc.

One can easily see that this defines a contact system of arcs whose contact points are the points p(e). By construction, there are no crossing arcs. Moreover, there is no closed curve as a closed curve in color i would imply the existence of a cycle of G with edges bi-oriented in color i−1 and i+1, which is forbidden by Lemma 1.

It is also clear that the arcs satisfy the following rules:

  • For every edge e=vw uni-directed from v to w in color i: The arcs a i+1(v) and a i−1(v) end at p(e) and the arc a i (w) goes through p(e).

  • For every edge e=vw bi-directed, leaving v in color i and leaving w in color j: Let k be such that {i,j,k}={0,1,2}. The arcs a j (v) and a i (w) ends at p(e), and the arcs a k (v) and a k (w) are equal and go through p(e).

Remark

Felsner [8] has shown that generalized Schnyder woods can be embedded on orthogonal drawings where the position of a vertex in the 3-dimensional space is given by the coordinates (r 1(v),r 2(v),r 3(v)). The contact system of arcs corresponding to a Schnyder wood can also be drawn on this surface in such a way that the contact points are precisely the edge-vertices of the drawing (see [9] for definition of edge-vertices). A possible generalization of shelling orders [6] to generalized Schnyder wood is to consider the orders given by the three coordinates in the orthogonal drawing. The proof of Lemma 7 is not using orthogonal drawings but relies on considering the orders on r i (v) and thus can be understood as considering the corresponding shelling orders in orthogonal drawings. Here we do not use orthogonal drawings in the proof as the only properties that are useful concerning the regions R i (v) are given by Lemma 3.

The following lemma will be used to transform the contact system of arcs into a strict tiling primal–dual contact representation by triangles.

Lemma 7

The contact system of arcs corresponding to a Schnyder wood is stretchable.

Proof

Let G be a planar map, given with a Schnyder wood rooted at x 0, x 1, x 2. Let \(\mathcal{A}\) be the contact system of arcs corresponding to the Schnyder wood as defined before. By definition of \(\mathcal{A}\), every point p(e), corresponding to an edge e uni- or bi-directed, is interior to one arc and is the end of two other arcs, so the contact system of arcs \(\mathcal{A}\) is strict. By Theorem 5, we have to prove that each subsystem of \(\mathcal{A}\), of cardinality at least two, has at least three extremal points. Let \(\mathcal{B}\) be a subsystem of arcs of cardinality at least two. Let \(S_{\mathcal{B}}\) be the set of vertices v such that there exists i∈{0,1,2} with \(a_{i}(v)\in \mathcal{B}\). The set \(S_{\mathcal{B}}\) has cardinality at least one. We have to prove that \(\mathcal{B}\) has at least three extremal points.

Let s i be a vertex v of \(S_{\mathcal{B}}\), such that (r i (v),r i+1(v)) is lexicographically minimum.

Claim 1

\(P_{i-1}(s_{i})\cap S_{\mathcal{B}}= \{s_{i}\}\).

Proof

Suppose there exists \(v\in P_{i-1}(s_{i})\cap S_{\mathcal{B}}\) distinct from {s i }. Vertex v is in R i (s i ) and in R i+1(s i ), so by Lemma 3(i) it satisfies R i (v)⊆R i (s i ) and R i+1(v)⊆R i+1(s i ). By the choice of s i we have in fact R i (v)=R i (s i ) and R i+1(v)=R i+1(s i ). This contradicts Lemma 3(iii). This proves Claim 1. □

Let \(s'_{i}\) be the last vertex of P i+1(s i ) (i.e. the farthest from s i ) that is in \(S_{\mathcal{B}}\) (maybe \(s_{i}=s'_{i}\)). By Lemma 3(i), we have \(R_{i}(s_{i}')\subseteq R_{i}(s_{i})\). Thus, by definition of s i , we have \(R_{i}(s_{i}')=R_{i}(s_{i})\). By Lemma 3(ii), there is a bi-directed path Q i in color i−1 and i+1 between s i and \(s_{i}'\). By Claim 1 we have \(s_{i}'\notin P_{i-1}(s_{i})\setminus \{s_{i}\}\) so Q is colored i+1 from s i to \(s_{i}'\) and colored i−1 from \(s_{i}'\) to s i . By definition of \(s'_{i}\), we have the analog of Claim 1, that is, \(P_{i+1}(s'_{i})\cap S_{\mathcal{B}}= \{s'_{i}\}\).

Claim 1 can be restated by

Claim 2

\((R_{i}(s_{i})\cap S_{\mathcal{B}})=(R_{i}(s'_{i})\cap S_{\mathcal{B}}) \subseteq Q_{i}\).

We now try to find some extremal points of \(\mathcal{B}\) on the edges leaving s i , \(s'_{i}\).

Claim 3

If p(e i−1(s i )) belongs to some arc in \(\mathcal{B}\), then it is an extremal point of \(\mathcal{B}\). Similarly, if \(p(e_{i+1}(s_{i}'))\) belongs to some arc in \(\mathcal{B}\), then it is an extremal point of \(\mathcal{B}\).

Proof

Suppose p(e i−1(s i )) belongs to some arc in \(\mathcal{B}\). Let v such that e i−1(s i )=s i v. Since s i v is not uni-directed from v to s i , the only arc going through p(e i−1(s i )) is an arc a j (v) for some j∈{1,2,3}. Then, since \(v\notin S_{\mathcal{B}}\), this arc does not belong to \(\mathcal{B}\) and p(e i−1(s i )) is not an internal point of an arc of \(\mathcal{B}\). By Claim 1, we have \(P_{i-1}(s_{i}) \cap S_{\mathcal{B}}= \{s_{i}\}\), so p(e i−1(s i )) is the only contact point on P i−1(s i ) that is a point of \(\mathcal{B}\). Thus we can go along P i−1(s i ) from p(e i−1(s i )) to the outer-region without crossing any arc of B. This means that the point p(e i−1(s i )) is on \(\mathcal{B}\)’s outer boundary, and thus this point is an extremal point of \(\mathcal{B}\). Similarly for \(p(e_{i+1}(s'_{i}))\). This proves Claim 3. □

By Claim 3, we have many candidates for extremal points of B, but the points p(e i−1(s i )) and \(p(e_{i+1}(s'_{i}))\), for i∈{0,1,2}, do not necessarily belongs to some arc in \(\mathcal{B}\) and also they are not necessarily disjoint.

Claim 4

At least one of p(e i−1(s i )), p(e i+1(s i )) and at least one of \(p(e_{i-1}(s'_{i}))\), \(p(e_{i+1}(s'_{i}))\) is an extremal point of B.

Proof

Since \(s_{i}\in S_{\mathcal{B}}\), at least one of the arcs a i−1(s i ), a i (s i ), a i+1(s i ) is in \(\mathcal{B}\). If a i (s i ) or a i+1(s i ) is in \(\mathcal{B}\), then p(e i−1(s i )) belongs to some arc in \(\mathcal{B}\) and so it is an extremal point by Claim 3. So we can assume that a i−1(s i ) is in \(\mathcal{B}\) and that a i (s i ) and a i+1(s i ) are not. If \(s_{i}=s'_{i}\), then the point \(p(e_{i+1}(s_{i}))=p(e_{i+1}(s'_{i}))\) belongs to some arc in \(\mathcal{B}\) and so it is extremal by Claim 3. So we can assume that \(s_{i}\neq s'_{i}\). The edge e i+1(s i ) is in Q i and bi-directed in colors i+1 and i−1. By definition the arc a i−1(s i ) ends at p(e i+1(s i )), and since a i (s i ) is not in \(\mathcal{B}\), p(e i+1(s i )) is not an internal point of an arc of \(\mathcal{B}\). By Claim 1, we have \(P_{i-1}(s_{i}) \cap S_{\mathcal{B}}= \{s_{i}\}\) so there is no contact point on P i−1(s i ) that is a point of \(\mathcal{B}\). Thus we can go along e i−1(s i ) and then along P i+1(s i ) from p(e i−1(s i )) to the outer-region without crossing any arc. This means that the point p(e i−1(s i )) is on \(\mathcal{B}\)’s outer boundary, and thus this point is an extremal point of \(\mathcal{B}\). Similarly for \(s'_{i}\). This proves Claim 4. □

For i∈{0,1,2}, let consider the three arcs a i (s i ), that, respectively, go from p(e i−1(s i )) to \(p(e_{i+1}(s'_{i}))\). If the three of them are in \(\mathcal{B}\), by Claim 3 the ends of these three arcs are extremal; and since no three of them coincide, we have the three required extremal points. If exactly two of them are in \(\mathcal{B}\), for example a 0(s 0) and a 1(s 1), then we may have \(s'_{1}=s_{0}\) but the points p(e 0(s 1)), \(p(e_{2}(s'_{1}))\) and \(p(e_{1}(s'_{0}))\) are distinct (by Claim 1) and form our three extremal points (by Claim 3). If none of the a i (s i ) are in \(\mathcal{B}\), then by Claim 4, for each i∈{0,1,2}, one of p(e i−1(s i )) and p(e i+1(s i )) is an extremal point for s i . We choose one of these extremal point for each i and claim that they are distinct. Suppose not, then either (a) there exists i such that s i =s i+1 and the point p(e i−1(s i ))=p(e i−1(s i+1)) is extremal, or (b) there exist i, ji and ki+1 such that s i and s i+1 are adjacent and the point p(e j (s i ))=p(e k (s i+1))=p(s i s i+1) is extremal.

  1. (a)

    The point p(e i−1(s i )) is extremal and neither a i (s i ) nor a i+1(s i+1) belong to \(\mathcal{B}\), so the arc \(a_{i-1}(v) \in \mathcal{B}\), where s i v=e i−1(s i ). Thus \(v\in S_{\mathcal{B}}\) contradicting Claim 1.

  2. (b)

    Note that by definition of a Schnyder wood we also have jk. If j=i−1 or k=i we have s i+1P i−1(s i ) or s i P i (s i+1) contradicting Claim 1. So j=i+1 and k=i−1. The edge s i s i+1 is bi-directed with colors i−1, i+1, so by Lemma 3(ii) we have R i (s i )=R i (s i+1). Vertex s i is in P i−1(s i+1), so by Lemma 3(i) we have R i+1(s i )⊆R i+1(s i+1). Moreover, by definition of s i+1, we have R i+1(s i )=R i+1(s i+1), contradicting Lemma 3(iii).

It remains to study the case where exactly one of the a i (s i ) is in \(\mathcal{B}\). We can assume by symmetry that \(a_{1}(s_{1})\in \mathcal{B}\) and a 0(s 0),a 2(s 2) are not in \(\mathcal{B}\) (see Fig. 5). By Claim 3 the two distinct points p(e 0(s 1)) and \(p(e_{2}(s'_{1}))\) are extremal points of \(\mathcal{B}\). It remains to find a third extremal point, distinct from these two. By Claim 4, one of p(e 1(s 2)) and p(e 0(s 2)) is an extremal point. Suppose p(e 1(s 2)) is extremal. By Claim 1, there is no vertex of P 0(s 1)∖{s 1} in \(S_{\mathcal{B}}\), so e 0(s 1) is distinct from e 1(s 2). Similarly \(e_{2}(s'_{1})\) is distinct from e 1(s 2) and so p(e 1(s 2)) is a third extremal point. So we can assume that p(e 1(s 2)) is not extremal and that p(e 0(s 2)) is. Edge \(e_{2}(s'_{1})\) has an extremity not in \(S_{\mathcal{B}}\), so it is distinct to e 0(s 2). If p(e 0(s 2))≠p(e 0(s 1)), we are done. So we can assume that p(e 0(s 2))=p(e 0(s 1)), and so s 2=s 1. Note that \(s'_{2}=s_{1}\) by definition of \(s'_{2}\) and Claim 1. Similarly, we can assume that \(s'_{0}=s_{0}=s'_{1}\).

Fig. 5
figure 5

Case where a 1(s 1) is an arc of \(\mathcal{B}\)

The rest of the proof is dedicated to find a third extremal point.

Claim 5

We have \(S_{\mathcal{B}}\subseteq R_{0}(s_{1})\cap R_{2}(s'_{1})\).

Proof

As \(s_{1}=s'_{2}=s_{2}\) and \(s'_{1}=s_{0}=s'_{0}\), by Claim 2 for i={0,1,2}, we have \(R_{1}(s_{1})\cap S_{\mathcal{B}}\subseteq Q_{1}\) and \(R_{2}(s_{1})\cap S_{\mathcal{B}}\subseteq Q_{2}=\{s_{1}\}\) and \(R_{0}(s'_{1})\cap S_{\mathcal{B}}\subseteq Q_{2}=\{s'_{1}\}\). So \(S_{\mathcal{B}}\subseteq R_{0}(s_{1})\cap R_{2}(s'_{1})\) (see Fig. 5). This proves Claim 5. □

For an edge e=uv we define r i (e)=max(r i (u),r i (v)), for i∈{0,1,2}. For the three half-edges of the outer boundary e j (x j ) (added to G to obtain G σ, see Sect. 2.2), we define r i (e j (x j )) equal to +∞ if i=j and 0 otherwise. Let e be an edge e (maybe half-edge) such that p(e) belongs to some arc in \(\mathcal{B}\) and (r 1(e),r 2(e)) is lexicographically maximum. We prove that p(e ) is a third extremal point. If p(e 1(x 1)) is a point of \(\mathcal{B}\), it is extremal and distinct from e 0(s 1) and \(e_{2}(s'_{1})\). So we may assume that e is distinct from the half-edge e 1(x 1).

Claim 6

The edge e is distinct from e 0(s 1) and \(e_{2}(s'_{1})\).

Proof

We have \(r_{1}(e_{0}(s_{1})) =r_{1}(s_{1})=r_{1}(s'_{1})=r_{1}(e_{2}(s'_{1}))\). So we can prove the claim by showing that r 1(e )>r 1(s 1).

Suppose there exists \(v\in S_{\mathcal{B}}\setminus Q_{1}\). Vertex v has an incident edge e i (v) such that p(e i (v)) belongs to some arc in \(\mathcal{B}\) and such that r 1(e )≥r 1(e i (v))≥r 1(v). So it suffices to show that r 1(v)>r 1(s 1). By Claim 5, we have vR 0(s 1), so Lemma 3(i) implies that R 0(v)⊆R 0(s 1). So Lemma 3(iii) implies that R 2(s 1)⊆̷R 2(v) or R 1(s 1)⊆̷R 1(v). If R 1(s 1)⊆̷R 1(v) we are done as r 1(v)>r 1(s 1). So we may assume that R 2(s 1)⊆̷R 2(v). Similarly we may assume that \(R_{0}(s'_{1})\subsetneq R_{0}(v)\). So P 0(v) intersects P 2(s 1) and P 2(v) intersects \(P_{0}(s'_{1})\). By Lemma 2, the two paths P 0(v) and P 2(v) have only v has a common point, so they both intersects Q 1 and then continue, one on \(P_{0}(s'_{1})\) and the other on P 2(s 1). So R 1(s 1)⊆R 1(v). As vR 1(s 1), by Lemma 3(i) we have R 1(v)⊈R 1(s 1), so R 1(s 1)⊆̷R 1(v) and we are done.

We can now assume that \(S_{\mathcal{B}}\subseteq Q_{1}\). Consider an arc a in \(\mathcal{B}\setminus\{a_{1}(s_{1})\}\) (it exists since \(|\mathcal{B}|\geq 2\)). Let \(v\in S_{\mathcal{B}}\) and i∈{0,2} such that a=a i (v). This implies that p(e 1(v)) belongs to some arc in \(\mathcal{B}\). If e 1(v) is a half-edge, then clearly r 1(e )=r 1(e 1(v))>r 1(s 1). So we may assume that e 1(v) is not a half-edge. Let e 1(v)=uv. By Lemma 4, R 1(v)⊆̷R 2(u). Thus r 1(e )≥r 1(e 1(v))=r 1(u)>r 1(v)=r 1(s 1). This proves Claim 6. □

Claim 7

The point p(e ) is extremal.

Proof

Suppose p(e ) is not extremal. By definition of an extremal point, it is either not on \(\mathcal{B}\)’s outer boundary or internal to an arc a of \(\mathcal{B}\).

Let e =xy in such a way that r 1(x)≥r 1(y). By Lemma 4, for any vertex v on P 1(x) we have r 1(v)>r 1(x). So none of the contact points on P 1(x)’s edges is a point of \(\mathcal{B}\). Since P 1(x) does not intersect any arc of \(\mathcal{B}\), p(e ) lies on \(\mathcal{B}\)’s outer boundary.

Now suppose there exists an arc a of \(\mathcal{B}\) such that p(e ) is internal to a. We consider three cases corresponding to the color of a.

Case 1: a is an arc of color 2. By definition of the arcs, either e is uni-directed in color 2 or e is bi-directed in colors 0,1. Let e =uv such that e is directed from u to v in color 1 or 2. Then a=a 2(v) by definition of the arcs. Let z be the vertex of P 1(v) such that there is a bi-directed path Q in colors 0,1 between v and z which length is maximum (maybe v=z if e 1(v) is not bi-directed). When vz, since zP 1(v), Lemma 2 implies that zP 0(v). So Q is colored 1 from v to z and colored 0 from z to v. By definition of the arcs, the arc a=a 2(v)=a 2(z) ends at p(e 1(z)). Thus p(e 1(z)) belongs to some arc in \(\mathcal{B}\). If z=x 1, then r 1(e 1(z))=+∞, contradicting the choice of e . So we may assume that zx 1. Let w be such that e 1(z)=zw. By Lemma 4, R 1(v)⊆̷R 1(w). If uv is bi-directed, that is, uv is directed from u to v in color 1, then Lemma 4 implies that R 1(u)⊆̷R 1(w). If uv is uni-directed in color 2 from u to v, then Lemma 6 implies that R 1(u)⊆̷R 1(w). In both cases we have r 1(e )=max{r 1(u),r 1(v)}<r 1(w)≤r 1(e 1(z)), a contradiction to the choice of e .

Case 2: a is an arc of color 0. This case is completely symmetric to Case 1 as in the proof of case 1 we just use the fact that e was chosen in order to maximize r 1. (In case 3, the proof is similar to case 1 but this time the order on r 2 will also useful.)

Case 3: a is an arc of color 1. By definition of the arcs, either e is uni-directed in color 1 or e is bi-directed in colors 0,2. Let e =uv such that e is directed from u to v in color 1 or 2. Then a=a 1(v) by definition of the arcs. Let z be the vertex of P 2(v) such that there is a bi-directed path Q in colors 0,2 between v and z which length is maximum (maybe v=z if e 2(v) is not bi-directed). When vz, since zP 2(v), Lemma 2 implies that zP 0(v). So Q is colored 2 from v to z and colored 0 from z to v. By definition of the arcs, the arc a=a 1(v)=a 1(z) ends at p(e 2(z)). Thus p(e 2(z)) belongs to some arc in \(\mathcal{B}\). Vertex v is in P 0(z), so by Lemma 3(i), R 1(v)⊆R 1(z). If e is bi-directed, then it is directed from v to u in color 0 and by Lemma 3(i), R 1(u)⊆R 1(v). If e is directed from u to v in color 1, then by Lemma 4 R 1(u)⊆̷R 1(v). In both cases R 1(u)⊆R 1(v)⊆R 1(z), so r 1(e )=max{r 1(u),r 1(v)}≤r 1(z)≤r 1(e 2(z)), and by the choice of e we have r 1(e )=r 1(e 2(z)). If z=x 2, then r 2(e 2(z))=+∞, contradicting the choice of e . So we may assume that zx 2. Let w be such that e 2(z)=zw. By Lemma 4, R 2(v)⊆̷R 2(w). If uv is bi-directed, that is, directed from u to v in color 2, then Lemma 4 implies, R 2(u)⊆̷R 2(w). If uv is uni-directed in color 1 from u to v, then Lemma 6 implies that R 2(u)⊆̷R 2(w). In both cases R 2(u)⊆̷R 2(w), so r 2(e )=max{r 2(u),r 2(v)}<r 2(w)≤r 2(e 2(z)), a contradiction to the choice of e . This proves Claim 7. □

By Claims 6 and 7, we have a third extremal point of \(\mathcal{B}\). Thus the contact system of arcs is stretchable. □

4 One-to-One Correspondence

De Fraysseix et al. [3] already proved that strict contact representations by triangles of a planar triangulation are in one-to-one correspondence with its Schnyder woods defined by Schnyder [16]. In this section, we are going to prove a similar result for primal–dual contact representations.

De Fraysseix et al. [4] proved that classic Schnyder woods of a planar triangulation are in one-to-one correspondence with orientation of the edges of the graph where each interior vertex has out-degree 3. This shows that it is possible to retrieve the coloring of the edges of a classic Schnyder wood from the orientation of all the edges of this Schnyder wood.

For generalized Schnyder woods (with some edges bi-directed) such a property is not true: it is not always possible to retrieve the coloring of the edges of a generalized Schnyder wood from the orientation of the edges (see for example the graph of Fig. 8 in [9]). But Felsner proved that a Schnyder wood of a planar map uniquely defines a Schnyder wood of the dual and when both the orientation of the edges of the primal and the dual are given, then the coloring of the Schnyder wood can be retrieved. We will use this to obtain the one-to-one correspondence with strict tiling primal–dual contact representations by triangles. To this purpose, we need to introduce some formalism from [9].

The suspension dual G σ is obtained from the dual G by the following: The dual-vertex corresponding to the unbounded face is replaced by a triangle with vertices y 0,y 1,y 2. More precisely, let X i be the set of edges on the boundary of the outer face of G between vertices x j and x k , with {i,j,k}={0,1,2}. Let Y i be the set of dual edges to the edges in X i , i.e. Y 0Y 1Y 2 is the set of edges containing the vertex f of G which corresponds to the unbounded face of G. Exchange f by y i at all the edges of Y i , add three edges y 0 y 1, y 1 y 2, y 2 y 0, and finally add a half-edge at each y i inside the face y 0 y 1 y 2. The resulting graph is the suspension dual G σ. Felsner [8, 9] proved that Schnyder woods of G σ are in one-to-one correspondence with Schnyder woods of G σ.

The completion of a plane suspension G σ and its dual G σ is obtain by the following: Superimpose G σ and G σ so that exactly the primal–dual pairs of edges cross (the half-edge at x i cross the dual edge y j y k , for {i,j,k}={0,1,2}). The common subdivision of each crossing pair of edges is a new edge-vertex. Add a new vertex v which is the second endpoint of the six half-edges reaching into the unbounded face. The resulting graph is the completion \(\widetilde{G^{\sigma}}\).

An s-orientation of \(\widetilde{G^{\sigma}}\) is an orientation of the edges of \(\widetilde{G^{\sigma}}\) satisfying the following out-degrees:

  • d +(v)=3 for all primal- and dual-vertices v.

  • d +(e)=1 for all edge-vertices e.

  • d +(v )=0 for the special vertex v .

Felsner [9] proved the following:

Theorem 7

(Felsner [9])

Schnyder woods of G σ are in one-to-one correspondence with s-orientations of \(\widetilde{G^{\sigma}}\).

We are now able to prove the following correspondence:

Theorem 8

The non-isomorphic strict tiling primal–dual contact representations by triangles of a planar map are in one-to-one correspondence with its Schnyder woods.

Proof

Given a strict tiling primal–dual contact representation by triangles \((\mathcal{V},\mathcal{F})\) of a graph G, one can associate a corresponding suspension G σ, its suspension dual G σ, the completion \(\widetilde{G^{\sigma}}\) and a s-orientation of the completion. The three vertices x 0,x 1,x 2 that define the suspension G σ are, in clockwise order, the three triangles of \(\mathcal{V}\) that share a corner with the triangle corresponding to the outer face. We modify our contact system by exchanging the triangle c(f ), representing the outer face f , by three triangles c(y 0),c(y 1),c(y 2) each one representing y 0,y 1,y 2 of the suspension dual. Each c(y i ) share a side with c(f ) and two c(y i ) have parallel and intersecting sides. The interiors of the triangles of this new system still form a tiling of a triangle c(v ) representing the vertex v of the completion. The edge-vertices of the completion corresponds to the corners of the triangles of the new system.

The s-orientation of \(\widetilde{G^{\sigma}}\) is obtained by the following. For a primal- or dual-vertex v, represented by a triangle c(v), all edges ve of \(\widetilde{G^{\sigma}}\) are directed from v to e if e corresponds to a corner of c(v) and from e to v otherwise. For the special vertex v , all its incident edges are directed toward itself. Clearly, for every primal- or dual-vertex v, we have d +(v)=3 as c(v) is a triangle and for v we have d +(v )=0. As the primal–dual contact representation \((\mathcal{V},\mathcal{F})\) is strict, i.e. each contact point is a corner of exactly three triangles, we have d +(e)=1 for every edge-vertex that is a contact point of \((\mathcal{V},\mathcal{F})\). For edge-vertices between special vertices x i , y j and v one can check that the out-degree constraint is also satisfied.

One can remark that two non-isomorphic triangle contact systems representing the same planar map G define two distinct orientations of \(\widetilde{G^{\sigma}}\) and thus two different Schnyder woods of G σ by Theorem 7.

Conversely, let G be a planar map, given with a Schnyder wood rooted at x 0, x 1, x 2 and the corresponding s-orientation of \(\widetilde{G^{\sigma}}\). Let \(\mathcal{A}\) be the contact system of arcs corresponding to the Schnyder wood as defined in Sect. 3. For each vertex vV, we note c(v) the closed curve that is the union, for i∈{0,1,2}, of the part of the arc a i (v) between the contact point with a i−1(v) and a i+1(v). The set of curves \(\mathcal{V}=(c(v))_{v\in V}\) is a contact representation of G by closed curves. For each interior face F, the labels of its angles form a nonempty interval of 0’s, a nonempty interval of 1’s and a nonempty interval of 2’s by Theorem 6. By definition of the arcs, each interval of i’s corresponds to only one arc, noted a i (f). We note c(f) the closed curve that is the union, for i∈{0,1,2}, of the part of the arc a i (f) between the contact point with a i−1(f) and a i+1(f). For the outer face f , the curve c(f ) is the union, for i∈{0,1,2}, of a i+1(x i ). The set of curves \(\mathcal{F}=(c(f))_{f\in V^{*}}\) is a contact representation of G by closed curves.

By Lemma 7, the contact system of arcs \(\mathcal{A}\) is stretchable. For each vVV , the closed curves c(v) is the union of three part of arcs of \(\mathcal{A}\), so when stretched it becomes a triangle. Thus, we obtain a primal–dual contact representation by triangles \((\mathcal{V}, \mathcal{F})\) of G. By definition of \((\mathcal{V}, \mathcal{F})\) the interiors of the triangles form a tiling of the triangle corresponding to the outer face. Thus, the primal–dual contact representation by triangles \((\mathcal{V}, \mathcal{F})\) is tiling. By definition of \(\mathcal{A}\), every contact point, corresponding to an uni- or bi-directed edge, is interior to one arc and is the extremity of two arcs. So each contact point of \((\mathcal{V}, \mathcal{F})\) is a corner of exactly three triangles. Thus, the primal–dual contact representation by triangles \((\mathcal{V}, \mathcal{F})\) is strict. The strict tiling primal–dual contact representation by triangles \((\mathcal{V}, \mathcal{F})\) corresponds to the s-orientation of \(\widetilde{G^{\sigma}}\) and thus to the Schnyder wood by Theorem 7. □

5 Internally 3-Connected Planar Maps

A planar map G is internally 3-connected if there exist three vertices on the outer face such that the graph obtain from G by adding a vertex adjacent to the three vertices is 3-connected. Miller [15] proved the following (see also [7] for existence of Schnyder woods for 3-connected planar maps and [2] were the following result is stated in this form):

Theorem 9

(Miller [15])

A planar map admits a Schnyder wood if and only if it is internally 3-connected.

As a corollary of Theorems 8 and 9, we obtain the following:

Corollary 1

A planar map admits a strict tiling primal–dual contact representation by triangles if and only if it is internally 3-connected.

A 3-connected planar map is obviously internally 3-connected, so we obtain Theorem 4 as a consequence of Corollary 1.

Note that the representation of Theorem 4 is efficiently computable. Finding a Schnyder wood of an internally 3-connected planar map can be done linearly by contracting edges in a particular way (see [10]). Then the proof relies on the fact that the system of arcs defined in Sect. 3 is stretchable. Stretching a system of arc can be done by solving a system of linear equation (see [5]) and the number of equation and variable is linear in the size of the graph.

6 Particular Types of Triangle

The construction given by de Fraysseix et al. [3] to obtain a strict contact representation by triangles of a planar triangulation can be slightly modified to give a strict tiling primal–dual contact representation by triangles (the three triangles corresponding to the outer face have to be modified to obtain the tiling property). In de Fraysseix et al.’s construction, all the triangles have a horizontal side at their bottom and moreover it is possible to require that all the triangles are right (with the right angle on the left extremity of the horizontal side). This leads us to propose the following conjecture.

Conjecture 1

Every 3-connected planar map admits a strict tiling primal–dual contact representation by right triangles where all triangles have a horizontal and a vertical side and where the right angle is bottom-left for primal vertices and the outer face and top-right otherwise.

One may wonder if further requirements can be asked. Is it possible to obtain primal–dual contact representation by homothetic triangles? Such a representation is a representation where vertex-triangles and the outer-face-triangle are positively homothetic to a given triangle \(\mathcal{T}\) and inner-face-triangles are negatively homothetic to \(\mathcal{T}\). The 4-connected planar triangulation of Fig. 6 has a unique contact representation by homothetic triangles (for a fixed size of the external triangles). The central face corresponds to an empty triangle and there are some extra contacts between non adjacent faces. So it is not possible to have an “exact” primal–dual contact representation by homothetic triangles for this graph. The extended abstract version of this paper [12] contains results concerning representation by homothetic triangles that are now presented in a more general paper on the subject [13].

Fig. 6
figure 6

A 4-connected planar triangulation and its contact representation by homothetic triangles