1 Introduction

There are many examples of structural results on graphs leading to beautiful and efficient geometric representations. Two highlights are: Tutte’s polynomial-time algorithm [31] to draw any 3-connected planar graph with convex faces inside any fixed convex drawing of its outer face; and Schnyder’s tree realizer result [28] that provides a drawing of any n-vertex planar graph on an \(n \times n\) grid.

On the other hand, there are geometric representations that are intractable, either in terms of the required coordinates or in terms of computation time. As an example of the former, a representation of a planar graph as touching disks (Koebe’s theorem) is not always possible with rational numbers, nor even with roots of low-degree polynomials [5]. As an example of the latter, Patrignani considered a generalization of Tutte’s theorem and proved that it is NP-hard to decide whether a graph has a straight-line planar drawing when part of the drawing is fixed [25]. He was unable to show that the problem lies in NP because of coordinate issues.

This, and many other geometric problems, most naturally lie not in NP, but in a larger class, \(\exists \mathbb {R}\), defined by formulas in existentially quantified real (rather than Boolean) variables. Showing that a geometric representation problem is complete for \(\exists \mathbb {R}\) is a stronger intractability result, often implying lower bounds on coordinate sizes. For example, McDiarmid and Müller [20] showed that deciding if a graph can be represented as intersecting disks is \(\exists \mathbb {R}\)-complete. The relaxation from touching disks (Koebe’s theorem) to intersecting disks implies that disk centers and radii can be restricted to integers, but McDiarmid and Müller show that an exponential number of bits may be required.

In this paper we prove that an extension of Tutte’s problem is \(\exists \mathbb {R}\)-complete. We call it the “\(\textsc {Graph~in~Polygon}\) ” problem. See Fig. 1. The input is a graph G and a closed polygonal region R (not necessarily simply connected), with some vertices of G assigned fixed positions on the boundary of R. The question is whether G has a straight-line planar drawing inside R respecting the fixed vertices. We regard the region R as a closed region which means that boundary points of R may be used in the drawing. A straight-line planar drawing (see Fig. 2(a, b)) means that vertices are represented as distinct points, and every edge is represented as a straight-line segment joining its endpoints, and no two of the closed line segments intersect except at a common vertex. (In particular, no vertex point may lie inside an edge segment, and no two segments may cross.)

Fig. 1.
figure 1

The \(\textsc {Graph~in~Polygon}\) problem. Left: a polygonal region with one hole and a graph to be embedded inside the region. The three vertices on the boundary are fixed; the others are free. Right: a straight-line embedding of the graph in the region. Note that we allow an edge of the drawing (in red) to include points of the region boundary. (Color figure online)

Furthermore, we give a simple instance of \(\textsc {Graph~in~Polygon}\) with integer coordinates where a vertex of G may need irrational coordinates in any solution, thus defeating the naive approach to placing the problem in NP.

The \(\textsc {Graph~in~Polygon}\) problem is a very natural one that arises in practical applications such as dynamic and incremental graph drawing. Questions of the coordinates (or grid size) required for straight-line planar drawings of graphs are fundamental and well-studied [33]. It is surprising that a problem as simple and natural as \(\textsc {Graph~in~Polygon}\) is so hard and requires irrational coordinates.

We state our results below, but first we give some background on existential theory of the reals and on relevant graph drawing results. In particular, we explain that our problem is a generalization of the problem of extending a partial drawing of a planar graph to a straight-line drawing of the whole graph, called \(\textsc {Partial~Drawing~Extensibility}\). See Fig. 2(c, d).

Fig. 2.
figure 2

(a) A planar graph G. (b) a straight-line drawing of G. (c) a partial drawing \(\varGamma \) of G. (d) extension of \(\varGamma \) to a straight-line drawing of G. (e) A minimum-link s-t path in a polygonal region.

Existential Theory of the Reals. In the study of geometric problems, the complexity class \(\exists \mathbb {R}\) plays a crucial role, connecting purely geometric problems and real algebra. Whereas NP is defined in terms of Boolean formulas in existentially quantified Boolean variables, \(\exists \mathbb {R}\) deals with first-order formulas in existentially quantified real variables.

Consider a first-order formula over the reals that contains only existential quantifiers, \(\exists x_1,x_2,\ldots ,x_n :\) \(\varPhi (x_1,x_2,\ldots ,x_n)\), where \(x_1,x_2,\ldots ,x_n\) are real-valued variables and \(\varPhi \) is a quantifier-free formula involving equalities and inequalities of real polynomials. The Existential Theory of the Reals (ETR) problem takes such a formula as an input and asks whether it is satisfiable. The complexity class \(\exists \mathbb {R}\) consists of all problems that reduce in polynomial time to ETR. Many problems in combinatorial geometry and geometric graph representation naturally lie in this class, and furthermore, many have been shown to be \(\exists \mathbb {R}\)-complete, e.g., stretchability of a pseudoline arrangement [19, 23, 27], recognition of segment intersection graphs [17] and disk intersection graphs [20], computing the rectilinear crossing number of a graph [6], etc. For surveys on \(\exists \mathbb {R}\), see [8, 19, 26]. A recent proof that the \(\textsc {Art~Gallery~Problem}\) is \(\exists \mathbb {R}\)-complete [2] provides the framework we follow in our proof.

Planar Graph Drawing. The field of Graph Drawing investigates many ways of representing graphs geometrically [24], but we focus on the most basic representation of planar graphs, with points for vertices and straight-line segments for edges, such that segments intersect only at a common endpoint. By Fáry’s theorem [12], every planar graph admits such a straight-line planar drawing.

In Tutte’s famous paper, “How to Draw a Graph,” he gave a polynomial time algorithm to find a straight-line planar drawing of a graph by first augmenting to a 3-connected graph. Given a combinatorial planar embedding (a specification of the faces) of a 3-connected graph and given a convex polygon drawing of the outer face of the graph, his algorithm produces a planar straight-line drawing respecting both by reducing the problem to solving a linear system involving barycentric coordinates for each internal vertex. Tutte proved that the linear system has a unique solution and that the solution yields a drawing with convex faces. The linear system can be solved in polynomial time. For a discussion of coordinate bit complexity see Sect. 4.

There is a rich literature on implications and variations of Tutte’s result. We concentrate on the aspects of drawing a planar graph in a constrained region, or when part of the drawing is fixed. (We leave aside, for example, the issue of drawing graphs with convex faces, which also has an extensive literature.)

Our focus will be on straight-line planar graph drawings, but it is worth mentioning that without the restriction to straight-line drawings, the problem of finding a planar drawing of a graph (with polygonal curves for edges) in a constrained region is equivalent to the problem of extending a partial planar drawing (with polygonal curves for edges), and there is a polynomial time algorithm for the decision version of the problem [3]. Furthermore, there is an algorithm to construct such a drawing in which each edge is represented by a polygonal curve with linearly many segments [10].

For the rest of this paper we assume straight-line planar drawings, which makes the problems harder. The problem of drawing a graph in a constrained region is formalized as \(\textsc {Graph~in~Polygon}\), defined above, and more precisely in Subsect. 1.1. The problem of finding a planar straight-line drawing of a graph after part of the drawing has been fixed is called \(\textsc {Partial~Drawing~Extensibility}\) in the literature—its complexity was formulated as an open question in [7].

The relationship between the two problems is that \(\textsc {Graph~in~Polygon}\) generalizes \(\textsc {Partial~Drawing~Extensibility}\), as we now argue. Given an instance of partial drawing extensibility, for graph G with fixed subgraph H, we construct an instance of \(\textsc {Graph}\) \(\textsc {in}\) \(\textsc {Polygon}\) by making a point hole for each vertex of H and assigning the vertex to the point. Then an edge of H can only be drawn as a line segment joining its endpoints, so we have effectively fixed H. To complete the bounded region R, we enclose the point holes in a large box. Clearly, we now have an instance of \(\textsc {Graph~in~Polygon}\), and that instance has a solution if and only if G has a planar straight-line drawing that extends the drawing of H. There is no easy reduction in the other direction because \(\textsc {Graph~in~Polygon}\) involves a closed polygonal region, so an edge may be drawn as a segment that touches, or lies on, the boundary of the region, and it is not clear how to model this as \(\textsc {Partial~Drawing~Extensibility}\). However, the version of \(\textsc {Graph~in~Polygon}\)  for an open region is equivalent to \(\textsc {Partial~Drawing~Extensibility}\).

We now summarize results on \(\textsc {Partial~Drawing~Extensibility}\), beginning with positive results. Besides Tutte’s result that a convex drawing of the outer face can always be extended, there is a similar result for a star-shaped drawing of the outer face [14]. There is also a polynomial-time algorithm to decide the case when a convex drawing of a subgraph is fixed [21]. Urhausen [32] examined the case when a star-shaped drawing of one cycle in the graph is given, and proved that there always exists an extension with at most one bend per edge. Gortler et al. [13] gave an algorithm, extending Tutte’s algorithm, that succeeds in some (not well-characterized) cases for a simple non-convex drawing of the outer face. The \(\textsc {Partial~Drawing~Extensibility}\) problem was shown to be NP-hard by Patrignani [25]. This implies that \(\textsc {Graph~in~Polygon}\) is NP-hard. However, there are two natural questions about partial drawing extensibility that remain open: (a) does the problem belong to the class NP (discussed in detail by Patrignani [25]), and (b) does the problem remain NP-hard when a combinatorial embedding of the graph is given and must be respected in the drawing. Our results shed light on these questions for the more general \(\textsc {Graph~in~Polygon}\) problem: the problem cannot be shown to lie in NP by means of giving the vertex coordinates, and the problem is still \(\exists \mathbb {R}\)-hard when a combinatorial embedding of the graph is given.

Besides Tutte’s result, there is another special case of \(\textsc {Graph~in~Polygon}\) that is well-solved, namely when the graph is just a path with its two endpoints s and t fixed on the boundary of the region. See Fig. 2(e). This problem is equivalent to the Minimum Link Path problem—to find a path from s to t inside the region with a minimum number of segments. This is because a path of k edges can be drawn inside the region if and only if the minimum link distance between s and t is less than or equal to k. Minimum link paths in a polygonal region can be found in polynomial time [22], and in linear time for a simple polygon [29]. The complexity of the coordinates is well-understood (see Sect. 4).

1.1 Our Contributions

Our problem is defined as follows.

figure a

The graph may be given abstractly, or via a combinatorial embedding which specifies the cyclic order of edges around each vertex, thus determining the faces of the embedding. When a combinatorial embedding is specified then the final drawing must respect that embedding.

Note that we regard R as a closed region. Thus, points on the boundary of R may be used in the drawing of G. In particular, an edge of G may be drawn as a segment that touches, or lies on, the boundary of R. See Fig. 1. Note that we still require the drawing of G to be “simple” in the conventional sense that no two edge segments may intersect except at a common endpoint.

Our first result is that solutions to \(\textsc {Graph~in~Polygon}\) may involve irrational points. This will in fact follow from the proof of our main hardness result, but it is worth seeing a simple example.

Theorem 1

There is an instance of \(\textsc {Graph~in~Polygon}\) with all coordinates given by integers, in which some vertices need irrational coordinates.

Note that the theorem does not rule out membership of the problem in NP, since it may be possible to demonstrate that a graph can be drawn in a region without giving explicit vertex coordinates. We prove Theorem 1 by adapting an example from Abrahamsen, Adamaszek and Miltzow [1] that proves a similar irrationality result for the \(\textsc {Art~Gallery~Problem} \). Further discussion of bit complexity for special cases of the problem can be found in Sect. 4.

Our main result is the following, which holds whether the graph is given abstractly or via a combinatorial embedding.

Theorem 2

\(\textsc {Graph~in~Polygon}\) is \(\exists \mathbb {R}\)-complete.

We prove Theorem 2 using a reduction from a problem called \(\text {ETR-INV}\) which was introduced and proved \(\exists \mathbb {R}\)-complete by Abrahamsen, Adamaszek and Miltzow [2].

Definition 1

(ETR-INV). In the problem \(\text {ETR-INV} \), we are given a set of real variables \(\{x_1,\ldots ,x_n\}\), and a set of equations of the form \( x=1,\quad x+y=z,\quad x\cdot y=1, \) for \(x,y,z \in \{x_1, \ldots , x_n\}\). The goal is to decide whether the system of equations has a solution when each variable is restricted to the range [1/2, 2].

Reducing from \(\text {ETR-INV}\), rather than from ETR, has several crucial advantages. First, we can assume that all variables are in the range [1/2, 2]. Second, we do not have to implement a gadget that simulates multiplication, but only inversion, i.e., \(x\cdot y = 1\). For our purpose of reducing to \(\textsc {Graph~in~Polygon}\), we will find it useful to further modify \(\text {ETR-INV}\) to avoid equality and to ensure planarity of the variable-constraint incidence graph, as follows:

Definition 2

(Planar-ETR-INV*). In the problem \(\text {Planar-ETR-INV}^{*}\), we are given a set of real variables \(\{x_1,\ldots , x_n\}\), and a set of equations and inequalities of the form \( x = 1\text {, } x + y \le z\text {, } x + y \ge z\text {, } x \cdot y \le 1\text {, } x \cdot y \ge 1\text {, } \text { for } x, y, z \in \{x_1,\ldots , x_n\}. \) Furthermore, we require planarity of the variable-constraint incidence graph, which is the bipartite graph that has a vertex for every variable and every constraint and an edge when a variable appears in a constraint. The goal is to decide whether the system of equations has a solution when each variable is restricted to lie in [1/2, 4].

As a technical contribution, we prove the following.

Theorem 3

\(\text {Planar-ETR-INV}^{*}\) is \(\exists \mathbb {R}\)-complete.

The proof, which is in the long version [18], builds on the work of Dobbins, Kleist, Miltzow and Rzążewski [11] who showed that \(\text {ETR-INV}\) is \(\exists \mathbb {R}\)-complete even when the variable-constraint incidence graph is planar. We cannot use their result directly, but follow similar steps in our proof.

2 Irrational Coordinates

Theorem 1

There is an instance of \(\textsc {Graph~in~Polygon}\) with all coordinates given by integers, in which some vertices need irrational coordinates.

In fact, the result follows from our proof of Theorem 2, but it is interesting to have a simple explicit example, which is given in Fig. 4. This example is adapted from a result of Abrahamsen et al. [1]. Details can be found in the long version [18], but we outline the idea here. Abrahamsen et al. studied the \(\textsc {Art~Gallery~Problem}\), where given a polygon P and a number k, and we want to find a set of at most k guards (points) that together see the entire polygon. We say a guard g sees a point p if the entire line-segment gp is contained inside the polygon P. Abrahamsen et al. gave a simple polygon with integer coordinates such that there exists only one way to guard it optimally, with three guards. Those guards have irrational coordinates. See Fig. 3 for a sketch of their polygon. A key ingredient of their construction is to create notches in the polygon boundary that force there to be a guard on each of the three so-called guard segments. The coordinates of the polygon then force the guards to be at irrational points.

Fig. 3.
figure 3

A sketch of the polygon from Abrahamsen et al. the three guards (black dots) must lie on the guard segments (dashed lines).

Fig. 4.
figure 4

Left: an instance of \(\textsc {Graph~in~Polygon}\) based on Fig. 3 that requires vertices at irrational coordinates. Right: the graph, with small dots indicating the fixed vertices.

We adapt their example by using variable segments (shown in green) instead of guard segments, and vertices instead of guards. By placing notches in the polygon boundary with fixed vertices of the graph in the notches, we can force there to be a vertex on each variable segment. We create two cycles that replicate the guarding constraints, and use a hole in order to keep our graph drawing planar. From their proof we show that \(x'\), \(y'\) and \(z'\) must be at irrational coordinates.

3 \(\exists \mathbb {R}\)-completeness

Theorem 2

\(\textsc {Graph~in~Polygon}\) is \(\exists \mathbb {R}\)-complete.

Proof

First note that \(\textsc {Graph~in~Polygon}\) lies in \(\exists \mathbb {R}\) since we can express it as an ETR formula. To prove that the problem is \(\exists \mathbb {R}\)-hard we give a reduction from \(\text {Planar-ETR-INV}^{*}\). Let I be an instance of \(\text {Planar-ETR-INV}^{*}\). We will build an instance J of \(\textsc {Graph~in~Polygon}\) such that J admits an affirmative answer if and only if I is satisfiable. The idea is to construct gadgets to represent variables, and gadgets to enforce the addition and inversion inequalities, \(x + y \le z, x + y \ge z, x\cdot y \le 1, x\cdot y \ge 1\). We also need gadgets to copy and replicate variables—“wires” and “splitters” as conventionally used in reductions. Thereafter, we have to describe how to combine those gadgets to obtain an instance J of \(\text {Planar-ETR-INV}^{*}\).

Encoding Variables. We will encode the value of a variable in [1/2, 4] as the position of a vertex that is constrained to lie on a line segment of length 3.5, which we call a variable-segment. One end of a variable-segment encodes the value \(\frac{1}{2}\), the other end encodes the value 4, and linear interpolation fills in the values between. Figure 5 shows one side of the construction that forces a vertex to lie on a variable-segment. The other side is similar.

Fig. 5.
figure 5

Variable v is represented as a point on variable-segment s (shown in green). The construction of one end of s is illustrated. In the graph, vertex v is adjacent to fixed vertices a and b on the boundary of a hole of the region (shaded). Adjacency with a forces v to lie on the line of s. Adjacency with b forces v to lie at, or to the right of, point p which is associated with the value 1/2. Note that p is not a vertex. (Color figure online)

By slight abuse of notation, we will identify a variable and the vertex representing it, if there is no ambiguity. For the description of the remaining gadgets, our figures will show variable-segments (in green) without showing the polygonal holes that determine them.

Fig. 6.
figure 6

Copying. Left: a gadget to enforce \(x\,{\le }\,x'\). Right: the full gadget enforcing \(x\,=\,y\).

Copy Gadget. Given a variable-segment for a variable x, we will need to transmit its value along a “wire” to other locations in the plane. We do this using a copy gadget in which we construct a variable-segment for a new variable y and enforce \(x=y\). We show how to construct a gadget that ensures \(x \le x'\) for a new variable \(x'\), and then combine four such gadgets, enforcing \(x \le z_1, z_1 \le y, x \ge z_2, z_2 \ge y\). This implies \(x=y\).

The gadget enforcing \(x \le x'\) is shown at the left of Fig. 6. It consists of two parallel variable-segments. In general, these two segments need not be horizontally aligned. In the graph we connect the corresponding vertices by an edge. The left and the right variables are encoded in opposite ways, i.e., x increases as the vertex moves up and \(x'\) increases as the corresponding vertex goes down. We place a hole of the polygonal region (shaded in the figure) with a vertex at the intersection point of the lines joining the top of one variable-segment to the bottom of the other. The hole must be large enough that the edge from x to \(x'\) can only be drawn to one side of the hole. An argument about similar triangles, or the “intercept theorem”, also known as Thales’ theorem, implies \(x \le x'\).

We combine four of these gadgets to construct our copy gadget, as illustrated on the right of Fig. 6.

Fig. 7.
figure 7

Splitting. The variables \(y_1,y_2\) have both the same value as x.

Splitter Gadget. Since a single variable may appear in several constraints, we may need to split a wire into two wires, each holding the correct value of the same variable. Figure 7 shows a gadget to split the variable x to variables \(y_1\) and \(y_2\). The gadget consists of two copy gadgets sharing the variable-segment for x. We can construct the two copy gadgets to avoid any intersections between them.

Turn Gadget. We need to encode a variable both as a vertical and as a horizontal variable-segment. To transform one into the other we use a turn gadget.

Fig. 8.
figure 8

Turning. Left: gadget to encode \(x\le f(z)\). Middle: symmetric gadget to encode \(y\ge f(z)\). Right: four gadgets of the previous type combined to enforce \(x=y\), for x and y on a vertical and horizontal variable-segment, respectively.

The key idea is to construct two diagonal variable-segments for variables \(z_1\) and \(z_2\), and then transfer the value of the vertical variable-segment to the horizontal variable-segment using \(z_1,z_2\). This is in fact very similar to the copy gadget, except that the intermediate variable-segments are placed on a line of slope 1. We do not know if it is possible to enforce the constraint \(x\le z\) directly. However, it is sufficient to enforce \(x \le f(z)\) for some function f. See the left side of Fig. 8. Interestingly, we don’t even know the function f. However, we do know that f is monotone and we can construct another gadget enforcing \(y \ge f(z)\), for the same function f, by making another copy of the first gadget reflected through the line of the variable-segment for z.

Combining four such gadgets, as on the right of Fig. 8, yields the following inequalities: \(x \le f_1(z_1), f_1(z_1) \le y, y \le f_2(z_2), f_2(z_2) \le x\). This implies \(x = y\).

Fig. 9.
figure 9

Addition. The three vertices xyz can only be connected to u if x + y \(\ge z\) holds.

Addition Gadget. The gadget to enforce x + y \(\ge z\) is depicted in Fig. 9. Important for correctness is that the gaps between the dotted auxiliary lines have equal lengths. This is essentially the same gadget that was used by Abrahamsen et al. [2, Lemma 31]. An alternative proof can be found in the long version [18].

Lemma 1

([2]). The gadget in Fig. 9 enforces \(x+y\ge z\).

The gadget that enforces \(x+y \le z\) is just a mirror copy of the previous gadget.

Inversion Gadget. The inversion gadgets to enforce \(x \cdot y \le 1\) and \(x \cdot y \ge 1\) are depicted in Fig. 10. We use a horizontal variable-segment for x and a vertical variable-segment for y and align them as shown in the figure, 1.5 units apart both horizontally and vertically. We make a triangular hole with its apex at point q as shown in the figure. The graph has an edge between x and y.

Fig. 10.
figure 10

Inversion. Left: gadget enforcing \(x\cdot y \ge 1\). Right: gadget enforcing \(x\cdot y \le 1\).

For correctness, observe that if x and y are positioned so that the line segment joining them goes through point q, then, because triangles \(\varDelta _1\) and \(\varDelta _2\) (as shown in the figure) are similar, we have \(\frac{x}{1} = \frac{1}{y}\), i.e. \(x \cdot y=1\). If the line segment goes above point q (as in the left hand side of Fig. 10) then \(x\cdot y \ge 1\), and if the line segment goes below then \(x \cdot y \le 1\).

Putting it all Together. It remains to show how to obtain an instance of \(\textsc {Graph}\) \(\textsc {in}\) \(\textsc {Polygon}\) in polynomial time from an instance of \(\text {Planar-ETR-INV}^{*}\).

Let I be an instance of \(\text {Planar-ETR-INV}^{*}\). As a first step we modify the planar variable-constraint incidence graph so that a variable vertex of degree d is replaced by “splitter” vertices of degree at most 3 to create d copies. Then we compute a plane rectilinear drawing D of the resulting planar graph, which can be done in polynomial time using rectilinear planar drawing algorithms [24]. The edges of D act as wires and we replace each horizontal and vertical segment by a copy gadget, and replace every \(90^\circ \) corner, by a turn gadget. Every splitter vertex and constraint vertex will be replaced by the corresponding gadget, possibly using turn gadgets. We add a big square to the outside, to ensure that everything is inside one polygon. See the long version [18] for an illustration.

It is easy to see that this can be done in polynomial time, as every gadget has a constant size description and can be described with rational numbers, although, we did not do it explicitly. In order to see that we can also use integers, note that we can scale everything with the least common multiple of all the denominators of all numbers appearing. This can also be done in polynomial time.    \(\square \)

4 Vertex Coordinates

Since we have shown that \(\textsc {Graph~in~Polygon}\) may require irrational coordinates for vertices in general, it is interesting to examine bounds on coordinates for special cases. In this section we discuss the bit complexity of vertex coordinates needed for two well-solved special cases of \(\textsc {Graph~in~Polygon}\).

Tutte’s algorithm [30] finds a straight-line planar drawing of a graph inside a fixed convex drawing of its outer face. Suppose the graph has n vertices and each coordinate of the convex polygon uses t bits. Tutte’s algorithm runs in polynomial time, but the number of bits used to express the vertex coordinates is a polynomial function of t and n. The dependence on n means that the drawing uses “exponential area.” Chambers et al. [9] gave a different algorithm that uses polynomial area—the number of bits for the vertex coordinates is bounded by a polynomial in t and \(\log n\).

The other well-solved case of \(\textsc {Graph~in~Polygon}\) is the minimum link path problem. Here we have a general polygonal region with holes, R, but the graph is restricted to a path with endpoints s and t fixed on the boundary of R. Based on a lower bound result of Kahan and Snoeyink [15], Kostitsyna et al. [16] proved a tight bound of \(\varTheta (n\log n)\) bits for the coordinates of the bends on a minimum link path. Note that the dependence on n means that this bound is exponentially larger than the bound for drawing a graph inside a convex polygon. Problem 3 below asks about the complexity of drawing a tree in a polygonal region.

5 Conclusion and Open Questions

Our result that \(\textsc {Graph~in~Polygon}\) is \(\exists \mathbb {R}\)-complete is one of the first \(\exists \mathbb {R}\)-hardness results about drawing planar graphs with straight-line edges—along with a recent result about drawings with prescribed face areas [11]. We conclude with some open questions:

1. Our proofs of Theorems 1 and 2 used the fact that the polygonal region may have holes and may have collinear vertices. Is \(\textsc {Graph~in~Polygon}\) polynomial-time solvable for a simple polygon (a polygonal region without holes) whose vertices lie in general position (without collinearities)?

2. Our proofs also used the assumption that the polygonal region is closed. For an open region, the problem \(\textsc {Graph~in~Polygon}\) is equivalent to the problem \(\textsc {Partial~Drawing~Extensibility}\). Is this problem \(\exists \mathbb {R}\)-hard? There are two versions, depending on whether the graph is given abstractly or via a combinatorial embedding. In the first case the problem is known to be NP-hard [25], but in the second case even that is not known.

3. What is the complexity of \(\textsc {Graph~in~Polygon}\) when the graph is a tree? Can vertex coordinates still be bounded as for the minimum link path problem? When the tree is a caterpillar, the problem might be related to the minimum link watchman tour problem, which is known to be NP-hard [4].