This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Generalized Sweeping Line Spanners

Keenan Lee Email: [email protected] University of Sydney, Australia André van Renssen Email: [email protected] University of Sydney, Australia
Abstract

We present sweeping line graphs, a generalization of Θ\Theta-graphs. We show that these graphs are spanners of the complete graph, as well as of the visibility graph when line segment constraints or polygonal obstacles are considered. Our proofs use general inductive arguments to make the step to the constrained setting. These same arguments could apply to other spanner constructions in the unconstrained setting, removing the need to find separate proofs that they are spanning in the constrained and polygonal obstacle settings.

1 Introduction

A geometric graph GG is a graph whose vertices are points in the plane and whose edges are line segments between pairs of points. Every edge in the graph has weight equal to the Euclidean distance between its two endpoints. The distance between two vertices uu and vv in GG, denoted by δG(u,v)\delta_{G}(u,v), or simply δ(u,v)\delta(u,v) when GG is clear from the context, is defined as the sum of the weights of the edges along a shortest path between uu and vv in GG. A subgraph HH of GG is a tt-spanner of GG (for t1t\geq 1) if for each pair of vertices uu and vv, δH(u,v)tδG(u,v)\delta_{H}(u,v)\leq t\cdot\delta_{G}(u,v). The smallest tt for which HH is a tt-spanner is the spanning ratio or stretch factor of HH. The graph GG is referred to as the underlying graph of HH and, unless otherwise specified, this is assumed to be the complete Euclidean graph. The spanning properties of various geometric graphs have been studied extensively in the literature (see [10, 16] for an overview). The spanning ratio of a class of graphs is the supremum over the spanning ratios of all members of that graph class. Since spanners preserve the lengths of all paths up to a factor of tt, these graphs have applications in the context of geometric problems, including motion planning and optimizing network costs and delays.

We introduce a generalization of an existing geometric spanner (Θ\Theta-graphs) which we call sweeping line graphs. We show that these graphs are spanners, also when considering line segment obstacles or polygonal obstacles during their construction. We show this using a very general method that we conjecture applies to other geometric spanners as well, meaning that such proofs do not have to be reinvented for different spanner constructions.

Clarkson [12] and Keil [15] independently introduced Θ\Theta-graphs as follows: for each vertex uu, we partition the plane into kk disjoint cones with apex uu. Each cone has aperture equal to θ=2πk\theta=\frac{2\pi}{k} (see Figure 2) and the orientation of these cones is identical for every vertex. The Θ\Theta-graph is constructed by, for each cone with apex uu, connecting uu to the vertex vv whose projection onto the bisector of the cone is closest to uu (see Figure 2). When kk cones are used, we denote the resulting Θ\Theta-graph as the Θk\Theta_{k}-graph. We note that while Θ\Theta-graphs can be defined using an arbitrary line in the cone instead of the bisector (see Chapter 4 of [16]), the bisector is by far the most commonly used construction and the spanning ratios mentioned in the following paragraph only apply when the bisector is used in the construction process.

Refer to caption
Figure 1: The plane around uu is split into 10 cones.
Refer to caption
Figure 2: Vertex vv is the vertex with the projection closest to uu.

Ruppert and Seidel [17] upperbounded the spanning ratio of these graphs (when there are at least 7 cones) by 1/(12sin(θ/2))1/(1-2\sin(\theta/2)), when θ<π/3\theta<\pi/3. Bonichon et al. [3] showed that the Θ6\Theta_{6}-graph has a tight spanning ratio of 2, i.e., it has a matching upper and lower bound of 2. Other recent results include a tight spanning ratio of 1+2sin(θ/2)1+2\sin(\theta/2) for Θ\Theta-graphs with 4m+24m+2 cones, where m1m\geq 1 and integer, and improved upper bounds for the other families of Θ\Theta-graphs [5]. When there are fewer than 6 cones, most inductive arguments break down. Hence, it was only during the last decade that upper bounds on the spanning ratio of the Θ5\Theta_{5}-graph and the Θ4\Theta_{4}-graph were determined: 50+2259.960\sqrt{50+22\sqrt{5}}\approx 9.960 for the Θ5\Theta_{5}-graph [9] and (1+2)(2+36)4+22237(1+\sqrt{2})\cdot(\sqrt{2}+36)\cdot\sqrt{4+2\sqrt{2}}\approx 237 for the Θ4\Theta_{4}-graph [2]. These bounds were recently improved to 5.705.70 for the Θ5\Theta_{5}-graph [8] and 1717 for the Θ4\Theta_{4}-graph [4]. Constructions similar to those demonstrated by El Molla [14] for Yao-graphs show that Θ\Theta-graphs with fewer than 4 cones are not spanners. In fact, until recently it was not known that the Θ3\Theta_{3}-graph is connected [1].

An alternative way of describing the Θ\Theta-graph construction is that for each cone with apex uu, we visualize a line perpendicular to the bisector of the cone that sweeps outwards from the apex uu. The Θ\Theta-graph is then constructed by connecting uu to the first vertex vv in the cone encountered by the sweeping line as it moves outwards from uu (see Figure 4).

Refer to caption
Figure 3: The sweeping line of a cone in a Θ\Theta-graph. The sweeping line is a thick black segment inside the cone and grey dotted outside, as vertices outside the cone as ignored.
Refer to caption
Figure 4: The sweeping line of a cone in the sweeping line graph. For comparison to Θ\Theta-graphs, the line through uu perpendicular to the sweeping line is shown in red.

The sweeping line graph generalizes this construction by allowing the sweeping line to be at an angle γ\gamma to the line perpendicular to the bisector of the cone (see Figure 4, a more precise definition follows in Section 2). When γ[0,π3θ2)\gamma\in[0,\frac{\pi-3\theta}{2}) we show that the resulting graph is a spanner whose spanning ratio depends only on θ\theta and γ\gamma. We note that this angle γ\gamma implies that the line perpendicular to the sweeping line can be outside the cone associated with that sweeping line, which is not supported in the common Θ\Theta-graph (using bisectors) or the more general ones described in [16]. For example, when 10 cones are used (i.e., θ=π/5\theta=\pi/5) the construction in [16] allows for an angle γ\gamma up to θ/2=π/10\theta/2=\pi/10, while our construction allows the far larger value of 7π/207\pi/20 and this difference increases as the number of cones increases (i.e., θ\theta decreases). The ability to rotate the sweeping line has previously been used to define ordered Θ\Theta-graphs [7], where a sweeping line perpendicular to a cone boundary gave a more efficient construction method.

Pushing the generalization of these graphs even further, we consider spanners in two more general settings by introducing line segment constraints and polygonal obstacles. Specifically, given a set PP of points in the plane, let SS be a set of line segments connecting pairs of points in PP (not every vertex in PP needs to be an endpoint of a line segment in SS). We refer to SS as line segment constraints, or simply constraints. The set of line segment constraints is planar, i.e. no two constraints intersect properly, but they can share endpoints. Two vertices uu and vv can see each other if and only if either the line segment uvuv does not properly intersect any constraint or uvuv is itself a constraint. If two vertices uu and vv can see each other, the line segment uvuv is a visibility edge (this notion can be generalized to apply to arbitrary points that can see each other). The visibility graph of PP with respect to a set of constraints SS, denoted by Vis(P,S)(P,S), has PP as vertex set and all visibility edges defined by vertices in PP as edge set. In other words, it is the complete graph on PP minus all edges that properly intersect one or more constraints in SS. The aim of this generalization is to construct a spanner such that no edge of the spanner properly intersects any constraint. In other words, to construct a spanner of Vis(P,S)(P,S).

Polygonal obstacles generalize the notion of line segment constraints by allowing the constraints to be simple polygons instead of line segments, i.e., by excluding the internal area from being accessible. In this situation, SS is a finite set of simple polygonal obstacles where each corner of each obstacle is a point in PP, such that no two obstacles intersect. We assume that each vertex is part of at most one polygonal obstacle and occurs at most once along its boundary, i.e., the obstacles are vertex-disjoint simple polygons, and no polygon contains any point of PP in its interior. Note that PP can also contain vertices that do not lie on the corners of the obstacles. The definitions of visibility edge and visibility graph are analogous to the ones for line segment constraints.

In the context of motion planning amid obstacles, Clarkson [12] showed how to construct a linear-sized (1+ϵ)(1+\epsilon)-spanner of Vis(P,S)(P,S). Subsequently, Das [13] showed how to construct a spanner of Vis(P,S)(P,S) with constant spanning ratio and constant degree. More recently, the constrained Θ6\Theta_{6}-graph was shown to be a 2-spanner of Vis(P,S)(P,S) [6] when considering line segment constraints. This result was recently generalized to polygonal obstacles [18]. Most related to this paper is the result by Bose and van Renssen [11], who generalized the results from Bose et al. [5] to the setting with line segment constraints, without increasing the spanning ratios of the graphs.

In this paper, we examine the sweeping line graph in the setting without constraints (or the unconstrained setting), with line segment constraints (or the constrained setting), and with polygonal obstacles. First, we generalize the spanning proof of the Θ\Theta-graph given in the book by Narasimhan and Smid [16] to the sweeping line graph in the unconstrained setting. Next, we extend the proof to the constrained setting and finally apply it to the case of polygonal obstacles. In all three cases, we prove that the spanning ratio is upperbounded by 1cos(θ2+γ)sinθ\frac{1}{\cos(\frac{\theta}{2}+\gamma)-\sin\theta}, where θ=2πk\theta=\frac{2\pi}{k} (k7k\geq 7) and γ[0,π3θ2)\gamma\in[0,\frac{\pi-3\theta}{2}). The most interesting aspect of our approach is that the step from the unconstrained to the constrained and polygonal obstacle settings is very general and could apply to other spanner constructions in the unconstrained setting as well, making it a step towards a general condition of which spanners in the unconstrained setting can be proven to be spanners in the presence of obstacles.

2 Preliminaries

Throughout this paper, the notation |pq||pq| refers to the Euclidean distance between pp and qq. We also emphasize that a point can be any point in the plane, while a vertex is restricted to being one of the points in the point set PP.

Before we formally define the sweeping line graph, we first need a few other notions. A cone is the region in the plane between two rays that emanate from the same point, called the apex of the cone. Let k7k\geq 7 and define θ=2πk\theta=\frac{2\pi}{k}. If we rotate the positive xx-axis by angles iθi\cdot\theta, 0i<k0\leq i<k, then we get kk rays. Each pair of consecutive rays defines a cone whose apex is at the origin. We denote the collection of these kk cones by ζk\zeta_{k}. Let CC be a cone of ζk\zeta_{k}. For any point pp in the plane, we define CpC_{p} to be the cone obtained by translating CC such that its apex is at pp.

Next, given an angle θ\theta for a particular cone and an angle γ[0,π3θ2)\gamma\in[0,\frac{\pi-3\theta}{2}), we give the definition of the sweeping line: For any vertex xx in a cone, let the sweeping line be the line through the vertex xx that is at an angle of γ\gamma to the line perpendicular to the bisector of the cone. We then define xγx_{\gamma} to be the intersection of the left-side of the cone and this sweeping line (see Figure 5).

Refer to caption
Figure 5: Defining the point xγx_{\gamma} for any vertex xx.

Finally, we define the sweeping line graph:

Definition 1 (Sweeping line graph).

Given a set of points PP in the plane, an integer k7k\geq 7, θ=2πk\theta=\frac{2\pi}{k}, and γ[0,π3θ2)\gamma\in[0,\frac{\pi-3\theta}{2}). The sweeping line graph is defined as follows:

  1. 1.

    The vertices of the graph are the points of PP.

  2. 2.

    For each vertex uu of PP and for each cone CC of ζk\zeta_{k}, such that the translated cone CuC_{u} contains one or more vertices of P{u}P\setminus\{u\}, the spanner contains the undirected edge (u,r)(u,r), where rr is the vertex in CuP{u}C_{u}\cap P\setminus\{u\}, which minimizes |urγ||ur_{\gamma}|. This vertex rr is referred to as the closest vertex in this cone of uu.

In the remainder of the paper, we use |urγ||ur_{\gamma}| when measuring the closeness between a vertex rr and the apex uu of a cone that contains it.

For ease of exposition, we only consider point sets in general position: no two vertices lie on a line parallel to one of the rays that define the cones, no two vertices lie on a line parallel to the sweeping line of any cone, and no three points are collinear. These assumptions can be removed using standard perturbation techniques.

We note that the construction time for the sweeping line graph is identical to that of the Θ\Theta-graph: O(nlogn)O(n\log n) time. This can for example be achieved using the construction algorithm by Keil [15] and using the slanted sweepline instead of the perpendicular one (or alternatively rotating the point set).

Using the structure of the sweeping line graph, we define a simple algorithm called sweeping-routing to construct a path between any two vertices ss and tt. The name comes from the fact that this is also a 1-local routing algorithm on the sweeping line graph. Let tt be the destination of the routing algorithm and let uu be the current vertex (initially u=su=s). If there exists a direct edge to tt, follow this edge. Otherwise, follow the edge to the closest vertex in the cone of uu that contains tt.

2.1 Auxiliary Lemmas

In order to prove that the sweeping line graph is indeed a spanner, we start with a number of auxiliary lemmas needed to prove the main geometric lemma used throughout our proofs.

Lemma 2.

Let θ(0,2π7]\theta\in(0,\frac{2\pi}{7}] and γ[0,π3θ2)\gamma\in[0,\frac{\pi-3\theta}{2}). Then cos(θ2+γ)sinθ>0\cos(\frac{\theta}{2}+\gamma)-\sin\theta>0.

Proof.

Since cos(θ2+γ)sinθ\cos(\frac{\theta}{2}+\gamma)-\sin\theta is decreasing with respect to γ\gamma in our domain, it is minimized when γ\gamma is maximized. It follows that:

cos(θ2+γ)sinθ\displaystyle\cos\left(\frac{\theta}{2}+\gamma\right)-\sin\theta >cos(θ2+π23θ2)sinθ\displaystyle>\cos\left(\frac{\theta}{2}+\frac{\pi}{2}-\frac{3\theta}{2}\right)-\sin\theta
=cos(π2θ)sinθ\displaystyle=\cos\left(\frac{\pi}{2}-\theta\right)-\sin\theta
=sinθsinθ\displaystyle=\sin\theta-\sin\theta
=0\displaystyle=0

Therefore, within our domain, cos(θ2+γ)sinθ>0\cos(\frac{\theta}{2}+\gamma)-\sin\theta>0. ∎

Lemma 3.

Let θ(0,2π7]\theta\in(0,\frac{2\pi}{7}], γ[0,π3θ2)\gamma\in[0,\frac{\pi-3\theta}{2}), and κ[0,θ]\kappa\in[0,\theta]. Then cos(θ2γκ)>0\cos(\frac{\theta}{2}-\gamma-\kappa)>0 and cos(θ2+γκ)>0\cos(\frac{\theta}{2}+\gamma-\kappa)>0.

Proof.

To prove this, it suffices to show that π2<θ2γκ,θ2+γκ<π2-\frac{\pi}{2}<\frac{\theta}{2}-\gamma-\kappa,\frac{\theta}{2}+\gamma-\kappa<\frac{\pi}{2} as within this domain, cos(θ2γκ)\cos(\frac{\theta}{2}-\gamma-\kappa) and cos(θ2+γκ)\cos(\frac{\theta}{2}+\gamma-\kappa) are greater than 0.

Proof of π2<θ2γκ<π2-\frac{\pi}{2}<\frac{\theta}{2}-\gamma-\kappa<\frac{\pi}{2}:

First, we show that θ2γκ\frac{\theta}{2}-\gamma-\kappa is upperbounded by π2\frac{\pi}{2}:

θ2γκθ2\displaystyle\frac{\theta}{2}-\gamma-\kappa\leq\frac{\theta}{2} π7 (using the domain of θ)\displaystyle\leq\frac{\pi}{7}\text{ (using the domain of $\theta$)}
<π2\displaystyle<\frac{\pi}{2}

Next, we show that θ2γκ\frac{\theta}{2}-\gamma-\kappa is lowerbounded by π2-\frac{\pi}{2}:

θ2γκ>γκ\displaystyle\frac{\theta}{2}-\gamma-\kappa>-\gamma-\kappa π3θ2θ (using the domain of γ and κ)\displaystyle\geq-\frac{\pi-3\theta}{2}-\theta\text{ (using the domain of $\gamma$ and $\kappa$)}
>π2\displaystyle>-\frac{\pi}{2}

Proof of π2<θ2+γκ<π2-\frac{\pi}{2}<\frac{\theta}{2}+\gamma-\kappa<\frac{\pi}{2}:

First, we show that θ2+γκ\frac{\theta}{2}+\gamma-\kappa is upperbounded by π2\frac{\pi}{2}:

θ2+γκθ2+γ\displaystyle\frac{\theta}{2}+\gamma-\kappa\leq\frac{\theta}{2}+\gamma <θ2+π3θ2 (using the bounds on γ)\displaystyle<\frac{\theta}{2}+\frac{\pi-3\theta}{2}\text{ (using the bounds on $\gamma$)}
=π2θ2\displaystyle=\frac{\pi-2\theta}{2}
<π2\displaystyle<\frac{\pi}{2}

Next, we show that θ2+γκ\frac{\theta}{2}+\gamma-\kappa is lowerbounded by π2-\frac{\pi}{2}:

θ2+γκ>κ\displaystyle\frac{\theta}{2}+\gamma-\kappa>-\kappa 2π7 (using the bounds on κ)\displaystyle\geq-\frac{2\pi}{7}\text{ (using the bounds on $\kappa$)}
>π2\displaystyle>-\frac{\pi}{2}

Lemma 4.

Let aa and bb be positive reals and θ(0,2π7]\theta\in(0,\frac{2\pi}{7}], γ[0,π3θ2)\gamma\in[0,\frac{\pi-3\theta}{2}), and κ[0,θ]\kappa\in[0,\theta]. Then ab(cos(θ2+γ)sinθ)cos(θ2γκ)ab(cos(θ2+γ)sinθ)a-\frac{b(\cos(\frac{\theta}{2}+\gamma)-\sin\theta)}{\cos(\frac{\theta}{2}-\gamma-\kappa)}\leq a-b(\cos(\frac{\theta}{2}+\gamma)-\sin\theta) and ab(cos(θ2+γ)sinθ)cos(θ2+γκ)ab(cos(θ2+γ)sinθ)a-\frac{b(\cos(\frac{\theta}{2}+\gamma)-\sin\theta)}{\cos(\frac{\theta}{2}+\gamma-\kappa)}\leq a-b(\cos(\frac{\theta}{2}+\gamma)-\sin\theta).

Proof.

By Lemma 3, we know that 0<cos(θ2γκ)10<\cos(\frac{\theta}{2}-\gamma-\kappa)\leq 1. This implies that 11cos(θ2γκ)1\leq\frac{1}{\cos(\frac{\theta}{2}-\gamma-\kappa)} and thus 1cos(θ2γκ)1-\frac{1}{\cos\left(\frac{\theta}{2}-\gamma-\kappa\right)}\leq-1.

Using that (cos(θ2+γ)sinθ)>0(\cos(\frac{\theta}{2}+\gamma)-\sin\theta)>0 from Lemma 2, we obtain:

b(cos(θ2+γ)sinθ)cos(θ2γκ)\displaystyle-\frac{b(\cos(\frac{\theta}{2}+\gamma)-\sin\theta)}{\cos(\frac{\theta}{2}-\gamma-\kappa)} b(cos(θ2+γ)sinθ)\displaystyle\leq-b\left(\cos\left(\frac{\theta}{2}+\gamma\right)-\sin\theta\right)

which implies that

ab(cos(θ2+γ)sinθ)cos(θ2γκ)\displaystyle a-\frac{b(\cos(\frac{\theta}{2}+\gamma)-\sin\theta)}{\cos(\frac{\theta}{2}-\gamma-\kappa)} ab(cos(θ2+γ)sinθ)\displaystyle\leq a-b\left(\cos\left(\frac{\theta}{2}+\gamma\right)-\sin\theta\right)

An analogous argument shows that ab(cos(θ2+γ)sinθ)cos(θ2+γκ)ab(cos(θ2+γ)sinθ)a-\frac{b(\cos(\frac{\theta}{2}+\gamma)-\sin\theta)}{\cos(\frac{\theta}{2}+\gamma-\kappa)}\leq a-b(\cos(\frac{\theta}{2}+\gamma)-\sin\theta). ∎

Lemma 5.

Let θ(0,2π7]\theta\in(0,\frac{2\pi}{7}] and γ[0,π3θ2)\gamma\in[0,\frac{\pi-3\theta}{2}). Then cos(θ2γ)cos(θ2+γ)\cos(\frac{\theta}{2}-\gamma)\geq\cos(\frac{\theta}{2}+\gamma).

Proof.

To prove this, we show that cos(θ2γ)cos(θ2+γ)\cos\left(\frac{\theta}{2}-\gamma\right)-\cos\left(\frac{\theta}{2}+\gamma\right) is at least 0.

cos(θ2γ)cos(θ2+γ)\displaystyle\cos\left(\frac{\theta}{2}-\gamma\right)-\cos\left(\frac{\theta}{2}+\gamma\right) =cosθ2cosγ+sinθ2sinγcosθ2cosγ+sinθ2sinγ\displaystyle=\cos\frac{\theta}{2}\cos\gamma+\sin\frac{\theta}{2}\sin\gamma-\cos\frac{\theta}{2}\cos\gamma+\sin\frac{\theta}{2}\sin\gamma
=2sinθ2sinγ\displaystyle=2\sin\frac{\theta}{2}\sin\gamma
0 (due to the domain of θ and γ)\displaystyle\geq 0\text{ (due to the domain of $\theta$ and $\gamma$)}

Lemma 6.

Let θ(0,2π7]\theta\in(0,\frac{2\pi}{7}], γ[0,π3θ2)\gamma\in[0,\frac{\pi-3\theta}{2}), and κ[0,θ]\kappa\in[0,\theta]. Then cos(θ2γκ)cos(θ2+γ)\cos(\frac{\theta}{2}-\gamma-\kappa)\geq\cos(\frac{\theta}{2}+\gamma).

Proof.

We observe that cos(θ2κγ)=cos(κ(θ2γ))\cos(\frac{\theta}{2}-\kappa-\gamma)=\cos(\kappa-(\frac{\theta}{2}-\gamma)). Note that π2<θ2γ<π2-\frac{\pi}{2}<\frac{\theta}{2}-\gamma<\frac{\pi}{2} and that cos(κ(θ2γ))\cos(\kappa-(\frac{\theta}{2}-\gamma)) corresponds to the shifted cosκ\cos\kappa function. To prove the lemma, we distinguish between two cases:

Case 1: If θ2γ0\frac{\theta}{2}-\gamma\leq 0, cos(κ(θ2γ))\cos(\kappa-(\frac{\theta}{2}-\gamma)) corresponds to translating cosκ\cos\kappa to the left by θ2γ\frac{\theta}{2}-\gamma. Therefore, cos(κ(θ2γ))\cos(\kappa-(\frac{\theta}{2}-\gamma)) is decreasing over the domain of κ\kappa, which implies that cos(θ2γκ)cos(θ2γθ)=cos(θ2+γ)\cos(\frac{\theta}{2}-\gamma-\kappa)\geq\cos(\frac{\theta}{2}-\gamma-\theta)=\cos(\frac{\theta}{2}+\gamma).

Case 2: If θ2γ>0\frac{\theta}{2}-\gamma>0, cos(κ(θ2γ))\cos(\kappa-(\frac{\theta}{2}-\gamma)) corresponds to translating cosκ\cos\kappa to the right by θ2γ\frac{\theta}{2}-\gamma. Therefore, for κ(θ2γ,θ]\kappa\in(\frac{\theta}{2}-\gamma,\theta] the function is decreasing, so we can apply an argument analogous to that in Case 1 to prove the result in this domain.

It remains to prove the result for κ[0,θ2γ]\kappa\in[0,\frac{\theta}{2}-\gamma]. In this domain, cos(κ(θ2γ))\cos(\kappa-(\frac{\theta}{2}-\gamma)) is increasing. Therefore to prove the result, we need to show that at κ=0\kappa=0 (where cos(κ(θ2γ))\cos(\kappa-(\frac{\theta}{2}-\gamma)) is minimized in this domain), cos(κ(θ2γ))>cos(θ2+γ)\cos(\kappa-(\frac{\theta}{2}-\gamma))>\cos(\frac{\theta}{2}+\gamma). After substituting κ=0\kappa=0, we see that this corresponds to showing that cos(θ2γ)cos(θ2+γ)\cos(\frac{\theta}{2}-\gamma)\geq\cos(\frac{\theta}{2}+\gamma) which follows from Lemma 5. ∎

Lemma 7.

Let θ(0,2π7]\theta\in(0,\frac{2\pi}{7}], γ[0,π3θ2)\gamma\in[0,\frac{\pi-3\theta}{2}), and κ[0,θ]\kappa\in[0,\theta]. Then cos(θ2+γκ)cos(θ2+γ)\cos(\frac{\theta}{2}+\gamma-\kappa)\geq\cos(\frac{\theta}{2}+\gamma).

Proof.

We observe that cos(θ2κ+γ)=cos(κ(θ2+γ))\cos(\frac{\theta}{2}-\kappa+\gamma)=\cos(\kappa-(\frac{\theta}{2}+\gamma)). Note that 0<θ2+γ<π20<\frac{\theta}{2}+\gamma<\frac{\pi}{2} and that cos(κ(θ2+γ))\cos(\kappa-(\frac{\theta}{2}+\gamma)) corresponds to translating cosκ\cos\kappa to the right by θ2+γ\frac{\theta}{2}+\gamma, since θ2+γ\frac{\theta}{2}+\gamma is positive. Therefore, for κ[0,θ2+γ], cos(κ(θ2+γ))\kappa\in[0,\frac{\theta}{2}+\gamma],\text{ }\cos(\kappa-(\frac{\theta}{2}+\gamma)) is increasing and so cos(κ(θ2+γ))cos((θ2+γ))=cos(θ2+γ).\cos(\kappa-(\frac{\theta}{2}+\gamma))\geq\cos(-(\frac{\theta}{2}+\gamma))=\cos(\frac{\theta}{2}+\gamma).

For κ(θ2+γ,θ], cos(κ(θ2+γ))\kappa\in(\frac{\theta}{2}+\gamma,\theta],\text{ }\cos(\kappa-(\frac{\theta}{2}+\gamma)) is decreasing. Therefore to prove the result, we need to show that at κ=θ\kappa=\theta (where cos(κ(θ2+γ))\cos(\kappa-(\frac{\theta}{2}+\gamma)) is minimized in this domain), cos(κ(θ2+γ))cos(θ2+γ)\cos(\kappa-(\frac{\theta}{2}+\gamma))\geq\cos(\frac{\theta}{2}+\gamma). After substituting κ=θ\kappa=\theta, we see that this corresponds to showing that cos(θ2γ)cos(θ2+γ)\cos(\frac{\theta}{2}-\gamma)\geq\cos(\frac{\theta}{2}+\gamma) which we proved in Lemma 5. ∎

2.2 Main Geometric Lemma

Now that we have our auxiliary lemmas, we are ready to prove the main geometric lemma that we use throughout our later proofs.

Lemma 8.

Let k7k\geq 7 be an integer, θ\theta = 2πk\frac{2\pi}{k}, and γ[0,π3θ2)\gamma\in[0,\frac{\pi-3\theta}{2}). Let pp and qq be two distinct points in the plane and let CC be the cone of ζk\zeta_{k} such that qCpq\in C_{p}. Let rr be a point in CpC_{p} such that it is at least as close to pp as qq is to pp. Then |rq||pq|(cos(θ2+γ)sinθ)|pr||rq|\leq|pq|-(\cos(\frac{\theta}{2}+\gamma)-\sin\theta)|pr|.

Proof.

If r=qr=q then the claims holds. We assume in the rest of the proof that rqr\neq q.

Let \ell be the line through pp and qq. Let ss be the intersection of \ell and the sweeping line through rr. Let aa and bb be the intersection of the sweeping line through rr with the left and right side of the cone respectively. Let xx be the intersection of the right side of the cone and the line through aa perpendicular to the bisector of the cone. Finally, let α\alpha be the angle between the segments pqpq and prpr and let β\beta be the angle between the segment prpr and either the left or right side of the cone such that α\alpha and β\beta do not overlap. We have 0α,βθ0\leq\alpha,\beta\leq\theta and 0α+βθ0\leq\alpha+\beta\leq\theta. We distinguish two cases depending on whether rr lies to the left or right of \ell.

Case 1: If rr lies to the left of \ell (see Figure 6), we have that since pax\triangle pax is isosceles, pax=πθ2\angle pax=\frac{\pi-\theta}{2}. By considering pas\triangle pas, we can then deduce that asp=π2+θ2γ(α+β)\angle asp=\frac{\pi}{2}+\frac{\theta}{2}-\gamma-(\alpha+\beta). Finally, by considering prs\triangle prs, we can deduce that prs=π2θ2+γ+β\angle prs=\frac{\pi}{2}-\frac{\theta}{2}+\gamma+\beta.

Refer to caption
Figure 6: The points and angles defined for Case 1.

Applying the sine rule and trigonometric rewrite rules, we have:

|rs|\displaystyle|rs| =|pr|sinαcos(θ2(α+β)γ)\displaystyle=|pr|\frac{\sin\alpha}{\cos(\frac{\theta}{2}-(\alpha+\beta)-\gamma)}
|pr|sinθcos(θ2(α+β)γ)\displaystyle\leq|pr|\frac{\sin\theta}{\cos(\frac{\theta}{2}-(\alpha+\beta)-\gamma)}

and

|ps|\displaystyle|ps| =|pr|cos(θ2βγ)cos(θ2(α+β)γ)\displaystyle=|pr|\frac{\cos(\frac{\theta}{2}-\beta-\gamma)}{\cos(\frac{\theta}{2}-(\alpha+\beta)-\gamma)}
|pr|cos(θ2+γ)cos(θ2(α+β)γ)(using Lemma 6).\displaystyle\geq|pr|\frac{\cos(\frac{\theta}{2}+\gamma)}{\cos(\frac{\theta}{2}-(\alpha+\beta)-\gamma)}\text{(using Lemma~{}\ref{lem:lemma5}).}

Applying the triangle inequality, we get:

|rq|\displaystyle|rq| |rs|+|sq|\displaystyle\leq|rs|+|sq|
=|rs|+|pq||ps|\displaystyle=|rs|+|pq|-|ps|
|pq|+|pr|sinθcos(θ2(α+β)γ)|pr|cos(θ2+γ)cos(θ2(α+β)γ)\displaystyle\leq|pq|+|pr|\frac{\sin\theta}{\cos(\frac{\theta}{2}-(\alpha+\beta)-\gamma)}-|pr|\frac{\cos(\frac{\theta}{2}+\gamma)}{\cos(\frac{\theta}{2}-(\alpha+\beta)-\gamma)}
=|pq||pr|1cos(θ2(α+β)γ)(cos(θ2+γ)sinθ)\displaystyle=|pq|-|pr|\frac{1}{\cos\left(\frac{\theta}{2}-(\alpha+\beta)-\gamma\right)}\left(\cos\left(\frac{\theta}{2}+\gamma\right)-\sin{\theta}\right)
|pq||pr|(cos(θ2+γ)sinθ) (using Lemma 4).\displaystyle\leq|pq|-|pr|\left(\cos\left(\frac{\theta}{2}+\gamma\right)-\sin{\theta}\right)\text{ (using Lemma~{}\ref{lem:lemma3}).}

Case 2: If rr lies to the right of qq (see Figure 7), we have that since pax\triangle pax is an isosceles triangle, pxa=πθ2\angle pxa=\frac{\pi-\theta}{2}. This implies that axb=π+θ2\angle axb=\frac{\pi+\theta}{2}. By considering abx\triangle abx, we can then deduce that abx=π2θ2γ\angle abx=\frac{\pi}{2}-\frac{\theta}{2}-\gamma. We can then deduce that psb=π2+θ2+γ(α+β)\angle psb=\frac{\pi}{2}+\frac{\theta}{2}+\gamma-(\alpha+\beta) by considering psb\triangle psb. Finally, by considering psr\triangle psr, we can deduce that srp=π2θ2γ+β\angle srp=\frac{\pi}{2}-\frac{\theta}{2}-\gamma+\beta.

Refer to caption
Figure 7: The points and angles defined for Case 2.

By applying the sine rule and using trigonometric rewrite rules we have:

|rs|\displaystyle|rs| =|pr|sinαcos(θ2(α+β)+γ)\displaystyle=|pr|\frac{\sin\alpha}{\cos(\frac{\theta}{2}-(\alpha+\beta)+\gamma)}
|pr|sinθcos(θ2(α+β)+γ)\displaystyle\leq|pr|\frac{\sin\theta}{\cos(\frac{\theta}{2}-(\alpha+\beta)+\gamma)}

and

|ps|\displaystyle|ps| =|pr|cos(θ2β+γ)cos(θ2(α+β)+γ)\displaystyle=|pr|\frac{\cos(\frac{\theta}{2}-\beta+\gamma)}{\cos(\frac{\theta}{2}-(\alpha+\beta)+\gamma)}
|pr|cos(θ2+γ)cos(θ2(α+β)+γ)(using Lemma 7).\displaystyle\geq|pr|\frac{\cos(\frac{\theta}{2}+\gamma)}{\cos(\frac{\theta}{2}-(\alpha+\beta)+\gamma)}\text{(using Lemma~{}\ref{lem:lemma6}).}

An argument identical to that of Case 1 completes the proof of this case. ∎

3 The Unconstrained Setting

Now that we have our tools ready, it is time to prove that the sweeping line graph is a spanner in the unconstrained setting.

Theorem 9.

Let k \geq 7 be an integer, let θ=2πk\theta=\frac{2\pi}{k}, and let γ[0,π3θ2)\gamma\in[0,\frac{\pi-3\theta}{2}). Then the sweeping line construction produces a tt-spanner, where t = 1cos(θ2+γ)sinθ\frac{1}{\cos(\frac{\theta}{2}+\gamma)-\sin\theta}.

Proof.

Let uu and ww be two distinct vertices of PP. We consider the path u=v0,v1,v2,u=v_{0},v_{1},v_{2},... that is constructed by the sweeping-routing algorithm. We start by showing that this path terminates at ww. Let i0i\geq 0 and assume that viwv_{i}\neq w. Hence, vertex vi+1v_{i+1} exists. Consider the three vertices viv_{i}, vi+1v_{i+1}, and ww. Let CC be the cone such that wCuw\in C_{u}. By the construction of the sweeping line graph, vi+1v_{i+1} is at least as close to viv_{i} as ww is to viv_{i}. Hence, by applying Lemma 8 and Lemma 2 we obtain:

|vi+1w||viw|(cos(θ2+γ)sinθ)|vivi+1|<|viw|.|v_{i+1}w|\leq|v_{i}w|-\left(\cos\left(\frac{\theta}{2}+\gamma\right)-\sin\theta\right)|v_{i}v_{i+1}|<|v_{i}w|.

Hence, the vertices v0,v1,v2,v_{0},v_{1},v_{2},... on the path starting at uu are pairwise distinct, as each vertex on this path lies strictly closer to ww than any of its predecessors. Since the set PP is finite, this implies that the algorithm terminates. Therefore, the algorithm constructs a path between uu and ww.

We now prove an upper bound on the length of this path. Let mm be the index such that vm=wv_{m}=w. Rearranging |vi+1w||viw|(cos(θ2+γ)sinθ)|vivi+1||v_{i+1}w|\leq|v_{i}w|-(\cos(\frac{\theta}{2}+\gamma)-\sin\theta)|v_{i}v_{i+1}|, yields

|vivi+1|1cos(θ2+γ)sinθ(|viw||vi+1w|),|v_{i}v_{i+1}|\leq\frac{1}{\cos\left(\frac{\theta}{2}+\gamma\right)-\sin\theta}(|v_{i}w|-|v_{i+1}w|),

for each ii such that 0i<m0\leq i<m.

Therefore, the path between uu and ww has length

i=0m1|vivi+1|\displaystyle\sum_{i=0}^{m-1}|v_{i}v_{i+1}| 1cos(θ2+γ)sinθi=0m1(|viw||vi+1w|)\displaystyle\leq\frac{1}{\cos(\frac{\theta}{2}+\gamma)-\sin\theta}\sum_{i=0}^{m-1}(|v_{i}w|-|v_{i+1}w|)
=1cos(θ2+γ)sinθ(|v0w||vmw|)\displaystyle=\frac{1}{\cos(\frac{\theta}{2}+\gamma)-\sin\theta}(|v_{0}w|-|v_{m}w|)
=1cos(θ2+γ)sinθ|uw|,\displaystyle=\frac{1}{\cos(\frac{\theta}{2}+\gamma)-\sin\theta}|uw|,

completing the proof. ∎

In addition to showing that the graph is a spanner, the above proof shows that the sweeping-routing algorithm constructs a bounded length path, thus we obtain a local competitive routing algorithm.

Corollary 10.

Let k \geq 7 be an integer, let θ=2πk\theta=\frac{2\pi}{k}, and let γ[0,π3θ2)\gamma\in[0,\frac{\pi-3\theta}{2}). Then for any pair of vertices uu and ww the sweeping-routing algorithm produces a path from uu to ww of length at most 1cos(θ2+γ)sinθ|uw|\frac{1}{\cos(\frac{\theta}{2}+\gamma)-\sin\theta}\cdot|uw|.

4 The Constrained Setting

Next, we generalize the sweeping line graph to a more general setting with the introduction of line segment constraints. Recall that PP is a set of points in the plane and that SS is a set of line segments connecting two points in PP (not every point in PP needs to be an endpoint of a constraint in SS, but a point in PP can be the endpoint of an arbitrary number of constraints). The set of constraints is planar, i.e. no two constraints intersect properly.

Let vertex uu be an endpoint of a constraint cc and let the other endpoint be vv. Let CC be the cone of ζk\zeta_{k} such that vCuv\in C_{u}. The line through cc splits CuC_{u} into two subcones and for simplicity, we say that vv is contained in both of these. In general, a vertex uu can be an endpoint of several constraints and thus a cone can be split into several subcones (subcones are ordered in a clockwise fashion). For ease of exposition, when a cone CuC_{u} is not split, we consider CuC_{u} itself to be a single subcone. We use CujC^{j}_{u} to denote the jj-th subcone of CuC_{u}.

Recall that for any vertex xx in a cone, we defined xγx_{\gamma} to be the intersection of the left-side of the cone and the sweeping line through xx. We define the constrained sweeping line graph (see Figure 8):

Definition 11 (Constrained sweeping line graph).

Given a set of points PP in the plane, a plane set SS of line segment constraints connecting pairs of points in PP, an integer k7k\geq 7, θ=2πk\theta=\frac{2\pi}{k}, and γ[0,π3θ2)\gamma\in[0,\frac{\pi-3\theta}{2}). The constrained sweeping line graph is defined as follows:

  1. 1.

    The vertices of the graph are the points of PP.

  2. 2.

    For each vertex uu of PP and for each subcone CujC^{j}_{u} that contains one or more vertices of P{u}P\setminus\{u\} visible to uu, the spanner contains the undirected edge (u,r)(u,r), where rr is the vertex in CujP{u}C^{j}_{u}\cap P\setminus\{u\}, which is visible to uu and minimizes |urγ||ur_{\gamma}|. This vertex rr is referred to as the closest visible vertex in this subcone of uu.

Refer to caption
Figure 8: The edges in a cone of the constrained sweeping line graph. The thick red segment represents a constraint. The sweeping line of a subcone is a thick black segment inside the subcone and grey dotted outside, as vertices outside the subcone as ignored.

To prove that the above graph is a spanner, we need three lemmas. A proof of Lemma 12 can be found in [6] (see also Figure 9).

Lemma 12 ([6]).

Let uu, vv, and ww be three arbitrary points in the plane such that uwuw and vwvw are visibility edges and ww is not the endpoint of a constraint intersecting the interior of triangle uvwuvw. Then there exists a convex chain of visibility edges (different from the chain consisting of uwuw and wvwv) from uu to vv in triangle uvwuvw, such that the polygon defined by uwuw, wvwv and the convex chain is empty and does not contain any constraints.

Refer to caption
Figure 9: Illustration of Lemma 12.
Lemma 13.

Let uu and ww be two distinct vertices in the constrained sweeping line graph such that uwuw is a visibility edge and let CC be the cone of ζk\zeta_{k} such that wCuw\in C_{u}. Let v0v_{0} be the closest visible vertex in the subcone of CuC_{u} that contains ww. Let \ell be the line through uu and ww. Let ss be the intersection of \ell and the sweeping line through v0v_{0}. Then v0sv_{0}s is a visibility edge.

Proof.

We use a proof by contradiction (see Figure 10 for an example layout). Assume v0sv_{0}s is not a visibility edge. Then there must be a line segment constraint intersecting v0sv_{0}s. This implies that one of its endpoints lies in uv0s\triangle uv_{0}s, as uwuw and uv0uv_{0} are visibility edges and thus the constraint cannot pass through them. Applying Lemma 12 on uv0s\triangle uv_{0}s, which contains at least one vertex in its interior, implies that there exists a vertex that is visible to uu and closer to uu than v0v_{0} (in particular the first vertex hit by the sweeping line starting from uu), contradicting that v0v_{0} is the closest visible vertex. Therefore, no constraint intersects v0sv_{0}s. ∎

Refer to caption
Figure 10: An example layout of pp, qq, v0v_{0}, and ss.

The following lemma ensures that we can apply induction later.

Lemma 14.

Let k7k\geq 7 be an integer, let θ=2πk\theta=\frac{2\pi}{k}, and let γ[0,π3θ2)\gamma\in[0,\frac{\pi-3\theta}{2}). Let uu and ww be two distinct vertices in the constrained sweeping line graph and let CC be the cone of ζk\zeta_{k} such that wCuw\in C_{u}. Let v0v_{0} be a vertex in CuC_{u} such that it is the closest visible vertex to uu. Let \ell be the line through uwuw and let ss be the intersection of \ell and the sweeping line through v0v_{0}. Then |v0s|<|uw||v_{0}s|<|uw|, |sw|<|uw||sw|<|uw|, and |v0w|<|uw||v_{0}w|<|uw|.

Proof.

Refer to Figure 10 for an example layout.

We first show that |v0s|<|uw||v_{0}s|<|uw|: By applying Lemma 8 to uu, ss, and v0v_{0}, we obtain that |v0s||us|(cos(θ2+γ)sinθ)|uv0||v_{0}s|\leq|us|-(\cos(\frac{\theta}{2}+\gamma)-\sin\theta)\cdot|uv_{0}|. Using Lemma 2, this implies that |v0s|<|us||v_{0}s|<|us|. Finally, using the fact that usus is contained in uwuw, we conclude that |v0s|<|uw||v_{0}s|<|uw|.

Next, since swsw is contained in uwuw, it follows that |sw|<|uw||sw|<|uw|.

Finally, we argue that |v0w|<|uw||v_{0}w|<|uw|: By applying Lemma 8 to uu, ww, and v0v_{0}, we obtain that |v0w||uw|(cos(θ2+γ)sinθ)|uv0||v_{0}w|\leq|uw|-(\cos(\frac{\theta}{2}+\gamma)-\sin\theta)\cdot|uv_{0}|. We can then apply Lemma 2 to obtain that |v0w|<|uw||v_{0}w|<|uw|. ∎

We are now ready to prove that the constrained sweeping line graph is a spanner of the visibility graph.

Theorem 15.

Let k7k\geq 7 be an integer, let θ=2πk\theta=\frac{2\pi}{k}, and let γ[0,π3θ2)\gamma\in[0,\frac{\pi-3\theta}{2}). Let uu and ww be two distinct vertices in the plane that can see each other. There exists a path connecting uu and ww in the constrained sweeping line graph of length at most 1cos(θ2+γ)sin(θ)|uw|\frac{1}{\cos(\frac{\theta}{2}+\gamma)-\sin(\theta)}\cdot|uw|.

Proof.

Let CC be the cone of ζk\zeta_{k} such that ww\in CuC_{u}. We prove the theorem by induction on the rank of the pairs of vertices that can see each other, based on the Euclidean distance between them. Our inductive hypothesis is the following: δ(u,w)1cos(θ2+γ)sinθ|uw|\delta(u,w)\leq\frac{1}{\cos(\frac{\theta}{2}+\gamma)-\sin\theta}|uw|, where uu and ww are two distinct vertices that can see each other and δ(u,w)\delta(u,w) is the length of the shortest path between them in the constrained sweeping line graph.

Base case: In this case, uu and ww are the Euclidean closest visible pair. If there exists an edge between uu and ww, then δ(u,w)=|uw|1cos(θ2+γ)sinθ|uw|\delta(u,w)=|uw|\leq\frac{1}{\cos(\frac{\theta}{2}+\gamma)-\sin\theta}|uw|, so the induction hypothesis holds.

It remains to show that, indeed, there exists an edge between the Euclidean closest visible pair. We prove this using contradiction. Assume that there is no edge between uu and ww. Then there must exist a vertex v0v_{0} in the subcone CujC^{j}_{u} that contains ww that has an edge to uu in the constrained sweeping line graph. Let \ell be the line through uwuw. Let ss be the intersection of \ell and the sweeping line through v0v_{0}. Note that swsw is a visibility edge, due to uwuw being a visibility edge, and v0sv_{0}s is a visibility edge, by Lemma 13. Therefore, by applying Lemma 12, there exists a convex chain v0,v1,,vm1,vm=wv_{0},v_{1},...,v_{m-1},v_{m}=w of visibility edges from v0v_{0} to ww inside v0sw\triangle v_{0}sw.

By applying Lemma 14 using uu, ww, and v0v_{0}, we infer that all sides of v0sw\triangle v_{0}sw have length less than the Euclidean distance between uu and ww. Since the convex chain is contained in this triangle, it follows that any pair of consecutive vertices along it has a smaller Euclidean distance than the Euclidean distance between uu and ww. This contradicts that uwuw is the closest Euclidean pair of visible vertices.

Induction step: We assume that the induction hypothesis holds for all pairs of vertices that can see each other and whose Euclidean distance is smaller than the Euclidean distance between uu and ww.

If uwuw is an edge in the constrained sweeping line graph, the induction hypothesis follows by the same argument as in the base case. If there is no edge between uu and ww, let v0v_{0} be the closest visible vertex to uu (using the sweeping line) in the subcone CujC^{j}_{u} that contains ww. By construction, (u,v0)(u,v_{0}) is an edge of the graph. Let \ell be the line passing through uu and ww. Let ss be the intersection of \ell and the sweeping line through v0v_{0} (see Figure 10). By definition, δ(u,w)|uv0|+δ(v0,w)\delta(u,w)\leq|uv_{0}|+\delta(v_{0},w).

We know that swsw is a visibility edge, since uwuw is a visibility edge, and we know v0sv_{0}s is a visibility edge by Lemma 13. Therefore, by Lemma 12 there exists a convex chain v0,,vm=wv_{0},...,v_{m}=w of visibility edges inside v0sw\triangle v_{0}sw connecting v0v_{0} and ww. Applying Lemma 14 to the points uu, v0v_{0}, and ww, we infer that each side of v0sw\triangle v_{0}sw has length smaller than |uw||uw|. Therefore, we can apply induction to every visibility edge along the convex chain from v0v_{0} to ww, as each has length smaller than |uw||uw|. Therefore,

δ(u,w)\displaystyle\delta(u,w) |uv0|+i=0m1δ(vi,vi+1)\displaystyle\leq|uv_{0}|+\sum_{i=0}^{m-1}\delta(v_{i},v_{i+1})
|uv0|+1cos(θ2+γ)sinθi=0m1|vivi+1|\displaystyle\leq|uv_{0}|+\frac{1}{\cos(\frac{\theta}{2}+\gamma)-\sin\theta}\sum_{i=0}^{m-1}|v_{i}v_{i+1}| (by induction hypothesis)
|uv0|+1cos(θ2+γ)sinθ(|v0s|+|sw|)\displaystyle\leq|uv_{0}|+\frac{1}{\cos(\frac{\theta}{2}+\gamma)-\sin\theta}(|v_{0}s|+|sw|) (since the chain is convex)

Finally, we apply Lemma 8, using r=v0r=v_{0}, q=sq=s, and p=up=u. This gives us that |v0s||us||uv0|(cos(θ2+γ)sinθ)|v_{0}s|\leq|us|-|uv_{0}|\left(\cos\left(\frac{\theta}{2}+\gamma\right)-\sin\theta\right), which can be rewritten to |uv0|+|v0s|/(cos(θ2+γ)sinθ)|us|/(cos(θ2+γ)sinθ)|uv_{0}|+|v_{0}s|/(\cos(\frac{\theta}{2}+\gamma)-\sin\theta)\leq|us|/(\cos(\frac{\theta}{2}+\gamma)-\sin\theta). By adding |sw|/(cos(θ2+γ)sinθ)|sw|/(\cos(\frac{\theta}{2}+\gamma)-\sin\theta) to both sides and the fact that |us|+|sw|=|uw||us|+|sw|=|uw|, we obtain:

|uv0|+1cos(θ2+γ)sinθ(|v0s|+|sw|)\displaystyle|uv_{0}|+\frac{1}{\cos(\frac{\theta}{2}+\gamma)-\sin\theta}(|v_{0}s|+|sw|) 1cos(θ2+γ)sinθ(|us|+|sw|)\displaystyle\leq\frac{1}{\cos(\frac{\theta}{2}+\gamma)-\sin\theta}(|us|+|sw|)
=1cos(θ2+γ)sinθ|uw|.\displaystyle=\frac{1}{\cos(\frac{\theta}{2}+\gamma)-\sin\theta}|uw|.

Hence, we conclude that δ(u,w)1cos(θ2+γ)sinθ|uw|\delta(u,w)\leq\frac{1}{\cos(\frac{\theta}{2}+\gamma)-\sin\theta}|uw|. ∎

We note that the above theorem implies that the constrained sweeping line graph also provides a path with bounded spanning ratio with respect to the shortest path in Vis(P,S)(P,S) for every pair of points, since every pair of consecutive vertices along this shortest path is by definition visible.

5 Polygonal Obstacles

Finally, we generalize the result from the previous section to more complex obstacles. Recall that in this setting SS is a finite set of polygonal obstacles, where each corner of each obstacle is a point in PP, such that no two obstacles intersect, and that each point is part of at most one polygonal obstacle and occurs at most once along its boundary. No obstacle has any points of PP in its interior.

In a nutshell, the defintions used in this section are highly similar to those of the previous section: As in the constrained setting, the line segment between two visible vertices is called a visibility edge and the visibility graph of a point set PP and a set of polygonal obstacles SS is the complete graph on PP excluding all the edges that properly intersect some obstacle. Cones that are split are considered to be subcones of the original cone. Note that since SS consists of vertex-disjoint simple polygons, a cone can be split into at most two subcones. By focusing on the subcones, the polygonal-constrained sweeping line graph is defined analogously to the constrained sweeping line graph: for each subcone CujC^{j}_{u} of each vertex uu, we add an undirected edge between uu and the closest vertex in that subcone that can see uu, where the distance is measured along the left side of the original cone of uu (not the left side of the subcone).

For completeness, we also include the full formal definition. Let vertex uu be a corner of an obstacle oo and let yy and zz be the corners preceding and following uu on the cyclic order of the corners of oo. Let CC be the cone of ζk\zeta_{k} such that yCuy\in C_{u} and let CC^{\prime} be the cone of ζk\zeta_{k} such that zCuz\in C^{\prime}_{u}. If C=CC=C^{\prime}, obstacle oo splits CuC_{u} into two subcones, one clockwise from the obstacle and one counterclockwise from the obstacle (see Figure 11a). Since each vertex uu can be a corner of at most one obstacle, only one of its cones can be split this way. We note that if CCC\neq C^{\prime}, then this simply means that the visible region in those two cones is narrower than those of the other cones, but they are otherwise treated the same way as the other cones (see Figure 11b). For ease of exposition, when a cone CuC_{u} is not split, we consider CuC_{u} itself to be a single subcone. We use CujC^{j}_{u} to denote the jj-th subcone of CuC_{u}.

Refer to caption
Figure 11: The different ways in which a polygonal obstacle can affect the construction: (a) a cone is split by the obstacle, (b) the visible region in a cone is made narrower by an obstacle, (c) vertex uu and vv cannot see each other because of the obstacle, but the obstacle does not create subcones for uu, as uu is not one of its corners.

Recall that for any vertex xx in a cone, we defined xγx_{\gamma} to be the intersection of the left-side of the cone and the sweeping line through xx. We define the polygonal-constrained sweeping line graph (see Figure 12):

Definition 16 (Polygonal-constrained sweeping line graph).

Given a set of points PP in the plane, a non-intersecting set SS of simple polygonal obstacles whose corners are points in PP, an integer k7k\geq 7, θ=2πk\theta=\frac{2\pi}{k}, and γ[0,π3θ2)\gamma\in[0,\frac{\pi-3\theta}{2}). The polygonal-constrained sweeping line graph is defined as follows:

  1. 1.

    The vertices of the graph are the points of PP.

  2. 2.

    For each vertex uu of PP and for each subcone CujC^{j}_{u} that contains one or more vertices of P{u}P\setminus\{u\} visible to uu, the spanner contains the undirected edge (u,r)(u,r), where rr is the vertex in CujP{u}C^{j}_{u}\cap P\setminus\{u\}, which is visible to uu and minimizes |urγ||ur_{\gamma}|. This vertex rr is referred to as the closest visible vertex in this subcone of uu.

Refer to caption
Figure 12: The edges in a cone of the polygonal-constrained sweeping line graph. The red area represents (part of) an obstacle. The sweeping line of a subcone is a thick black segment inside the subcone and grey dotted outside, as vertices outside the subcone as ignored.

We now introduce modifications to Lemmas 12 and  13 to make them suited for polygonal obstacles. A proof of Lemma 17 can be found in [18].

Lemma 17 ([18]).

Let uu, vv, and ww be three points where (w,u)(w,u) and (u,v)(u,v) are both visibility edges and uu is not a vertex of any polygonal obstacle PP where the open polygon PP^{\prime} of PP intersects wuv\triangle wuv. The area AA, bounded by (w,u)(w,u), (u,v)(u,v), and a convex chain formed by visibility edges between ww and vv inside wuv\triangle wuv, does not contain any vertices and is not intersected by any obstacles.

Lemma 18.

Let uu and ww be two distinct vertices in the polygonal-constrained sweeping line graph such that uwuw is a visibility edge and let CC be the cone of ζk\zeta_{k} such that wCuw\in C_{u}. Let v0v_{0} be the closest visible vertex in the subcone of CuC_{u} that contains ww. Let \ell be the line through uu and ww. Let ss be the intersection of \ell and the sweeping line through v0v_{0}. Then v0sv_{0}s is a visibility edge.

Proof.

This proof is analogous to the proof of Lemma 13. ∎

Using these two modified lemmas, we can prove that the polygonal-constrained sweeping line graph is a spanner of the visibility graph.

Theorem 19.

Let k7k\geq 7 be an integer, let θ=2πk\theta=\frac{2\pi}{k}, and let γ[0,π3θ2)\gamma\in[0,\frac{\pi-3\theta}{2}). Let uu and ww be two distinct vertices in the plane that can see each other. There exists a path connecting uu and ww in the polygonal-constrained sweeping line graph of length at most 1cos(θ2+γ)sin(θ)|uw|\frac{1}{\cos(\frac{\theta}{2}+\gamma)-\sin(\theta)}\cdot|uw|.

Proof.

The proof is analogous to the proof of Theorem 15. The only changes required are that the uses of Lemma 12 and Lemma 13 are replaced with Lemma 17 and Lemma 18 respectively. Note that all other arguments still hold, as they are arguments based on Euclidean distance, rather than the specific shape of the (straight-line) obstacles. ∎

We note that, like the constrained sweeping line graph in the previous section, the above theorem implies that the polygonal-constrained sweeping line graph also provides a path with bounded spanning ratio with respect to the shortest path in Vis(P,S)(P,S) for every pair of points.

6 Conclusion

We showed that the sweeping line construction produces a spanner in the unconstrained, constrained, and polygonal obstacle settings. These graphs are a generalization of Θ\Theta-graphs and thus we also showed that every Θ\Theta-graph with at least 7 cones is a spanner in the presence of polygonal obstacles. We also note that the proof in the unconstrained case immediately implied a local routing algorithm with competitive ratio equal to (the current upper bound of) the spanning ratio.

Our proofs rely on Lemma 8, which bounds the length of the inductive part of our path. We conjecture that any proof strategy that uses induction must satisfy a condition similar to Lemma 8 in order to upper bound the spanning ratio. An analogous argument could then be applied to prove the construction to be a spanner in all three settings using the methods from this paper (i.e., finding a vertex v0v_{0} satisfying the conditions of Lemmas 13 and 14). This would greatly simplify spanner construction for the constrained and polygonal obstacle settings, by putting the focus on the simpler unconstrained setting. In particular, we conjecture that the strategy described in this paper can be applied to generalize the known results for Yao-graphs.

Other open problems include improving the spanning ratios presented in this paper or showing that this is not possible by providing matching lower bounds. Another direction for future work is extending the results to include sweeping line graphs with 4, 5, or 6 cones. Since inductive arguments do not (easily) apply when there are fewer than 7 cones, giving a general approach as done in this paper will be challenging.

References

  • [1] O. Aichholzer, S. W. Bae, L. Barba, P. Bose, M. Korman, A. van Renssen, P. Taslakian, and S. Verdonschot. Theta-3 is connected. Computational Geometry: Theory and Applications (CGTA), 47(9):910–917, 2014.
  • [2] L. Barba, P. Bose, J.-L. De Carufel, A. van Renssen, and S. Verdonschot. On the stretch factor of the theta-4 graph. In Proceedings of the 13th Algorithms and Data Structures Symposium (WADS 2013), volume 8037 of Lecture Notes in Computer Science, pages 109–120, 2013.
  • [3] N. Bonichon, C. Gavoille, N. Hanusse, and D. Ilcinkas. Connections between theta-graphs, Delaunay triangulations, and orthogonal surfaces. In Proceedings of the 36th International Conference on Graph Theoretic Concepts in Computer Science (WG 2010), volume 6410 of Lecture Notes in Computer Science, pages 266–278, 2010.
  • [4] P. Bose, J.-L. De Carufel, D. Hill, and M. Smid. On the spanning and routing ratio of the directed theta-four graph. Discrete & Computational Geometry, 2023.
  • [5] P. Bose, J.-L. De Carufel, P. Morin, A. van Renssen, and S. Verdonschot. Towards tight bounds on theta-graphs: More is not always better. Theoretical Computer Science (TCS), 616:70–93, 2016.
  • [6] P. Bose, R. Fagerberg, A. van Renssen, and S. Verdonschot. On plane constrained bounded-degree spanners. Algorithmica, 81(4):1392–1415, 2019.
  • [7] P. Bose, J. Gudmundsson, and P. Morin. Ordered theta graphs. Computational Geometry: Theory and Applications (CGTA), 28(1):11–18, 2004.
  • [8] P. Bose, D. Hill, and A. Ooms. Improved bounds on the spanning ratio of the theta-5-graph. In Proceedings of the 17th Algorithms and Data Structures Symposium (WADS 2021), volume 12808 of Lecture Notes in Computer Science, pages 215–228, 2021.
  • [9] P. Bose, P. Morin, A. van Renssen, and S. Verdonschot. The θ5\theta_{5}-graph is a spanner. Computational Geometry: Theory and Applications (CGTA), 48(2):108–119, 2015.
  • [10] P. Bose and M. Smid. On plane geometric spanners: A survey and open problems. Computational Geometry: Theory and Applications (CGTA), 46(7):818–830, 2013.
  • [11] P. Bose and A. van Renssen. Spanning properties of Yao and θ\theta-graphs in the presence of constraints. International Journal of Computational Geometry & Applications (IJCGA), 29(02):95–120, 2019.
  • [12] K. Clarkson. Approximation algorithms for shortest path motion planning. In Proceedings of the 19th Annual ACM Symposium on Theory of Computing (STOC 1987), pages 56–65, 1987.
  • [13] G. Das. The visibility graph contains a bounded-degree spanner. In Proceedings of the 9th Canadian Conference on Computational Geometry (CCCG 1997), pages 70–75, 1997.
  • [14] N. M. El Molla. Yao spanners for wireless ad hoc networks. Master’s thesis, Villanova University, 2009.
  • [15] J. Keil. Approximating the complete Euclidean graph. In Proceedings of the 1st Scandinavian Workshop on Algorithm Theory (SWAT 1988), volume 318 of Lecture Notes in Computer Science, pages 208–213, 1988.
  • [16] G. Narasimhan and M. Smid. Geometric Spanner Networks. Cambridge University Press, 2007.
  • [17] J. Ruppert and R. Seidel. Approximating the dd-dimensional complete Euclidean graph. In Proceedings of the 3rd Canadian Conference on Computational Geometry (CCCG 1991), pages 207–210, 1991.
  • [18] A. van Renssen and G. Wong. Bounded-degree spanners in the presence of polygonal obstacles. Theoretical Computer Science (TCS), 854:159–173, 2021.