The University of [email protected]://orcid.org/0000-0002-6778-7990 Funded by the Australian Government through the Australian Research Council DP180102870. The University of [email protected]://orcid.org/0000-0003-3417-5303 The University of [email protected]://orcid.org/0000-0002-9294-9947 The University of [email protected]://orcid.org/0000-0003-3803-3804

Acknowledgements.
\CopyrightJoachim Gudmundsson, Zijin Huang, André van Renssen and Sampson Wong \ccsdescTheory of computation Computational geometry

Spanner for the 0/1/010/1/\infty0 / 1 / ∞ weighted region problem

Joachim Gudmundsson    Zijin Huang    André van Renssen    Sampson Wong
(October 2022)
Abstract

We consider the problem of computing an approximate weighted shortest path in a weighted subdivision, with weights assigned from the set {0,1,}01\{0,1,\infty\}{ 0 , 1 , ∞ }. We present a data structure \mathcal{B}caligraphic_B, which stores a set of convex, non-overlapping regions. These include zero-cost regions (0-regions) with a weight of 00 and obstacles with a weight of \infty, all embedded in a plane with a weight of 1111. The data structure \mathcal{B}caligraphic_B can be constructed in expected time O(N+(n/ε3)(log(n/ε)+logN))𝑂𝑁𝑛superscript𝜀3𝑛𝜀𝑁O(N+(n/\varepsilon^{3})(\log(n/\varepsilon)+\log N))italic_O ( italic_N + ( italic_n / italic_ε start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT ) ( roman_log ( italic_n / italic_ε ) + roman_log italic_N ) ), where n𝑛nitalic_n is the total number of regions, N𝑁Nitalic_N represents the total complexity of the regions, and 1+ε1𝜀1+\varepsilon1 + italic_ε is the approximation factor, for any 0<ε<10𝜀10<\varepsilon<10 < italic_ε < 1. Using \mathcal{B}caligraphic_B, one can compute an approximate weighted shortest path from any point s𝑠sitalic_s to any point t𝑡titalic_t in O(N+n/ε3+(n/ε2)log(n/ε)+(logN)/ε)𝑂𝑁𝑛superscript𝜀3𝑛superscript𝜀2𝑛𝜀𝑁𝜀O(N+n/\varepsilon^{3}+(n/\varepsilon^{2})\log(n/\varepsilon)+(\log N)/\varepsilon)italic_O ( italic_N + italic_n / italic_ε start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT + ( italic_n / italic_ε start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) roman_log ( italic_n / italic_ε ) + ( roman_log italic_N ) / italic_ε ) time. In the special case where the 0-regions and obstacles are polygons (not necessarily convex), \mathcal{B}caligraphic_B contains a (1+ε)1𝜀(1+\varepsilon)( 1 + italic_ε )-spanner of the input vertices.

keywords:
weighted region problem, approximate shortest path, spanner

1 Introduction

The Weighted Region Problem (WRP) is a generalization of the shortest path problem, considering a planar subdivision E𝐸Eitalic_E where each face has a non-negative weight associated with it. A path σ𝜎\sigmaitalic_σ in E𝐸Eitalic_E can be partitioned into a set of subpaths {σ1,,σk}subscript𝜎1subscript𝜎𝑘\{\sigma_{1},...,\sigma_{k}\}{ italic_σ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_σ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT } based on its intersection with faces in E𝐸Eitalic_E, where a subpath σisubscript𝜎𝑖\sigma_{i}italic_σ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT starts at the point sisubscript𝑠𝑖s_{i}italic_s start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and ends at the point tisubscript𝑡𝑖t_{i}italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. Both sisubscript𝑠𝑖s_{i}italic_s start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and tisubscript𝑡𝑖t_{i}italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT must lie on the boundary of the same face Fisubscript𝐹𝑖F_{i}italic_F start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. The weight of the subpath σisubscript𝜎𝑖\sigma_{i}italic_σ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is the Euclidean length of σisubscript𝜎𝑖\sigma_{i}italic_σ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT times the weight assigned to Fisubscript𝐹𝑖F_{i}italic_F start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. The total weight of a path is the sum of the weights of its subpaths. The goal of the WRP is to find the weighted shortest path from a source point s𝑠sitalic_s to a target point t𝑡titalic_t. When the weights are in the set {0,1,}01\{0,1,\infty\}{ 0 , 1 , ∞ }, this problem is referred to as the 0/1/010/1/\infty0 / 1 / ∞ Weighted Region Problem [17].

Researchers have conjectured that the WRP is difficult to solve [17], and recent studies confirm this conjecture — the Weighted Region Problem is unsolvable in the algebraic computation model over the rational numbers. De Carufel et al. [14] demonstrated that the WRP cannot be solved exactly even with only three different weights. De Berg et al. [12] confirmed its unsolvability with just two different weights. Mitchell and Papadimitriou [21] illustrated that in two dimensions, a weighted shortest path can intersect at least Ω(n2)Ωsuperscript𝑛2\Omega(n^{2})roman_Ω ( italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) boundaries even when the regions are convex.

Due to the difficulty of solving the WRP exactly, approximation algorithms have been considered. A common approach is to discretize the problem space, either by assuming the space is a tessellation of convex polygons with exactly one associated weight [5], or by placing Steiner (sample) points on the boundaries of the regions [1, 2, 9, 20, 23]. In these approaches, the number of sample points depends not only on the complexity of the regions but also on geometric parameters such as the maximum integer coordinate of any vertex and the ratio rwsubscript𝑟𝑤r_{w}italic_r start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT of the maximum weight over the minimum weight. As rwsubscript𝑟𝑤r_{w}italic_r start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT increases, so does the number of required sample points. As a result, the weights are required to be strictly positive.

1.1 Related work

Our work is closely related to the data structure and algorithm by Gewali et al. [17] to solve the 0/1/010/1/\infty0 / 1 / ∞ weighted region problem. Their algorithm takes a polygonal domain with N𝑁Nitalic_N vertices as input and constructs a critical graph 𝒢=(𝒱,)superscript𝒢superscript𝒱superscript\mathcal{G}^{*}=(\mathcal{V}^{*},\mathcal{E}^{*})caligraphic_G start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT = ( caligraphic_V start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT , caligraphic_E start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ) (a type of visibility graph) with O(N2)𝑂superscript𝑁2O(N^{2})italic_O ( italic_N start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) edges. Dijkstra’s shortest path algorithm can be used on 𝒢superscript𝒢\mathcal{G}^{*}caligraphic_G start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT to compute a weighted shortest path between any pair of vertices in O(N2)𝑂superscript𝑁2O(N^{2})italic_O ( italic_N start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) time.

In 0/1/010/1/\infty0 / 1 / ∞ weighted regions, a weighted shortest path Psuperscript𝑃P^{*}italic_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT avoids obstacles and traverses the 0-regions freely, while minimizing its length in the plane (1111-region). Consider two (closed) regions A𝐴Aitalic_A and B𝐵Bitalic_B, each either a 0-region or an obstacle. The key observation in [17] is that an edge in Psuperscript𝑃P^{*}italic_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT connecting A𝐴Aitalic_A and B𝐵Bitalic_B must be locally optimal (see Fact 2). For example, an edge (a,b)𝑎𝑏(a,b)( italic_a , italic_b ) connecting two convex 0-regions A𝐴Aitalic_A and B𝐵Bitalic_B must be perpendicular to the tangent touching aA𝑎𝐴a\in Aitalic_a ∈ italic_A and the tangent touching bB𝑏𝐵b\in Bitalic_b ∈ italic_B. Gewali et al. [17] showed that Gsuperscript𝐺G^{*}italic_G start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT contains all such locally optimal edges in Gsuperscript𝐺G^{*}italic_G start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT, which implies that Gsuperscript𝐺G^{*}italic_G start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT must contain the optimal path between any pair of vertices in Gsuperscript𝐺G^{*}italic_G start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT.

1.2 Our Contribution

In this paper, we build on the work by Gewali et al. [17] with a focus on the 00-regions as they are not handled well by existing approximation schemes (using sample points or tessellation). In Section 2, we consider the 0/1010/10 / 1 weighted region problem where the 0-regions are convex but not necessarily polygonal.

Problem 1.

In the planar subdivision induced by the plane with weight 1111 and a set 𝒵𝒵\mathcal{Z}caligraphic_Z of non-overlapping convex zero-cost regions (0-regions) with weight 00, given an approximation error 0<ε<10𝜀10<\varepsilon<10 < italic_ε < 1, find a (1+ε)1𝜀(1+\varepsilon)( 1 + italic_ε )-approximate weighted shortest path from an arbitrary point s𝑠sitalic_s to an arbitrary point t𝑡titalic_t.

The high-level idea is that, in order to obtain (1+ε)1𝜀(1+\varepsilon)( 1 + italic_ε )-approximate shortest paths, we place O(1/ε)𝑂1𝜀O(1/\varepsilon)italic_O ( 1 / italic_ε ) sample points on the boundary of each 00-region; the number of sample points is independent of other parameters. Using these sample points, we construct a ΘΘ\Thetaroman_Θ-graph and O(1/ε)𝑂1𝜀O(1/\varepsilon)italic_O ( 1 / italic_ε ) trapezoidal maps, which are part of our data structure \mathcal{B}caligraphic_B. The trapezoidal maps ensure the existence of good paths between 00-regions that are close111A precise definition is provided in Lemma 2.4 and 2.8, Section 2. to each other, while the ΘΘ\Thetaroman_Θ-graph ensures the same for 00-regions that are far from each other. To the best of our knowledge, our algorithm is the first near-linear time (1+ε)1𝜀(1+\varepsilon)( 1 + italic_ε )-approximation algorithm that finds an approximated weighted shortest path in a 0/1010/10 / 1 weighted region. Our algorithm is near-optimal, as a weighted shortest path can have Ω(n+N)Ω𝑛𝑁\Omega(n+N)roman_Ω ( italic_n + italic_N ) complexity.

Theorem 1.1.

Consider a planar subdivision induced by a plane with weight 1, containing a set 𝒵𝒵\mathcal{Z}caligraphic_Z of non-overlapping convex 0-regions with weight 0. Let |𝒵|=n𝒵𝑛|\mathcal{Z}|=n| caligraphic_Z | = italic_n and N𝑁Nitalic_N denote the total number of vertices in 𝒵𝒵\mathcal{Z}caligraphic_Z. For any approximation factor 0<ε<10𝜀10<\varepsilon<10 < italic_ε < 1, a data structure \mathcal{B}caligraphic_B can be constructed over 𝒵𝒵\mathcal{Z}caligraphic_Z in O(N+(n/ε2)(log(n/ε)+logN))𝑂𝑁𝑛superscript𝜀2𝑛𝜀𝑁O(N+(n/\varepsilon^{2})(\log(n/\varepsilon)+\log N))italic_O ( italic_N + ( italic_n / italic_ε start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) ( roman_log ( italic_n / italic_ε ) + roman_log italic_N ) ) expected time, with a total size of O(N+n/ε2)𝑂𝑁𝑛superscript𝜀2O(N+n/\varepsilon^{2})italic_O ( italic_N + italic_n / italic_ε start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ). When queried with points s𝑠sitalic_s and t𝑡titalic_t, \mathcal{B}caligraphic_B can return a weighted path P𝑃Pitalic_P from s𝑠sitalic_s to t𝑡titalic_t in O(N+n/ε2+(n/ε)log(n/ε)+(logN)/ε)𝑂𝑁𝑛superscript𝜀2𝑛𝜀𝑛𝜀𝑁𝜀O(N+n/\varepsilon^{2}+(n/\varepsilon)\log(n/\varepsilon)+(\log N)/\varepsilon)italic_O ( italic_N + italic_n / italic_ε start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + ( italic_n / italic_ε ) roman_log ( italic_n / italic_ε ) + ( roman_log italic_N ) / italic_ε ) time, satisfying w(P)(1+ε)w(P)wP1𝜀wsuperscriptP\textbf{w}(P)\leq(1+\varepsilon)\cdot\textbf{w}(P^{*})w ( roman_P ) ≤ ( 1 + italic_ε ) ⋅ w ( roman_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ), where Psuperscript𝑃P^{*}italic_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT is the optimal weighted shortest path from s𝑠sitalic_s to t𝑡titalic_t.

To use our algorithm on an application, we proved the above theorem in a more general setting, where the 0-regions are non-polygonal. In Section 3, we use our algorithm to approximate the partial weak Fréchet similarity of two polygonal curves. This problem was first studied by Buchin et al. [7], and they presented a cubic time algorithm. De Carufel et al. [13] later transformed the problem into a weighted shortest path problem amidst 0/1010/10 / 1-regions. Using Theorem 1.1, our algorithm is the first near-quadratic time (1+ε)1𝜀(1+\varepsilon)( 1 + italic_ε )-approximation algorithm for computing the partial weak Fréchet similarity between a pair of polygonal curves.

Buchin et al. [8] showed that there is no strongly subquadratic time algorithm for approximating the weak Fréchet distance within a factor less than 3 unless the strong exponential-time hypothesis fails. Approximating the partial weak Fréchet similarity is at least as hard as approximating the weak Fréchet distance. As a result, it is unlikely that a subquadratic time algorithm exists, and our algorithm is near-optimal.

Theorem 1.2.

One can approximate the partial weak Fréchet similarity of two curves with respect to the L2subscript𝐿2L_{2}italic_L start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT metric within a factor of (1+ε)1𝜀(1+\varepsilon)( 1 + italic_ε ) in O((n2/ε2)log(n/ε))𝑂superscript𝑛2superscript𝜀2𝑛𝜀O((n^{2}/\varepsilon^{2})\log(n/\varepsilon))italic_O ( ( italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT / italic_ε start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) roman_log ( italic_n / italic_ε ) ) expected time.

In Section 4, we generalise our data structure to also allow convex obstacles that cannot be traversed, i.e., obstacles of weight \infty. By introducing additional sample points, we show that if we need to take a detour from a sample point a𝑎aitalic_a to a sample point b𝑏bitalic_b, there exists a set D𝐷Ditalic_D (a detour) of edges in \mathcal{B}caligraphic_B such that the total length of D𝐷Ditalic_D approximates the distance d(a,b)dab\textbf{d}(a,b)d ( roman_a , roman_b ) within a factor of 1+ε1𝜀1+\varepsilon1 + italic_ε. In the special case that the 0-regions and obstacles are polygonal, \mathcal{B}caligraphic_B is a (1+ε)1𝜀(1+\varepsilon)( 1 + italic_ε )-spanner of the input vertices. To the best of our knowledge, our algorithm is the first near-linear time (1+ε)1𝜀(1+\varepsilon)( 1 + italic_ε )-approximation algorithm for the weighted shortest path in a 0/1/010/1/\infty0 / 1 / ∞ weighted region.

Theorem 1.3.

Consider a planar subdivision induced by a plane with a weight of 1111, consisting of two sets of convex and non-overlapping regions: 0-regions 𝒵𝒵\mathcal{Z}caligraphic_Z with a weight of 00, and obstacles 𝒪𝒪\mathcal{O}caligraphic_O with a weight of \infty. Let n=|𝒵|+|𝒪|𝑛𝒵𝒪n=|\mathcal{Z}|+|\mathcal{O}|italic_n = | caligraphic_Z | + | caligraphic_O | and let N𝑁Nitalic_N denote be the total number of vertices in 𝒵𝒪𝒵𝒪\mathcal{Z}\cup\mathcal{O}caligraphic_Z ∪ caligraphic_O. For any approximation factor 0<ε<10𝜀10<\varepsilon<10 < italic_ε < 1, a data structure \mathcal{B}caligraphic_B can be constructed over 𝒵𝒪𝒵𝒪\mathcal{Z}\cup\mathcal{O}caligraphic_Z ∪ caligraphic_O in O(N+(n/ε3)(log(n/ε)+logN))𝑂𝑁𝑛superscript𝜀3𝑛𝜀𝑁O(N+(n/\varepsilon^{3})(\log(n/\varepsilon)+\log N))italic_O ( italic_N + ( italic_n / italic_ε start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT ) ( roman_log ( italic_n / italic_ε ) + roman_log italic_N ) ) expected time, with a total size of O(N+n/ε3)𝑂𝑁𝑛superscript𝜀3O(N+n/\varepsilon^{3})italic_O ( italic_N + italic_n / italic_ε start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT ). When queried with arbitrary points s𝑠sitalic_s and t𝑡titalic_t, \mathcal{B}caligraphic_B returns a weighted path P𝑃Pitalic_P from s𝑠sitalic_s to t𝑡titalic_t in O(N+n/ε3+(n/ε2)log(n/ε)+(logN)/ε)𝑂𝑁𝑛superscript𝜀3𝑛superscript𝜀2𝑛𝜀𝑁𝜀O(N+n/\varepsilon^{3}+(n/\varepsilon^{2})\log(n/\varepsilon)+(\log N)/\varepsilon)italic_O ( italic_N + italic_n / italic_ε start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT + ( italic_n / italic_ε start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) roman_log ( italic_n / italic_ε ) + ( roman_log italic_N ) / italic_ε ) time, ensuring that w(P)(1+ε)w(P)wP1𝜀wsuperscriptP\textbf{w}(P)\leq(1+\varepsilon)\cdot\textbf{w}(P^{*})w ( roman_P ) ≤ ( 1 + italic_ε ) ⋅ w ( roman_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ), where Psuperscript𝑃P^{*}italic_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT is the optimal weighted shortest path from s𝑠sitalic_s to t𝑡titalic_t.

2 Shortest path amidst 0-regions

The exact version of Problem 1 has a brute-force solution. Given two 0-regions A𝐴Aitalic_A and B𝐵Bitalic_B, where s𝑠sitalic_s and t𝑡titalic_t are considered 0-regions with no interior, let d(A,B)dAB\textbf{d}(A,B)d ( roman_A , roman_B ) be the Euclidean distance between A𝐴Aitalic_A and B𝐵Bitalic_B. Let 𝒢c=(𝒱,c)subscript𝒢𝑐𝒱subscript𝑐\mathcal{G}_{c}=(\mathcal{V},\mathcal{E}_{c})caligraphic_G start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT = ( caligraphic_V , caligraphic_E start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ) be a complete graph, where 𝒱=𝒵{s,t}𝒱𝒵𝑠𝑡\mathcal{V}=\mathcal{Z}\cup\{s,t\}caligraphic_V = caligraphic_Z ∪ { italic_s , italic_t }. For each edge (A,B)c𝐴𝐵subscript𝑐(A,B)\in\mathcal{E}_{c}( italic_A , italic_B ) ∈ caligraphic_E start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT for all pairs of A𝒱c𝐴subscript𝒱𝑐A\in\mathcal{V}_{c}italic_A ∈ caligraphic_V start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT and B𝒱c𝐵subscript𝒱𝑐B\in\mathcal{V}_{c}italic_B ∈ caligraphic_V start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT, set the weight w(A,B)=d(A,B)wABdAB\textbf{w}(A,B)=\textbf{d}(A,B)w ( roman_A , roman_B ) = d ( roman_A , roman_B ). Then, finding the optimal path Psuperscript𝑃P^{*}italic_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT from s𝑠sitalic_s to t𝑡titalic_t is equivalent to finding a weighted shortest path Psuperscript𝑃P^{*}italic_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT in 𝒢csubscript𝒢𝑐\mathcal{G}_{c}caligraphic_G start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT, which can be solved using Dijkstra’s shortest path algorithm. However, the total number of edges required is at least Ω(n2)Ωsuperscript𝑛2\Omega(n^{2})roman_Ω ( italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ).

To compute an approximate solution, the goal is to construct an undirected weighted graph 𝒢=(𝒱,)𝒢𝒱\mathcal{G}=(\mathcal{V},\mathcal{E})caligraphic_G = ( caligraphic_V , caligraphic_E ), with a near-linear number of edges, such that there exists a path P𝑃Pitalic_P in 𝒢𝒢\mathcal{G}caligraphic_G with w(P)(1+ε)w(P)wP1𝜀wsuperscriptP\textbf{w}(P)\leq(1+\varepsilon)\cdot\textbf{w}(P^{*})w ( roman_P ) ≤ ( 1 + italic_ε ) ⋅ w ( roman_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ).

To this end, we will use two data structures: trapezoidal maps and ΘΘ\Thetaroman_Θ-graphs. Both data structures are used to determine which pairs of 0-regions are connected. The trapezoidal maps will ensure that there exist good paths between 0-regions that are close to each other, while the ΘΘ\Thetaroman_Θ-graph ensures the same for 00-regions that are far from each other.

2.1 Construction of the data structure

In order to define our data structure, we first define a set of directions. Let θ<π/6𝜃𝜋6\theta<\pi/6italic_θ < italic_π / 6 be a fixed positive real number. Let r(kθ)𝑟𝑘𝜃r(k\theta)italic_r ( italic_k italic_θ ) be the direction with a counter-clockwise angle of kθ𝑘𝜃k\thetaitalic_k italic_θ with the positive x𝑥xitalic_x-axis. Let r(p,kθ)𝑟𝑝𝑘𝜃r(p,k\theta)italic_r ( italic_p , italic_k italic_θ ) be the ray originating from the point p𝑝pitalic_p with a counter-clockwise angle of kθ𝑘𝜃k\thetaitalic_k italic_θ with the positive x𝑥xitalic_x-axis. For simplicity, we write r(k)=r(kθ)𝑟𝑘𝑟𝑘𝜃r(k)=r(k\theta)italic_r ( italic_k ) = italic_r ( italic_k italic_θ ) and r(p,k)=r(p,kθ)𝑟𝑝𝑘𝑟𝑝𝑘𝜃r(p,k)=r(p,k\theta)italic_r ( italic_p , italic_k ) = italic_r ( italic_p , italic_k italic_θ ). To simplify the discussion, we will assume that (π/2)/θ𝜋2𝜃(\pi/2)/\theta\in\mathbb{Z}( italic_π / 2 ) / italic_θ ∈ blackboard_Z to guarantee that if r(k)𝑟𝑘r(k)italic_r ( italic_k ) exists, then so does r(kθ+π/2)𝑟𝑘𝜃𝜋2r(k\theta+\pi/2)italic_r ( italic_k italic_θ + italic_π / 2 ).

For a 0-region A𝐴Aitalic_A, we define a set 𝒮𝒫(A)𝒮𝒫𝐴\mathcal{SP}(A)caligraphic_S caligraphic_P ( italic_A ) of sample points on the boundary of A𝐴Aitalic_A. Let sp(A,kθ)=sp(A,k)𝑠𝑝𝐴𝑘𝜃𝑠𝑝𝐴𝑘sp(A,k\theta)=sp(A,k)italic_s italic_p ( italic_A , italic_k italic_θ ) = italic_s italic_p ( italic_A , italic_k ) be a sample point on the boundary A𝐴\partial A∂ italic_A of A𝐴Aitalic_A such that sp(A,k)𝑠𝑝𝐴𝑘sp(A,k)italic_s italic_p ( italic_A , italic_k ) is extreme in the direction r(k)𝑟𝑘r(k)italic_r ( italic_k ) (see Figure 1). When the geometric region A𝐴Aitalic_A is clear from context, we write sp(k)𝑠𝑝𝑘sp(k)italic_s italic_p ( italic_k ) instead of sp(A,k)𝑠𝑝𝐴𝑘sp(A,k)italic_s italic_p ( italic_A , italic_k ).

Refer to caption
Figure 1: The sample points that are extreme in the directions of r(k)𝑟𝑘r(k)italic_r ( italic_k ) and r(kθ+π)𝑟𝑘𝜃𝜋r(k\theta+\pi)italic_r ( italic_k italic_θ + italic_π ) are marked with black dots. The sample points that are extreme in the directions of r(kθ±π/2)𝑟plus-or-minus𝑘𝜃𝜋2r(k\theta\pm\pi/2)italic_r ( italic_k italic_θ ± italic_π / 2 ) are marked with circles. Using these sample points, we generate a simplified polygon and construct (k)𝑘\mathcal{M}(k)caligraphic_M ( italic_k ); the blue and green regions are examples of faces in (k)𝑘\mathcal{M}(k)caligraphic_M ( italic_k ).

Each 0-region A𝐴Aitalic_A is considered an open set, i.e., if pA𝑝𝐴p\in\partial Aitalic_p ∈ ∂ italic_A, then pA𝑝𝐴p\notin Aitalic_p ∉ italic_A. Let A(a,a)𝐴𝑎superscript𝑎\partial A(a,a^{\prime})∂ italic_A ( italic_a , italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) define the subset of A𝐴\partial A∂ italic_A traversed from point a𝑎aitalic_a to point asuperscript𝑎a^{\prime}italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT in counter-clockwise order, where a,aA𝑎superscript𝑎𝐴a,a^{\prime}\in\partial Aitalic_a , italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ ∂ italic_A. We say a line l𝑙litalic_l overlaps A𝐴Aitalic_A if l𝑙litalic_l and A𝐴Aitalic_A intersect at more than one point. We say two regions, A𝐴Aitalic_A and B𝐵Bitalic_B, are non-overlapping if their interiors do not intersect.

A point pA𝑝𝐴p\in\partial Aitalic_p ∈ ∂ italic_A can be an extreme point for more than one direction, in which case we call p𝑝pitalic_p a vertex of A𝐴Aitalic_A. There may be more than one extreme point on A𝐴Aitalic_A for a single direction. If p𝑝pitalic_p is the extreme point on A𝐴Aitalic_A for consecutive directions {r(k),r(k+1),,r(k+m)}𝑟𝑘𝑟𝑘1𝑟𝑘𝑚\{r(k),r(k+1),...,r(k+m)\}{ italic_r ( italic_k ) , italic_r ( italic_k + 1 ) , … , italic_r ( italic_k + italic_m ) }, we say p=sp(k)𝑝𝑠𝑝𝑘p=sp(k)italic_p = italic_s italic_p ( italic_k ), p=sp(k+1)𝑝𝑠𝑝𝑘1p=sp(k+1)italic_p = italic_s italic_p ( italic_k + 1 ), …, and p=sp(k+m)𝑝𝑠𝑝𝑘𝑚p=sp(k+m)italic_p = italic_s italic_p ( italic_k + italic_m ) simultaneously. If there is more than one extreme point for a single direction r(k)𝑟𝑘r(k)italic_r ( italic_k ), these extreme points must lie on some segment abA𝑎𝑏𝐴ab\subseteq\partial Aitalic_a italic_b ⊆ ∂ italic_A, and we say both a𝑎aitalic_a and b𝑏bitalic_b are sp(k)𝑠𝑝𝑘sp(k)italic_s italic_p ( italic_k ). The sample points on the boundary of a convex region can be computed by traversing the boundary.

{observation}

Given n𝑛nitalic_n convex regions with N𝑁Nitalic_N vertices in total, there are O(n/θ)𝑂𝑛𝜃O(n/\theta)italic_O ( italic_n / italic_θ ) sample points, and it takes O(N+n/θ)𝑂𝑁𝑛𝜃O(N+n/\theta)italic_O ( italic_N + italic_n / italic_θ ) time to compute them.

Using the sample points on a 0-region A𝐴Aitalic_A, we can generate a simplified 00-region (a convex polygon) 𝚜𝚒𝚖𝚙𝚕(A)𝚜𝚒𝚖𝚙𝚕𝐴\mathtt{simpl}(A)typewriter_simpl ( italic_A ) by connecting adjacent sample points of every 0-region (see Figure 1). Using the set 𝚜𝚒𝚖𝚙𝚕(𝒵)𝚜𝚒𝚖𝚙𝚕𝒵\mathtt{simpl}(\mathcal{Z})typewriter_simpl ( caligraphic_Z ) of simplified 0-regions, we will generate a set of trapezoidal maps, and we say 𝚜𝚒𝚖𝚙𝚕(A)𝚜𝚒𝚖𝚙𝚕𝐴\mathtt{simpl}(A)typewriter_simpl ( italic_A ) and 𝚜𝚒𝚖𝚙𝚕(B)𝚜𝚒𝚖𝚙𝚕𝐵\mathtt{simpl}(B)typewriter_simpl ( italic_B ) are adjacent if they are both adjacent to the same face in a trapezoidal map. We construct the query data structure \mathcal{B}caligraphic_B using Algorithm 1.

Algorithm 1 Construct \mathcal{B}caligraphic_B with 0-regions

This algorithm takes as input a set 𝒵𝒵\mathcal{Z}caligraphic_Z of non-overlapping and convex 0-regions, and constructs a data structure \mathcal{B}caligraphic_B. The undirected graph 𝒢=(𝒱,)𝒢𝒱\mathcal{G}=(\mathcal{V},\mathcal{E})caligraphic_G = ( caligraphic_V , caligraphic_E ) is initially empty.

  1. 1.

    Compute the sample points 𝒮𝒫(𝒵)𝒮𝒫𝒵\mathcal{SP}(\mathcal{Z})caligraphic_S caligraphic_P ( caligraphic_Z ), and add 𝒮𝒫(𝒵)𝒮𝒫𝒵\mathcal{SP}(\mathcal{Z})caligraphic_S caligraphic_P ( caligraphic_Z ) to 𝒱𝒱\mathcal{V}caligraphic_V.

  2. 2.

    Pick an arbitrary sample point as the anchor ak(A)𝑎𝑘𝐴ak(A)italic_a italic_k ( italic_A ) for every A𝒵𝐴𝒵A\in\mathcal{Z}italic_A ∈ caligraphic_Z. For each p𝒮𝒫(A)𝑝𝒮𝒫𝐴p\in\mathcal{SP}(A)italic_p ∈ caligraphic_S caligraphic_P ( italic_A ), add e=(p,ak(A))𝑒𝑝𝑎𝑘𝐴e=(p,ak(A))italic_e = ( italic_p , italic_a italic_k ( italic_A ) ) to \mathcal{E}caligraphic_E, and set w(e)=0we0\textbf{w}(e)=0w ( roman_e ) = 0.

  3. 3.

    For each direction r(k)𝑟𝑘r(k)italic_r ( italic_k ), generate a trapezoidal map (k)𝑘\mathcal{M}(k)caligraphic_M ( italic_k ) using 𝚜𝚒𝚖𝚙𝚕(𝒵)𝚜𝚒𝚖𝚙𝚕𝒵\mathtt{simpl}(\mathcal{Z})typewriter_simpl ( caligraphic_Z ), and do the following for each (k)𝑘\mathcal{M}(k)caligraphic_M ( italic_k ) (see [11, Theorem 6.3 and 6.8] for trapezoidal map construction).

    • For each face F(k)𝐹𝑘F\in\mathcal{M}(k)italic_F ∈ caligraphic_M ( italic_k ) adjacent to A𝐴Aitalic_A and B𝐵Bitalic_B, AB𝐴𝐵A\neq Bitalic_A ≠ italic_B, add e=(ak(A),ak(B))𝑒𝑎𝑘𝐴𝑎𝑘𝐵e=(ak(A),ak(B))italic_e = ( italic_a italic_k ( italic_A ) , italic_a italic_k ( italic_B ) ) to \mathcal{E}caligraphic_E, and set w(e)=d(A,B)wedAB\textbf{w}(e)=\textbf{d}(A,B)w ( roman_e ) = d ( roman_A , roman_B ).

  4. 4.

    With 𝒱𝒱\mathcal{V}caligraphic_V as the input, generate a ΘΘ\Thetaroman_Θ-graph 𝒢Θ=(𝒱,Θ)subscript𝒢Θ𝒱subscriptΘ\mathcal{G}_{\Theta}=(\mathcal{V},\mathcal{E}_{\Theta})caligraphic_G start_POSTSUBSCRIPT roman_Θ end_POSTSUBSCRIPT = ( caligraphic_V , caligraphic_E start_POSTSUBSCRIPT roman_Θ end_POSTSUBSCRIPT ).

    • For each edge (p,q)Θ𝑝𝑞subscriptΘ(p,q)\in\mathcal{E}_{\Theta}( italic_p , italic_q ) ∈ caligraphic_E start_POSTSUBSCRIPT roman_Θ end_POSTSUBSCRIPT, if p𝑝pitalic_p and q𝑞qitalic_q do not belong to the same 0-region, add e=(p,q)𝑒𝑝𝑞e=(p,q)italic_e = ( italic_p , italic_q ) to \mathcal{E}caligraphic_E, and set w(e)=pqwedelimited-∥∥pq\textbf{w}(e)=\lVert pq\rVertw ( roman_e ) = ∥ roman_pq ∥.

  5. 5.

    Return ={(k)k[0,2π/θ),k}{𝒢,𝒢Θ}conditional-set𝑘formulae-sequencefor-all𝑘02𝜋𝜃𝑘𝒢subscript𝒢Θ\mathcal{B}=\{\mathcal{M}(k)\mid\forall k\in[0,2\pi/\theta),k\in\mathbb{Z}\}% \cup\{\mathcal{G},\mathcal{G}_{\Theta}\}caligraphic_B = { caligraphic_M ( italic_k ) ∣ ∀ italic_k ∈ [ 0 , 2 italic_π / italic_θ ) , italic_k ∈ blackboard_Z } ∪ { caligraphic_G , caligraphic_G start_POSTSUBSCRIPT roman_Θ end_POSTSUBSCRIPT } as the data structure.

2.1.1 Analysis

We bound the size of the data structure \mathcal{B}caligraphic_B and its construction time. In Step 1, by Observation 2.1, it takes O(N+n/θ)𝑂𝑁𝑛𝜃O(N+n/\theta)italic_O ( italic_N + italic_n / italic_θ ) time to compute all O(n/θ)𝑂𝑛𝜃O(n/\theta)italic_O ( italic_n / italic_θ ) sample points. Step 2 takes O(n/θ)𝑂𝑛𝜃O(n/\theta)italic_O ( italic_n / italic_θ ) time to connect every sample point to its respective anchor. In Step 3, it takes O((n/θ2)log(n/θ))𝑂𝑛superscript𝜃2𝑛𝜃O((n/\theta^{2})\log(n/\theta))italic_O ( ( italic_n / italic_θ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) roman_log ( italic_n / italic_θ ) ) expected time [11] to build the trapezoidal map (k)𝑘\mathcal{M}(k)caligraphic_M ( italic_k ) over 𝚜𝚒𝚖𝚙𝚕(𝒵)𝚜𝚒𝚖𝚙𝚕𝒵\mathtt{simpl}(\mathcal{Z})typewriter_simpl ( caligraphic_Z ) for each of the O(1/θ)𝑂1𝜃O(1/\theta)italic_O ( 1 / italic_θ ) directions. In every (k)𝑘\mathcal{M}(k)caligraphic_M ( italic_k ), we construct at most three edges in \mathcal{E}caligraphic_E per sample point a=sp(A,kθ+π/2)𝑎𝑠𝑝𝐴𝑘𝜃𝜋2a=sp(A,k\theta+\pi/2)italic_a = italic_s italic_p ( italic_A , italic_k italic_θ + italic_π / 2 ), if r(a,k)𝑟𝑎𝑘r(a,k)italic_r ( italic_a , italic_k ) and r(a,kθ+π)𝑟𝑎𝑘𝜃𝜋r(a,k\theta+\pi)italic_r ( italic_a , italic_k italic_θ + italic_π ) hit different 0-regions. Therefore |(k)|O(n/θ)𝑘𝑂𝑛𝜃|\mathcal{M}(k)|\in O(n/\theta)| caligraphic_M ( italic_k ) | ∈ italic_O ( italic_n / italic_θ ), and in total k(k)=O(n/θ2)subscript𝑘𝑘𝑂𝑛superscript𝜃2\sum\limits_{k}\mathcal{M}(k)=O(n/\theta^{2})∑ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT caligraphic_M ( italic_k ) = italic_O ( italic_n / italic_θ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ). Once (k)𝑘\mathcal{M}(k)caligraphic_M ( italic_k ) is constructed for all k𝑘kitalic_k, using the algorithm by Edelsbrunner [15], it takes O(logN)𝑂𝑁O(\log N)italic_O ( roman_log italic_N ) time to compute the shortest distance between two convex 0-regions for each of the O(n/θ2)𝑂𝑛superscript𝜃2O(n/\theta^{2})italic_O ( italic_n / italic_θ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) faces. In Step 4, it takes O((n/θ2)log(n/θ))𝑂𝑛superscript𝜃2𝑛𝜃O((n/\theta^{2})\log(n/\theta))italic_O ( ( italic_n / italic_θ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) roman_log ( italic_n / italic_θ ) ) time to construct a ΘΘ\Thetaroman_Θ-graph using O(n/θ)𝑂𝑛𝜃O(n/\theta)italic_O ( italic_n / italic_θ ) sample points, and O(1/θ)𝑂1𝜃O(1/\theta)italic_O ( 1 / italic_θ ) cones [22]. Step 4a takes O(n/θ2)𝑂𝑛superscript𝜃2O(n/\theta^{2})italic_O ( italic_n / italic_θ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) time, since |Θ|=O(n/θ2)subscriptΘ𝑂𝑛superscript𝜃2|\mathcal{E}_{\Theta}|=O(n/\theta^{2})| caligraphic_E start_POSTSUBSCRIPT roman_Θ end_POSTSUBSCRIPT | = italic_O ( italic_n / italic_θ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ).

Later, we will show that for an approximation factor ε𝜀\varepsilonitalic_ε, we have that θO(ε)𝜃𝑂𝜀\theta\in O(\varepsilon)italic_θ ∈ italic_O ( italic_ε ). The resulting complexities are summarised below.

Lemma 2.1.

Given an approximation factor 0<ε<10𝜀10<\varepsilon<10 < italic_ε < 1, and n𝑛nitalic_n non-overlapping convex 0-regions with total complexity N𝑁Nitalic_N, one can build the data structure \mathcal{B}caligraphic_B in O(N+(n/ε2)(log(n/ε)+logN))𝑂𝑁𝑛superscript𝜀2𝑛𝜀𝑁O(N+(n/\varepsilon^{2})(\log(n/\varepsilon)+\log N))italic_O ( italic_N + ( italic_n / italic_ε start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) ( roman_log ( italic_n / italic_ε ) + roman_log italic_N ) ) time, and the total size of \mathcal{B}caligraphic_B is O(N+n/ε2)𝑂𝑁𝑛superscript𝜀2O(N+n/\varepsilon^{2})italic_O ( italic_N + italic_n / italic_ε start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ).

To the best of our knowledge, constructing a trapezoidal map using arcs has not been studied before. Therefore, in Algorithm 1, we used the well-studied result on the trapezoidal map construction using segments.

For each direction r(k)𝑟𝑘r(k)italic_r ( italic_k ), we built a trapezoidal map (k)𝑘\mathcal{M}(k)caligraphic_M ( italic_k ) using the simplified 0-regions 𝚜𝚒𝚖𝚙𝚕(𝒵)𝚜𝚒𝚖𝚙𝚕𝒵\mathtt{simpl}(\mathcal{Z})typewriter_simpl ( caligraphic_Z ), see Step 3 of Algorithm 1. Consider the union of 𝒵𝒵\mathcal{Z}caligraphic_Z and 𝚜𝚒𝚖𝚙𝚕(𝒵)𝚜𝚒𝚖𝚙𝚕𝒵\mathtt{simpl}(\mathcal{Z})typewriter_simpl ( caligraphic_Z ). We argue that constructing a trapezoidal map using the simplified regions captures the structure of the trapezoidal map if we had used the subboundaries of the original regions instead. To do this, we show that if a ray r=r(p,k)𝑟𝑟𝑝𝑘r=r(p,k)italic_r = italic_r ( italic_p , italic_k ) originating from a sample point p𝑝pitalic_p on 0-region A𝐴Aitalic_A hits a subboundary B(u,v)𝐵𝑢𝑣\partial B(u,v)∂ italic_B ( italic_u , italic_v ) first, then r𝑟ritalic_r must hit the segment uv𝑢𝑣uvitalic_u italic_v next.

First, the 0-regions are non-overlapping, so A𝐴Aitalic_A cannot intersect the region enclosed by B(u,v)𝐵𝑢𝑣\partial B(u,v)∂ italic_B ( italic_u , italic_v ) and uv𝑢𝑣uvitalic_u italic_v. Second, without loss of generality, let r(p,k)𝑟𝑝𝑘r(p,k)italic_r ( italic_p , italic_k ) coincide with the y𝑦yitalic_y-axis. By construction, if r(k)𝑟𝑘r(k)italic_r ( italic_k ) exists, then r(kθ+π/2)𝑟𝑘𝜃𝜋2r(k\theta+\pi/2)italic_r ( italic_k italic_θ + italic_π / 2 ) and r(kθπ/2)𝑟𝑘𝜃𝜋2r(k\theta-\pi/2)italic_r ( italic_k italic_θ - italic_π / 2 ) exist, which implies that there exist two sample points: one is the leftmost point of A𝐴Aitalic_A, and one is the rightmost. Therefore, the horizontal span of B(u,v)𝐵𝑢𝑣\partial B(u,v)∂ italic_B ( italic_u , italic_v ) and uv𝑢𝑣uvitalic_u italic_v are equal. A ray shooting in the direction r(k)𝑟𝑘r(k)italic_r ( italic_k ) cannot hit B(u,v)𝐵𝑢𝑣\partial B(u,v)∂ italic_B ( italic_u , italic_v ) first but misses uv𝑢𝑣uvitalic_u italic_v.

{observation}

If a ray r=r(p,k)𝑟𝑟𝑝𝑘r=r(p,k)italic_r = italic_r ( italic_p , italic_k ) hits a subboundary A(u,v)𝐴𝑢𝑣\partial A(u,v)∂ italic_A ( italic_u , italic_v ) first, then r𝑟ritalic_r must hit uv𝑢𝑣uvitalic_u italic_v next.

With the data structure defined, we analyse the quality of the path we obtain from \mathcal{B}caligraphic_B.

2.2 Trapezoidal map

Before arguing that there exists a good path using the edges constructed, we start with an observation about the pair of points realising the shortest distance between two 0-regions. For a convex region A𝐴Aitalic_A and a point pA𝑝𝐴p\in\partial Aitalic_p ∈ ∂ italic_A, there exists at least one supporting line l=lt(A,p)𝑙subscript𝑙𝑡𝐴𝑝l=l_{t}(A,p)italic_l = italic_l start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_A , italic_p ) going through p𝑝pitalic_p such that A𝐴Aitalic_A lies entirely in one of the two halfplanes determined by l𝑙litalic_l [24]. Let pA𝑝𝐴p\in\partial Aitalic_p ∈ ∂ italic_A, and qB𝑞𝐵q\in\partial Bitalic_q ∈ ∂ italic_B. We can observe that if pq𝑝𝑞pqitalic_p italic_q realises d(A,B)dAB\textbf{d}(A,B)d ( roman_A , roman_B ), then pq𝑝𝑞pqitalic_p italic_q must be perpendicular to a pair of supporting lines lt(A,p)subscript𝑙𝑡𝐴𝑝l_{t}(A,p)italic_l start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_A , italic_p ) and lt(B,q)subscript𝑙𝑡𝐵𝑞l_{t}(B,q)italic_l start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_B , italic_q ).

{observation}

Let A𝐴Aitalic_A and B𝐵Bitalic_B be two convex regions. Let pq𝑝𝑞pqitalic_p italic_q be the line segment realising d(A,B)dAB\textbf{d}(A,B)d ( roman_A , roman_B ), where pA𝑝𝐴p\in Aitalic_p ∈ italic_A and qB𝑞𝐵q\in Bitalic_q ∈ italic_B. The segment pq𝑝𝑞pqitalic_p italic_q must be perpendicular to a pair of supporting lines lt(A,p)subscript𝑙𝑡𝐴𝑝l_{t}(A,p)italic_l start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_A , italic_p ) and lt(B,q)subscript𝑙𝑡𝐵𝑞l_{t}(B,q)italic_l start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_B , italic_q ).

We will show that if pq𝑝𝑞pqitalic_p italic_q realises the distance between two 0-regions, we can transform pq𝑝𝑞pqitalic_p italic_q into another segment pq𝑝superscript𝑞pq^{\prime}italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT such that pq𝑝superscript𝑞pq^{\prime}italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is parallel to some direction r(k)𝑟𝑘r(k)italic_r ( italic_k ), and pqdelimited-∥∥𝑝superscript𝑞\lVert pq^{\prime}\rVert∥ italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ approximates pqdelimited-∥∥𝑝𝑞\lVert pq\rVert∥ italic_p italic_q ∥. To do this, we first need a fact (see Appendix LABEL:app:lemma_rotation for a proof).

Lemma 2.2.

Given a segment pq𝑝𝑞pqitalic_p italic_q, let α𝛼\alphaitalic_α (resp. β𝛽\betaitalic_β) be the acute angle between pq𝑝𝑞pqitalic_p italic_q and r(p,k+1)𝑟𝑝𝑘1r(p,k+1)italic_r ( italic_p , italic_k + 1 ) (resp. r(p,k)𝑟𝑝𝑘r(p,k)italic_r ( italic_p , italic_k )), where α+β=θ<π/6𝛼𝛽𝜃𝜋6\alpha+\beta=\theta<\pi/6italic_α + italic_β = italic_θ < italic_π / 6. Let qsuperscript𝑞q^{\prime}italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT be the intersection of r(p,k+1)𝑟𝑝𝑘1r(p,k+1)italic_r ( italic_p , italic_k + 1 ) and r(q,kθ+π/2)𝑟𝑞𝑘𝜃𝜋2r(q,k\theta+\pi/2)italic_r ( italic_q , italic_k italic_θ + italic_π / 2 ). We have that pq=(cos(β)/cos(θ))pqdelimited-∥∥𝑝superscript𝑞𝛽𝜃delimited-∥∥𝑝𝑞\lVert pq^{\prime}\rVert=\mathchoice{\frac{\cos(\beta)}{\cos(\theta)}}{(\cos(% \beta)/\cos(\theta))}{(\cos(\beta)/\cos(\theta))}{(\cos(\beta)/\cos(\theta))}% \cdot\lVert pq\rVert∥ italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ = ( roman_cos ( italic_β ) / roman_cos ( italic_θ ) ) ⋅ ∥ italic_p italic_q ∥, and qq=(sin(α)/cos(θ))pqdelimited-∥∥𝑞superscript𝑞𝛼𝜃delimited-∥∥𝑝𝑞\lVert qq^{\prime}\rVert=\mathchoice{\frac{\sin(\alpha)}{\cos(\theta)}}{(\sin(% \alpha)/\cos(\theta))}{(\sin(\alpha)/\cos(\theta))}{(\sin(\alpha)/\cos(\theta)% )}\cdot\lVert pq\rVert∥ italic_q italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ = ( roman_sin ( italic_α ) / roman_cos ( italic_θ ) ) ⋅ ∥ italic_p italic_q ∥.

Proof 2.3.
Refer to caption
Figure 2: The construction in Lemma 2.2. The segment pqdelimited-∥∥𝑝𝑞\lVert pq\rVert∥ italic_p italic_q ∥ lies between two directions, and α𝛼\alphaitalic_α and β𝛽\betaitalic_β are the respective angles, where α+β=θ<π/6𝛼𝛽𝜃𝜋6\alpha+\beta=\theta<\pi/6italic_α + italic_β = italic_θ < italic_π / 6

See Figure 2 for the construction. By the law of sines, we have

pqsin(pqq)=pqsin(pqq)pq=sin(pqq)pqsin(pqq).delimited-∥∥𝑝superscript𝑞𝑝𝑞superscript𝑞delimited-∥∥𝑝𝑞𝑝superscript𝑞𝑞delimited-∥∥𝑝superscript𝑞𝑝𝑞superscript𝑞delimited-∥∥𝑝𝑞𝑝superscript𝑞𝑞\displaystyle\frac{\lVert pq^{\prime}\rVert}{\sin(\measuredangle{pqq^{\prime}}% )}=\frac{\lVert pq\rVert}{\sin(\measuredangle{pq^{\prime}q})}\implies\lVert pq% ^{\prime}\rVert=\sin(\measuredangle{pqq^{\prime}})\cdot\frac{\lVert pq\rVert}{% \sin(\measuredangle{pq^{\prime}q})}.divide start_ARG ∥ italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ end_ARG start_ARG roman_sin ( ∡ italic_p italic_q italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) end_ARG = divide start_ARG ∥ italic_p italic_q ∥ end_ARG start_ARG roman_sin ( ∡ italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_q ) end_ARG ⟹ ∥ italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ = roman_sin ( ∡ italic_p italic_q italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) ⋅ divide start_ARG ∥ italic_p italic_q ∥ end_ARG start_ARG roman_sin ( ∡ italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_q ) end_ARG .

Filling in our angles, we get

pq=sin(π2+β)pqsin(π2αβ)=cos(β)cos(θ)pq.delimited-∥∥𝑝superscript𝑞𝜋2𝛽delimited-∥∥𝑝𝑞𝜋2𝛼𝛽𝛽𝜃delimited-∥∥𝑝𝑞\displaystyle\lVert pq^{\prime}\rVert=\frac{\sin(\frac{\pi}{2}+\beta)\lVert pq% \rVert}{\sin(\frac{\pi}{2}-\alpha-\beta)}=\frac{\cos(\beta)}{\cos(\theta)}% \cdot\lVert pq\rVert.∥ italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ = divide start_ARG roman_sin ( divide start_ARG italic_π end_ARG start_ARG 2 end_ARG + italic_β ) ∥ italic_p italic_q ∥ end_ARG start_ARG roman_sin ( divide start_ARG italic_π end_ARG start_ARG 2 end_ARG - italic_α - italic_β ) end_ARG = divide start_ARG roman_cos ( italic_β ) end_ARG start_ARG roman_cos ( italic_θ ) end_ARG ⋅ ∥ italic_p italic_q ∥ .

Similarly, by the law of sines, we have

qqsin(qpq)=pqsin(pqq)qq=sin(qpq)pqsin(pqq).delimited-∥∥𝑞superscript𝑞𝑞𝑝superscript𝑞delimited-∥∥𝑝𝑞𝑝superscript𝑞𝑞delimited-∥∥𝑞superscript𝑞𝑞𝑝superscript𝑞delimited-∥∥𝑝𝑞𝑝superscript𝑞𝑞\displaystyle\frac{\lVert qq^{\prime}\rVert}{\sin(\measuredangle{qpq^{\prime}}% )}=\frac{\lVert pq\rVert}{\sin(\measuredangle{pq^{\prime}q})}\implies\lVert qq% ^{\prime}\rVert=\sin(\measuredangle{qpq^{\prime}})\cdot\frac{\lVert pq\rVert}{% \sin(\measuredangle{pq^{\prime}q})}.divide start_ARG ∥ italic_q italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ end_ARG start_ARG roman_sin ( ∡ italic_q italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) end_ARG = divide start_ARG ∥ italic_p italic_q ∥ end_ARG start_ARG roman_sin ( ∡ italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_q ) end_ARG ⟹ ∥ italic_q italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ = roman_sin ( ∡ italic_q italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) ⋅ divide start_ARG ∥ italic_p italic_q ∥ end_ARG start_ARG roman_sin ( ∡ italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_q ) end_ARG .

Filling in our angles, we get

qq=sin(α)pqsin(π2αβ)=sin(α)cos(θ)pq.delimited-∥∥𝑞superscript𝑞𝛼delimited-∥∥𝑝𝑞𝜋2𝛼𝛽𝛼𝜃delimited-∥∥𝑝𝑞\displaystyle\lVert qq^{\prime}\rVert=\frac{\sin(\alpha)\lVert pq\rVert}{\sin(% \frac{\pi}{2}-\alpha-\beta)}=\frac{\sin(\alpha)}{\cos(\theta)}\cdot\lVert pq\rVert.∥ italic_q italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ = divide start_ARG roman_sin ( italic_α ) ∥ italic_p italic_q ∥ end_ARG start_ARG roman_sin ( divide start_ARG italic_π end_ARG start_ARG 2 end_ARG - italic_α - italic_β ) end_ARG = divide start_ARG roman_sin ( italic_α ) end_ARG start_ARG roman_cos ( italic_θ ) end_ARG ⋅ ∥ italic_p italic_q ∥ .

The proof is complete.

Let pq𝑝𝑞pqitalic_p italic_q realise d(A,B)dAB\textbf{d}(A,B)d ( roman_A , roman_B ). We consider the scenario when pqdelimited-∥∥𝑝𝑞\lVert pq\rVert∥ italic_p italic_q ∥ is relatively small compared to the horizontal span of (say) B𝐵Bitalic_B. Using the above lemma, we will show that we have constructed a set of edges in \mathcal{E}caligraphic_E connecting two sample points aA𝑎𝐴a\in Aitalic_a ∈ italic_A and bB𝑏𝐵b\in Bitalic_b ∈ italic_B, such that the total weight of these edges approximates pqdelimited-∥∥𝑝𝑞\lVert pq\rVert∥ italic_p italic_q ∥.

Lemma 2.4.

Let pqP𝑝𝑞superscript𝑃pq\subseteq P^{*}italic_p italic_q ⊆ italic_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT, and let pq𝑝𝑞pqitalic_p italic_q realise d(A,B)dAB\textbf{d}(A,B)d ( roman_A , roman_B ), where pA𝑝𝐴p\in Aitalic_p ∈ italic_A and qB𝑞𝐵q\in Bitalic_q ∈ italic_B. Let pA(a,a)𝑝𝐴𝑎superscript𝑎p\in\partial A(a,a^{\prime})italic_p ∈ ∂ italic_A ( italic_a , italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ), and qB(b,b)𝑞𝐵superscript𝑏𝑏q\in\partial B(b^{\prime},b)italic_q ∈ ∂ italic_B ( italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_b ), where points a𝑎aitalic_a and asuperscript𝑎a^{\prime}italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT (resp. b𝑏bitalic_b and bsuperscript𝑏b^{\prime}italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT) are adjacent sample points on 0-region A𝐴Aitalic_A (resp. B𝐵Bitalic_B). If max{pa,qb}(sin(α)/cos(θ))pqdelimited-∥∥𝑝superscript𝑎delimited-∥∥𝑞𝑏𝛼𝜃delimited-∥∥𝑝𝑞\max\{\lVert pa^{\prime}\rVert,\lVert qb\rVert\}\geq\mathchoice{\frac{\sin(% \alpha)}{\cos(\theta)}}{(\sin(\alpha)/\cos(\theta))}{(\sin(\alpha)/\cos(\theta% ))}{(\sin(\alpha)/\cos(\theta))}\cdot\lVert pq\rVertroman_max { ∥ italic_p italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ , ∥ italic_q italic_b ∥ } ≥ ( roman_sin ( italic_α ) / roman_cos ( italic_θ ) ) ⋅ ∥ italic_p italic_q ∥ or max{pa,qb}(sin(β)/cos(θ))pqdelimited-∥∥𝑝𝑎delimited-∥∥𝑞superscript𝑏𝛽𝜃delimited-∥∥𝑝𝑞\max\{\lVert pa\rVert,\lVert qb^{\prime}\rVert\}\geq(\sin(\beta)/\cos(\theta))% \cdot\lVert pq\rVertroman_max { ∥ italic_p italic_a ∥ , ∥ italic_q italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ } ≥ ( roman_sin ( italic_β ) / roman_cos ( italic_θ ) ) ⋅ ∥ italic_p italic_q ∥, then there exists a path P𝑃P\subseteq\mathcal{E}italic_P ⊆ caligraphic_E from A𝐴Aitalic_A to B𝐵Bitalic_B such that w(P)(cos(β)/cos(θ))pqwP𝛽𝜃delimited-∥∥pq\textbf{w}(P)\leq\mathchoice{\frac{\cos(\beta)}{\cos(\theta)}}{(\cos(\beta)/% \cos(\theta))}{(\cos(\beta)/\cos(\theta))}{(\cos(\beta)/\cos(\theta))}\cdot% \lVert pq\rVertw ( roman_P ) ≤ ( roman_cos ( italic_β ) / roman_cos ( italic_θ ) ) ⋅ ∥ roman_pq ∥.

Proof 2.5.

Without loss of generality, assume that qb(sin(α)/cos(θ))pqdelimited-∥∥𝑞𝑏𝛼𝜃delimited-∥∥𝑝𝑞\lVert qb\rVert\geq\mathchoice{\frac{\sin(\alpha)}{\cos(\theta)}}{(\sin(\alpha% )/\cos(\theta))}{(\sin(\alpha)/\cos(\theta))}{(\sin(\alpha)/\cos(\theta))}% \cdot\lVert pq\rVert∥ italic_q italic_b ∥ ≥ ( roman_sin ( italic_α ) / roman_cos ( italic_θ ) ) ⋅ ∥ italic_p italic_q ∥. Lemma 2.2 implies that there exists a point qB(b,q)superscript𝑞𝐵𝑏𝑞q^{\prime}\in\partial B(b,q)italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ ∂ italic_B ( italic_b , italic_q ) such that pq𝑝superscript𝑞pq^{\prime}italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is in some direction r(k)𝑟𝑘r(k)italic_r ( italic_k ), and pq(cos(β)/cos(θ))pqdelimited-∥∥𝑝superscript𝑞𝛽𝜃delimited-∥∥𝑝𝑞\lVert pq^{\prime}\rVert\leq\mathchoice{\frac{\cos(\beta)}{\cos(\theta)}}{(% \cos(\beta)/\cos(\theta))}{(\cos(\beta)/\cos(\theta))}{(\cos(\beta)/\cos(% \theta))}\cdot\lVert pq\rVert∥ italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ ≤ ( roman_cos ( italic_β ) / roman_cos ( italic_θ ) ) ⋅ ∥ italic_p italic_q ∥.

Refer to caption
Figure 3: In the left figure, if pq𝑝superscript𝑞pq^{\prime}italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT does not overlap a 0-region, we slide pq𝑝superscript𝑞pq^{\prime}italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT until it touches a sample point. In the right figure, we slide each inter-region segment (cd𝑐𝑑cditalic_c italic_d as an example) the same way.

Observe that pq𝑝𝑞pqitalic_p italic_q cannot overlap any 0-region; otherwise, Psuperscript𝑃P^{*}italic_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT is not optimal. If pq𝑝superscript𝑞pq^{\prime}italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT does not overlap any 0-region (see Figure 3, left), we fix the orientation of pq𝑝superscript𝑞pq^{\prime}italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, and move p𝑝pitalic_p along A(p,a)𝐴𝑝𝑎\partial A(p,a)∂ italic_A ( italic_p , italic_a ) and q𝑞qitalic_q along B(b,q)𝐵𝑏𝑞\partial B(b,q)∂ italic_B ( italic_b , italic_q ), until pq𝑝superscript𝑞pq^{\prime}italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT touches a sample point.

If pq𝑝superscript𝑞pq^{\prime}italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT touches a𝑎aitalic_a (resp. b𝑏bitalic_b), then r(a,k)𝑟𝑎𝑘r(a,k)italic_r ( italic_a , italic_k ) (resp. r(b,kθ+π)𝑟𝑏𝑘𝜃𝜋r(b,k\theta+\pi)italic_r ( italic_b , italic_k italic_θ + italic_π )) hits B𝐵Bitalic_B (resp. A𝐴Aitalic_A). If pq𝑝superscript𝑞pq^{\prime}italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT touches a sample point vAB𝑣𝐴𝐵v\notin A\cup Bitalic_v ∉ italic_A ∪ italic_B, v𝑣vitalic_v must be extreme in the direction r(kθπ/2)𝑟𝑘𝜃𝜋2r(k\theta-\pi/2)italic_r ( italic_k italic_θ - italic_π / 2 ). As a result, r(v,k)𝑟𝑣𝑘r(v,k)italic_r ( italic_v , italic_k ) hits B𝐵Bitalic_B, and r(v,kθ+π)𝑟𝑣𝑘𝜃𝜋r(v,k\theta+\pi)italic_r ( italic_v , italic_k italic_θ + italic_π ) hits A𝐴Aitalic_A. In either case, A𝐴Aitalic_A and B𝐵Bitalic_B are adjacent in some face of (k)𝑘\mathcal{M}(k)caligraphic_M ( italic_k ), and the edge e=(ak(A),ak(B))𝑒𝑎𝑘𝐴𝑎𝑘𝐵e=(ak(A),ak(B))italic_e = ( italic_a italic_k ( italic_A ) , italic_a italic_k ( italic_B ) ) is in \mathcal{E}caligraphic_E by construction. As a result, w(e)=d(A,B)=pqwedABdelimited-∥∥pq\textbf{w}(e)=\textbf{d}(A,B)=\lVert pq\rVertw ( roman_e ) = d ( roman_A , roman_B ) = ∥ roman_pq ∥. This is also trivially true when p𝑝pitalic_p or qsuperscript𝑞q^{\prime}italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is already a sample point.

Otherwise, the segment pq𝑝superscript𝑞pq^{\prime}italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT overlaps a set Esuperscript𝐸E^{\prime}italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT of 0-regions, and there exists a path P𝑃Pitalic_P from A𝐴Aitalic_A to B𝐵Bitalic_B through Esuperscript𝐸E^{\prime}italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT (see Figure 3, right). Since the 0-regions do not overlap, the boundaries of the 0-regions in Esuperscript𝐸E^{\prime}italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT partition pq𝑝superscript𝑞pq^{\prime}italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT into a set of intra-region and inter-region segments. Let cd𝑐𝑑cditalic_c italic_d be one among the set S𝑆Sitalic_S of inter-region segments, where c𝑐citalic_c is on a 0-region C𝐶Citalic_C, and d𝑑ditalic_d is on a 0-region D𝐷Ditalic_D. Using the same argument as above, one can slide cd𝑐𝑑cditalic_c italic_d until it touches a sample point, and edge (ak(C),ak(D))𝑎𝑘𝐶𝑎𝑘𝐷(ak(C),ak(D))\in\mathcal{E}( italic_a italic_k ( italic_C ) , italic_a italic_k ( italic_D ) ) ∈ caligraphic_E exists by construction.

In total, traveling from A𝐴Aitalic_A to B𝐵Bitalic_B via the 0-regions Esuperscript𝐸E^{\prime}italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT must be less costly than pqdelimited-∥∥𝑝superscript𝑞\lVert pq^{\prime}\rVert∥ italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥, since w(ak(C),ak(D))=d(C,D)cdwakCakDdCDdelimited-∥∥cd\textbf{w}(ak(C),ak(D))=\textbf{d}(C,D)\leq\lVert cd\rVertw ( roman_ak ( roman_C ) , roman_ak ( roman_D ) ) = d ( roman_C , roman_D ) ≤ ∥ roman_cd ∥, and the intra-region segments have weight 0. Summing up the cost of P𝑃Pitalic_P, we have that

w(P)=cdSw(ak(C),ak(D))<cdScd<pq=cos(β)cos(θ)pq.wPsubscriptcdSwakCakDsubscriptcdSdelimited-∥∥cddelimited-∥∥superscriptpq𝛽𝜃delimited-∥∥pq\displaystyle\textbf{w}(P)=\sum\limits_{cd\in S}\textbf{w}(ak(C),ak(D))<\sum% \limits_{cd\in S}\lVert cd\rVert<\lVert pq^{\prime}\rVert=\mathchoice{\frac{% \cos(\beta)}{\cos(\theta)}}{(\cos(\beta)/\cos(\theta))}{(\cos(\beta)/\cos(% \theta))}{(\cos(\beta)/\cos(\theta))}\cdot\lVert pq\rVert.w ( roman_P ) = ∑ start_POSTSUBSCRIPT roman_cd ∈ roman_S end_POSTSUBSCRIPT w ( roman_ak ( roman_C ) , roman_ak ( roman_D ) ) < ∑ start_POSTSUBSCRIPT roman_cd ∈ roman_S end_POSTSUBSCRIPT ∥ roman_cd ∥ < ∥ roman_pq start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ = divide start_ARG roman_cos ( italic_β ) end_ARG start_ARG roman_cos ( italic_θ ) end_ARG ⋅ ∥ roman_pq ∥ .

2.3 ΘΘ\Thetaroman_Θ-Graph

In Step 4 of Algorithm 1, we constructed a ΘΘ\Thetaroman_Θ-graph 𝒢Θ=(𝒱Θ,Θ)subscript𝒢Θsubscript𝒱ΘsubscriptΘ\mathcal{G}_{\Theta}=(\mathcal{V}_{\Theta},\mathcal{E}_{\Theta})caligraphic_G start_POSTSUBSCRIPT roman_Θ end_POSTSUBSCRIPT = ( caligraphic_V start_POSTSUBSCRIPT roman_Θ end_POSTSUBSCRIPT , caligraphic_E start_POSTSUBSCRIPT roman_Θ end_POSTSUBSCRIPT ) using the defined sample points. The vertices 𝒱Θsubscript𝒱Θ\mathcal{V}_{\Theta}caligraphic_V start_POSTSUBSCRIPT roman_Θ end_POSTSUBSCRIPT are simply all sample points. The edges in ΘsubscriptΘ\mathcal{E}_{\Theta}caligraphic_E start_POSTSUBSCRIPT roman_Θ end_POSTSUBSCRIPT are constructed using the standard ΘΘ\Thetaroman_Θ-graph construction [11]. Recall that in Algorithm 1, for every edge (p,q)Θ𝑝𝑞subscriptΘ(p,q)\in\mathcal{E}_{\Theta}( italic_p , italic_q ) ∈ caligraphic_E start_POSTSUBSCRIPT roman_Θ end_POSTSUBSCRIPT, with pA𝑝𝐴p\in Aitalic_p ∈ italic_A, qB𝑞𝐵q\in Bitalic_q ∈ italic_B, and AB𝐴𝐵A\neq Bitalic_A ≠ italic_B, we add an edge (p,q)𝑝𝑞(p,q)( italic_p , italic_q ) to \mathcal{E}caligraphic_E, and set w(p,q)=pqwpqdelimited-∥∥pq\textbf{w}(p,q)=\lVert pq\rVertw ( roman_p , roman_q ) = ∥ roman_pq ∥.

The ΘΘ\Thetaroman_Θ-graph constructs a set of “good” edges in \mathcal{E}caligraphic_E when the distances between p𝑝pitalic_p (resp. q𝑞qitalic_q) and its adjacent sample points are small compared to pqdelimited-∥∥𝑝𝑞\lVert pq\rVert∥ italic_p italic_q ∥. In this case, we argue that there exists a pair of sample points aA𝑎𝐴a\in Aitalic_a ∈ italic_A and bB𝑏𝐵b\in Bitalic_b ∈ italic_B, such that ab(1/cos(θ))pqdelimited-∥∥𝑎𝑏1𝜃delimited-∥∥𝑝𝑞\lVert ab\rVert\leq\mathchoice{\frac{1}{\cos(\theta)}}{(1/\cos(\theta))}{(1/% \cos(\theta))}{(1/\cos(\theta))}\cdot\lVert pq\rVert∥ italic_a italic_b ∥ ≤ ( 1 / roman_cos ( italic_θ ) ) ⋅ ∥ italic_p italic_q ∥. Similar to Lemma 2.2, we first prove a geometric property.

Lemma 2.6.

Given a segment pq𝑝𝑞pqitalic_p italic_q, let α𝛼\alphaitalic_α (resp. β𝛽\betaitalic_β) be the acute angle between pq𝑝𝑞pqitalic_p italic_q and r(p,k+1)𝑟𝑝𝑘1r(p,k+1)italic_r ( italic_p , italic_k + 1 ) (resp. r(p,k)𝑟𝑝𝑘r(p,k)italic_r ( italic_p , italic_k )), where α+β=θ<π/6𝛼𝛽𝜃𝜋6\alpha+\beta=\theta<\pi/6italic_α + italic_β = italic_θ < italic_π / 6. Let qsuperscript𝑞q^{\prime}italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT be the intersection of r(p,k+1)𝑟𝑝𝑘1r(p,k+1)italic_r ( italic_p , italic_k + 1 ) and r(q,kθ+π/2)𝑟𝑞𝑘𝜃𝜋2r(q,k\theta+\pi/2)italic_r ( italic_q , italic_k italic_θ + italic_π / 2 ), and let psuperscript𝑝p^{\prime}italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT be the intersection of r(q,kθ+π)𝑟𝑞𝑘𝜃𝜋r(q,k\theta+\pi)italic_r ( italic_q , italic_k italic_θ + italic_π ) and r(p,(k+1)θ+π/2)𝑟𝑝𝑘1𝜃𝜋2r(p,(k+1)\theta+\pi/2)italic_r ( italic_p , ( italic_k + 1 ) italic_θ + italic_π / 2 ). Let c𝑐citalic_c be the intersection of pq𝑝superscript𝑞pq^{\prime}italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT and qp𝑞superscript𝑝qp^{\prime}italic_q italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. We have that cp+cq=(sin(α)+sin(β))/(cos(θ)sin(θ))delimited-∥∥𝑐superscript𝑝delimited-∥∥𝑐superscript𝑞𝛼𝛽𝜃𝜃\lVert cp^{\prime}\rVert+\lVert cq^{\prime}\rVert=(\sin(\alpha)+\sin(\beta))/(% \cos(\theta)\sin(\theta))∥ italic_c italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ + ∥ italic_c italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ = ( roman_sin ( italic_α ) + roman_sin ( italic_β ) ) / ( roman_cos ( italic_θ ) roman_sin ( italic_θ ) ), and pq=(1/cos(θ))pqdelimited-∥∥superscript𝑝superscript𝑞1𝜃delimited-∥∥𝑝𝑞\lVert p^{\prime}q^{\prime}\rVert=\mathchoice{\frac{1}{\cos(\theta)}}{(1/\cos(% \theta))}{(1/\cos(\theta))}{(1/\cos(\theta))}\cdot\lVert pq\rVert∥ italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ = ( 1 / roman_cos ( italic_θ ) ) ⋅ ∥ italic_p italic_q ∥.

Proof 2.7.
Refer to caption
Figure 4: The construction in Lemma 2.6.

See Figure 4 for the construction. Without loss of generality, assuming pq=1delimited-∥∥𝑝𝑞1\lVert pq\rVert=1∥ italic_p italic_q ∥ = 1. Using the law of sines in the triangle pqc𝑝𝑞𝑐\triangle{pqc}△ italic_p italic_q italic_c, we have the following.

cqsin(qpc)=pqsin(qcp)cq=sin(qpc)sin(qcp)pq=sin(α)sin(πθ)=sin(α)sin(θ)delimited-∥∥𝑐𝑞𝑞𝑝𝑐delimited-∥∥𝑝𝑞𝑞𝑐𝑝delimited-∥∥𝑐𝑞𝑞𝑝𝑐𝑞𝑐𝑝delimited-∥∥𝑝𝑞𝛼𝜋𝜃𝛼𝜃\displaystyle\frac{\lVert cq\rVert}{\sin(\measuredangle{qpc})}=\frac{\lVert pq% \rVert}{\sin(\measuredangle{qcp})}\implies\lVert cq\rVert=\frac{\sin(% \measuredangle{qpc})}{\sin(\measuredangle{qcp})}\cdot\lVert pq\rVert=\frac{% \sin(\alpha)}{\sin(\pi-\theta)}=\frac{\sin(\alpha)}{\sin(\theta)}divide start_ARG ∥ italic_c italic_q ∥ end_ARG start_ARG roman_sin ( ∡ italic_q italic_p italic_c ) end_ARG = divide start_ARG ∥ italic_p italic_q ∥ end_ARG start_ARG roman_sin ( ∡ italic_q italic_c italic_p ) end_ARG ⟹ ∥ italic_c italic_q ∥ = divide start_ARG roman_sin ( ∡ italic_q italic_p italic_c ) end_ARG start_ARG roman_sin ( ∡ italic_q italic_c italic_p ) end_ARG ⋅ ∥ italic_p italic_q ∥ = divide start_ARG roman_sin ( italic_α ) end_ARG start_ARG roman_sin ( italic_π - italic_θ ) end_ARG = divide start_ARG roman_sin ( italic_α ) end_ARG start_ARG roman_sin ( italic_θ ) end_ARG (1)

Observe that cqq=π/2𝑐𝑞superscript𝑞𝜋2\measuredangle{cqq^{\prime}}=\pi/2∡ italic_c italic_q italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = italic_π / 2, since cqq𝑐𝑞superscript𝑞\measuredangle{cqq^{\prime}}∡ italic_c italic_q italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is the result of rotating r(q,kθ+π/2)𝑟𝑞𝑘𝜃𝜋2r(q,k\theta+\pi/2)italic_r ( italic_q , italic_k italic_θ + italic_π / 2 ) counter-clockwise by π/2𝜋2\pi/2italic_π / 2. Therefore, cqq𝑐𝑞superscript𝑞\triangle{cqq^{\prime}}△ italic_c italic_q italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is a right triangle, and we have the following.

cqdelimited-∥∥𝑐superscript𝑞\displaystyle\lVert cq^{\prime}\rVert∥ italic_c italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ =cqsin(cqq)absentdelimited-∥∥𝑐𝑞𝑐superscript𝑞𝑞\displaystyle=\frac{\lVert cq\rVert}{\sin(\measuredangle{cq^{\prime}q})}= divide start_ARG ∥ italic_c italic_q ∥ end_ARG start_ARG roman_sin ( ∡ italic_c italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_q ) end_ARG
=cqsin(π2θ)absentdelimited-∥∥𝑐𝑞𝜋2𝜃\displaystyle=\frac{\lVert cq\rVert}{\sin(\frac{\pi}{2}-\theta)}= divide start_ARG ∥ italic_c italic_q ∥ end_ARG start_ARG roman_sin ( divide start_ARG italic_π end_ARG start_ARG 2 end_ARG - italic_θ ) end_ARG cqq=π2θ by constructioncqq=π2θ by construction\displaystyle\triangleright\text{$\measuredangle{cq^{\prime}q}=\frac{\pi}{2}-% \theta$ by construction}▷ ∡ italic_c italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_q = divide start_ARG italic_π end_ARG start_ARG 2 end_ARG - italic_θ by construction
=1cos(θ)sin(α)sin(θ)absent1𝜃𝛼𝜃\displaystyle=\frac{1}{\cos(\theta)}\cdot\frac{\sin(\alpha)}{\sin(\theta)}= divide start_ARG 1 end_ARG start_ARG roman_cos ( italic_θ ) end_ARG ⋅ divide start_ARG roman_sin ( italic_α ) end_ARG start_ARG roman_sin ( italic_θ ) end_ARG Using (1)Using (1)\displaystyle\triangleright\text{Using (1)}▷ Using (1)

Using an analogous computation, we obtain

cp=1cos(θ)sin(β)sin(θ).delimited-∥∥𝑐superscript𝑝1𝜃𝛽𝜃\displaystyle\lVert cp^{\prime}\rVert=\frac{1}{\cos(\theta)}\cdot\frac{\sin(% \beta)}{\sin(\theta)}.∥ italic_c italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ = divide start_ARG 1 end_ARG start_ARG roman_cos ( italic_θ ) end_ARG ⋅ divide start_ARG roman_sin ( italic_β ) end_ARG start_ARG roman_sin ( italic_θ ) end_ARG .

Combining cpdelimited-∥∥𝑐superscript𝑝\lVert cp^{\prime}\rVert∥ italic_c italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ and cqdelimited-∥∥𝑐superscript𝑞\lVert cq^{\prime}\rVert∥ italic_c italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥, we have that

cp+cq=sin(α)+sin(β)cos(θ)sin(θ).delimited-∥∥𝑐superscript𝑝delimited-∥∥𝑐superscript𝑞𝛼𝛽𝜃𝜃\displaystyle\lVert cp^{\prime}\rVert+\lVert cq^{\prime}\rVert=\frac{\sin(% \alpha)+\sin(\beta)}{\cos(\theta)\sin(\theta)}.∥ italic_c italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ + ∥ italic_c italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ = divide start_ARG roman_sin ( italic_α ) + roman_sin ( italic_β ) end_ARG start_ARG roman_cos ( italic_θ ) roman_sin ( italic_θ ) end_ARG . (2)

Next, since pqqsuperscript𝑝𝑞superscript𝑞\triangle{p^{\prime}qq^{\prime}}△ italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_q italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is a right triangle, we can bound pqdelimited-∥∥superscript𝑝superscript𝑞\lVert p^{\prime}q^{\prime}\rVert∥ italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ as follows.

pq2superscriptdelimited-∥∥superscript𝑝superscript𝑞2\displaystyle\lVert p^{\prime}q^{\prime}\rVert^{2}∥ italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT =qq2+qp2absentsuperscriptdelimited-∥∥𝑞superscript𝑞2superscriptdelimited-∥∥𝑞superscript𝑝2\displaystyle=\lVert qq^{\prime}\rVert^{2}+\lVert qp^{\prime}\rVert^{2}= ∥ italic_q italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + ∥ italic_q italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT
=(sin(α)cos(θ))2+(cp+cq)2absentsuperscript𝛼𝜃2superscriptdelimited-∥∥𝑐superscript𝑝delimited-∥∥𝑐𝑞2\displaystyle=(\mathchoice{\frac{\sin(\alpha)}{\cos(\theta)}}{(\sin(\alpha)/% \cos(\theta))}{(\sin(\alpha)/\cos(\theta))}{(\sin(\alpha)/\cos(\theta))})^{2}+% (\lVert cp^{\prime}\rVert+\lVert cq\rVert)^{2}= ( divide start_ARG roman_sin ( italic_α ) end_ARG start_ARG roman_cos ( italic_θ ) end_ARG ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + ( ∥ italic_c italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ + ∥ italic_c italic_q ∥ ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT Using Lemma 2.2Using Lemma 2.2\displaystyle\triangleright\text{Using Lemma\leavevmode\nobreak\ \ref{lem:cost% _of_rotation}}▷ Using Lemma
=(sin(α)cos(θ))2+(sin(β)cos(θ)sin(θ)+sin(α)sin(θ))2absentsuperscript𝛼𝜃2superscript𝛽𝜃𝜃𝛼𝜃2\displaystyle=(\mathchoice{\frac{\sin(\alpha)}{\cos(\theta)}}{(\sin(\alpha)/% \cos(\theta))}{(\sin(\alpha)/\cos(\theta))}{(\sin(\alpha)/\cos(\theta))})^{2}+% (\frac{\sin(\beta)}{\cos(\theta)\sin(\theta)}+\frac{\sin(\alpha)}{\sin(\theta)% })^{2}= ( divide start_ARG roman_sin ( italic_α ) end_ARG start_ARG roman_cos ( italic_θ ) end_ARG ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + ( divide start_ARG roman_sin ( italic_β ) end_ARG start_ARG roman_cos ( italic_θ ) roman_sin ( italic_θ ) end_ARG + divide start_ARG roman_sin ( italic_α ) end_ARG start_ARG roman_sin ( italic_θ ) end_ARG ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT Using (2)Using (2)\displaystyle\triangleright\text{Using (2)}▷ Using (2)
=(sin(α)cos(θ))2+(sin(θα)cos(θ)sin(θ)+sin(α)sin(θ))2absentsuperscript𝛼𝜃2superscript𝜃𝛼𝜃𝜃𝛼𝜃2\displaystyle=(\mathchoice{\frac{\sin(\alpha)}{\cos(\theta)}}{(\sin(\alpha)/% \cos(\theta))}{(\sin(\alpha)/\cos(\theta))}{(\sin(\alpha)/\cos(\theta))})^{2}+% (\frac{\sin(\theta-\alpha)}{\cos(\theta)\sin(\theta)}+\frac{\sin(\alpha)}{\sin% (\theta)})^{2}= ( divide start_ARG roman_sin ( italic_α ) end_ARG start_ARG roman_cos ( italic_θ ) end_ARG ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + ( divide start_ARG roman_sin ( italic_θ - italic_α ) end_ARG start_ARG roman_cos ( italic_θ ) roman_sin ( italic_θ ) end_ARG + divide start_ARG roman_sin ( italic_α ) end_ARG start_ARG roman_sin ( italic_θ ) end_ARG ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT
=(sin(α)cos(θ))2+(sin(θ)cos(α)sin(α)cos(θ)cos(θ)sin(θ)+sin(α)sin(θ))2absentsuperscript𝛼𝜃2superscript𝜃𝛼𝛼𝜃𝜃𝜃𝛼𝜃2\displaystyle=(\mathchoice{\frac{\sin(\alpha)}{\cos(\theta)}}{(\sin(\alpha)/% \cos(\theta))}{(\sin(\alpha)/\cos(\theta))}{(\sin(\alpha)/\cos(\theta))})^{2}+% (\frac{\sin(\theta)\cos(\alpha)-\sin(\alpha)\cos(\theta)}{\cos(\theta)\sin(% \theta)}+\frac{\sin(\alpha)}{\sin(\theta)})^{2}= ( divide start_ARG roman_sin ( italic_α ) end_ARG start_ARG roman_cos ( italic_θ ) end_ARG ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + ( divide start_ARG roman_sin ( italic_θ ) roman_cos ( italic_α ) - roman_sin ( italic_α ) roman_cos ( italic_θ ) end_ARG start_ARG roman_cos ( italic_θ ) roman_sin ( italic_θ ) end_ARG + divide start_ARG roman_sin ( italic_α ) end_ARG start_ARG roman_sin ( italic_θ ) end_ARG ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT
=(sin(α)cos(θ))2+(cos(α)cos(θ)sin(α)sin(θ)+sin(α)sin(θ))2absentsuperscript𝛼𝜃2superscript𝛼𝜃𝛼𝜃𝛼𝜃2\displaystyle=(\mathchoice{\frac{\sin(\alpha)}{\cos(\theta)}}{(\sin(\alpha)/% \cos(\theta))}{(\sin(\alpha)/\cos(\theta))}{(\sin(\alpha)/\cos(\theta))})^{2}+% (\frac{\cos(\alpha)}{\cos(\theta)}-\frac{\sin(\alpha)}{\sin(\theta)}+\frac{% \sin(\alpha)}{\sin(\theta)})^{2}= ( divide start_ARG roman_sin ( italic_α ) end_ARG start_ARG roman_cos ( italic_θ ) end_ARG ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + ( divide start_ARG roman_cos ( italic_α ) end_ARG start_ARG roman_cos ( italic_θ ) end_ARG - divide start_ARG roman_sin ( italic_α ) end_ARG start_ARG roman_sin ( italic_θ ) end_ARG + divide start_ARG roman_sin ( italic_α ) end_ARG start_ARG roman_sin ( italic_θ ) end_ARG ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT
=(1cos(θ))2absentsuperscript1𝜃2\displaystyle=(\mathchoice{\frac{1}{\cos(\theta)}}{(1/\cos(\theta))}{(1/\cos(% \theta))}{(1/\cos(\theta))})^{2}= ( divide start_ARG 1 end_ARG start_ARG roman_cos ( italic_θ ) end_ARG ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT

Since 0<θ<π/60𝜃𝜋60<\theta<\pi/60 < italic_θ < italic_π / 6, all terms are greater than 0, and pq=(1/cos(θ))pqdelimited-∥∥superscript𝑝superscript𝑞1𝜃delimited-∥∥𝑝𝑞\lVert p^{\prime}q^{\prime}\rVert=\mathchoice{\frac{1}{\cos(\theta)}}{(1/\cos(% \theta))}{(1/\cos(\theta))}{(1/\cos(\theta))}\cdot\lVert pq\rVert∥ italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ = ( 1 / roman_cos ( italic_θ ) ) ⋅ ∥ italic_p italic_q ∥.

In the case that both p𝑝pitalic_p and q𝑞qitalic_q are close to their adjacent sample points, we argue that there exists a pair (a,b)𝑎𝑏(a,b)( italic_a , italic_b ) of sample points such that abdelimited-∥∥𝑎𝑏\lVert ab\rVert∥ italic_a italic_b ∥ approximates pqdelimited-∥∥𝑝𝑞\lVert pq\rVert∥ italic_p italic_q ∥.

Lemma 2.8.

Let pqP𝑝𝑞superscript𝑃pq\subseteq P^{*}italic_p italic_q ⊆ italic_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT, and let pq𝑝𝑞pqitalic_p italic_q realise d(A,B)dAB\textbf{d}(A,B)d ( roman_A , roman_B ), where pA𝑝𝐴p\in Aitalic_p ∈ italic_A and qB𝑞𝐵q\in Bitalic_q ∈ italic_B. Let pA(a,a)𝑝𝐴superscript𝑎𝑎p\in\partial A(a^{\prime},a)italic_p ∈ ∂ italic_A ( italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_a ), and qB(b,b)𝑞𝐵𝑏superscript𝑏q\in\partial B(b,b^{\prime})italic_q ∈ ∂ italic_B ( italic_b , italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ), where points a𝑎aitalic_a and asuperscript𝑎a^{\prime}italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT (resp. b𝑏bitalic_b and bsuperscript𝑏b^{\prime}italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT) are adjacent sample points on A𝐴Aitalic_A (resp. B𝐵Bitalic_B). If max{pa,qb}<(sin(α)/cos(θ))pqdelimited-∥∥𝑝superscript𝑎delimited-∥∥𝑞𝑏𝛼𝜃delimited-∥∥𝑝𝑞\max\{\lVert pa^{\prime}\rVert,\lVert qb\rVert\}<\mathchoice{\frac{\sin(\alpha% )}{\cos(\theta)}}{(\sin(\alpha)/\cos(\theta))}{(\sin(\alpha)/\cos(\theta))}{(% \sin(\alpha)/\cos(\theta))}\cdot\lVert pq\rVertroman_max { ∥ italic_p italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ , ∥ italic_q italic_b ∥ } < ( roman_sin ( italic_α ) / roman_cos ( italic_θ ) ) ⋅ ∥ italic_p italic_q ∥ and max{pa,qb}<(sin(β)/cos(θ))pqdelimited-∥∥𝑝𝑎delimited-∥∥𝑞superscript𝑏𝛽𝜃delimited-∥∥𝑝𝑞\max\{\lVert pa\rVert,\lVert qb^{\prime}\rVert\}<(\sin(\beta)/\cos(\theta))% \cdot\lVert pq\rVertroman_max { ∥ italic_p italic_a ∥ , ∥ italic_q italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ } < ( roman_sin ( italic_β ) / roman_cos ( italic_θ ) ) ⋅ ∥ italic_p italic_q ∥, then d(a,b)<(1/cos(θ))pqdab1𝜃delimited-∥∥pq\textbf{d}(a,b)<\mathchoice{\frac{1}{\cos(\theta)}}{(1/\cos(\theta))}{(1/\cos(% \theta))}{(1/\cos(\theta))}\cdot\lVert pq\rVertd ( roman_a , roman_b ) < ( 1 / roman_cos ( italic_θ ) ) ⋅ ∥ roman_pq ∥.

Proof 2.9.
Refer to caption
Figure 5: With b𝑏bitalic_b fixed, moving a𝑎aitalic_a to psuperscript𝑝p^{\prime}italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT strictly increases abdelimited-∥∥𝑎𝑏\lVert ab\rVert∥ italic_a italic_b ∥.

We argue that ab<pqdelimited-∥∥𝑎𝑏delimited-∥∥superscript𝑝superscript𝑞\lVert ab\rVert<\lVert p^{\prime}q^{\prime}\rVert∥ italic_a italic_b ∥ < ∥ italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ (see Figure 5), where qsuperscript𝑞q^{\prime}italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT (resp. psuperscript𝑝p^{\prime}italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT) is the intersection of r(p,(k+1)θ)𝑟𝑝𝑘1𝜃r(p,(k+1)\theta)italic_r ( italic_p , ( italic_k + 1 ) italic_θ ) (resp. r(q,kθ+π)𝑟𝑞𝑘𝜃𝜋r(q,k\theta+\pi)italic_r ( italic_q , italic_k italic_θ + italic_π )) and B𝐵Bitalic_B (resp. A𝐴Aitalic_A). Let p′′superscript𝑝′′p^{\prime\prime}italic_p start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT (resp. q′′superscript𝑞′′q^{\prime\prime}italic_q start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT) be the intersection of r(q,kθ+π)𝑟𝑞𝑘𝜃𝜋r(q,k\theta+\pi)italic_r ( italic_q , italic_k italic_θ + italic_π ) (resp. r(p,k+1)𝑟𝑝𝑘1r(p,k+1)italic_r ( italic_p , italic_k + 1 )) and lt(p)subscript𝑙𝑡𝑝l_{t}(p)italic_l start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_p ) (resp. lt(q)subscript𝑙𝑡𝑞l_{t}(q)italic_l start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_q )). Without loss of generality, assume pq𝑝𝑞pqitalic_p italic_q is parallel to the y𝑦yitalic_y-axis, and y(q)>y(p)𝑦𝑞𝑦𝑝y(q)>y(p)italic_y ( italic_q ) > italic_y ( italic_p ), and consider the sample point a𝑎aitalic_a next to p𝑝pitalic_p counter-clockwise.

We will first show that a𝑎aitalic_a must reside in a circular sector. The region A𝐴Aitalic_A is convex; therefore a𝑎aitalic_a must be below the supporting line lt(p)subscript𝑙𝑡𝑝l_{t}(p)italic_l start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_p ). Due to how the sample points are constructed, the sample point a𝑎aitalic_a must be above r(p,(k+1)θ+π/2)𝑟𝑝𝑘1𝜃𝜋2r(p,(k+1)\theta+\pi/2)italic_r ( italic_p , ( italic_k + 1 ) italic_θ + italic_π / 2 ). Since pa<(sin(β)/cos(θ))pqdelimited-∥∥𝑝𝑎𝛽𝜃delimited-∥∥𝑝𝑞\lVert pa\rVert<(\sin(\beta)/\cos(\theta))\cdot\lVert pq\rVert∥ italic_p italic_a ∥ < ( roman_sin ( italic_β ) / roman_cos ( italic_θ ) ) ⋅ ∥ italic_p italic_q ∥, a𝑎aitalic_a must reside in the disk D=D(p,pp)𝐷𝐷𝑝delimited-∥∥𝑝superscript𝑝D=D(p,\lVert pp^{\prime}\rVert)italic_D = italic_D ( italic_p , ∥ italic_p italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ ) centered at p𝑝pitalic_p with radius ppdelimited-∥∥𝑝superscript𝑝\lVert pp^{\prime}\rVert∥ italic_p italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥. Combining the above restrictions, we have that a𝑎aitalic_a must reside in the smaller circular sector S𝑆Sitalic_S of D𝐷Ditalic_D enclosed by lt(p)subscript𝑙𝑡𝑝l_{t}(p)italic_l start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_p ) and pp𝑝superscript𝑝pp^{\prime}italic_p italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. An analogous argument shows that b𝑏bitalic_b must reside in the smaller circular sector of D(q,qq)𝐷𝑞delimited-∥∥𝑞superscript𝑞D(q,\lVert qq^{\prime}\rVert)italic_D ( italic_q , ∥ italic_q italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ ) enclosed by lt(q)subscript𝑙𝑡𝑞l_{t}(q)italic_l start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_q ) and qq𝑞superscript𝑞qq^{\prime}italic_q italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT.

Consider the line l𝑙litalic_l through ab𝑎𝑏abitalic_a italic_b, and observe that pushing a𝑎aitalic_a along l𝑙litalic_l towards the boundary of S𝑆Sitalic_S strictly increases abdelimited-∥∥𝑎𝑏\lVert ab\rVert∥ italic_a italic_b ∥. Next, now that a𝑎aitalic_a lies on the boundary of S𝑆Sitalic_S, we push a𝑎aitalic_a towards psuperscript𝑝p^{\prime}italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT along the boundary of S𝑆Sitalic_S. This also increases abdelimited-∥∥𝑎𝑏\lVert ab\rVert∥ italic_a italic_b ∥, since bapπ/2𝑏𝑎superscript𝑝𝜋2\measuredangle{bap^{\prime}}\geq\pi/2∡ italic_b italic_a italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ≥ italic_π / 2. Now that a=p𝑎superscript𝑝a=p^{\prime}italic_a = italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, an analogous argument applies to b𝑏bitalic_b, since pbqπ/2superscript𝑝𝑏superscript𝑞𝜋2\measuredangle{p^{\prime}bq^{\prime}}\geq\pi/2∡ italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_b italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ≥ italic_π / 2. In conclusion, abpqdelimited-∥∥𝑎𝑏delimited-∥∥superscript𝑝superscript𝑞\lVert ab\rVert\leq\lVert p^{\prime}q^{\prime}\rVert∥ italic_a italic_b ∥ ≤ ∥ italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥.

By Lemma 2.6, abpq(1/cos(θ))pqdelimited-∥∥𝑎𝑏delimited-∥∥superscript𝑝superscript𝑞1𝜃delimited-∥∥𝑝𝑞\lVert ab\rVert\leq\lVert p^{\prime}q^{\prime}\rVert\leq\mathchoice{\frac{1}{% \cos(\theta)}}{(1/\cos(\theta))}{(1/\cos(\theta))}{(1/\cos(\theta))}\cdot% \lVert pq\rVert∥ italic_a italic_b ∥ ≤ ∥ italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ ≤ ( 1 / roman_cos ( italic_θ ) ) ⋅ ∥ italic_p italic_q ∥, and the proof is complete.

2.4 The quality of the path

For now, assume that s𝑠sitalic_s and t𝑡titalic_t lie in some 0-region. An optimal s𝑠sitalic_s-t𝑡titalic_t path Psuperscript𝑃P^{*}italic_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT consists of a set of segments, where the endpoints of each segment lie on the boundaries of the 0-regions. A segment pq𝑝𝑞pqitalic_p italic_q either lies within a 0-region or connects two different 0-region. Since it costs nothing to follow an edge inside a 0-region, the weight of P𝑃Pitalic_P is the total weight of those edges connecting different 0-regions.

Let pq𝑝𝑞pqitalic_p italic_q realise the distance between 0-regions A𝐴Aitalic_A and B𝐵Bitalic_B, where p𝑝pitalic_p lies on A𝐴\partial A∂ italic_A between sample points a𝑎aitalic_a and asuperscript𝑎a^{\prime}italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, and q𝑞qitalic_q lies on B𝐵\partial B∂ italic_B between sample points b𝑏bitalic_b and bsuperscript𝑏b^{\prime}italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. In Lemma 2.4, we have shown that if max{pa,qb}(sin(α)/cos(θ))pqdelimited-∥∥𝑝superscript𝑎delimited-∥∥𝑞𝑏𝛼𝜃delimited-∥∥𝑝𝑞\max\{\lVert pa^{\prime}\rVert,\lVert qb\rVert\}\geq\mathchoice{\frac{\sin(% \alpha)}{\cos(\theta)}}{(\sin(\alpha)/\cos(\theta))}{(\sin(\alpha)/\cos(\theta% ))}{(\sin(\alpha)/\cos(\theta))}\cdot\lVert pq\rVertroman_max { ∥ italic_p italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ , ∥ italic_q italic_b ∥ } ≥ ( roman_sin ( italic_α ) / roman_cos ( italic_θ ) ) ⋅ ∥ italic_p italic_q ∥ or max{pa,qb}(sin(β)/cos(θ))pqdelimited-∥∥𝑝𝑎delimited-∥∥𝑞superscript𝑏𝛽𝜃delimited-∥∥𝑝𝑞\max\{\lVert pa\rVert,\lVert qb^{\prime}\rVert\}\geq(\sin(\beta)/\cos(\theta))% \cdot\lVert pq\rVertroman_max { ∥ italic_p italic_a ∥ , ∥ italic_q italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ } ≥ ( roman_sin ( italic_β ) / roman_cos ( italic_θ ) ) ⋅ ∥ italic_p italic_q ∥, there exists a path P𝑃P\subseteq\mathcal{E}italic_P ⊆ caligraphic_E from a sample point on A𝐴Aitalic_A to a sample point on B𝐵Bitalic_B of length at most (cos(β)/cos(θ))pq𝛽𝜃delimited-∥∥𝑝𝑞\mathchoice{\frac{\cos(\beta)}{\cos(\theta)}}{(\cos(\beta)/\cos(\theta))}{(% \cos(\beta)/\cos(\theta))}{(\cos(\beta)/\cos(\theta))}\cdot\lVert pq\rVert( roman_cos ( italic_β ) / roman_cos ( italic_θ ) ) ⋅ ∥ italic_p italic_q ∥.

In Lemma 2.8, we have shown that if max{pa,qb}<(sin(α)/cos(θ))pqdelimited-∥∥𝑝superscript𝑎delimited-∥∥𝑞𝑏𝛼𝜃delimited-∥∥𝑝𝑞\max\{\lVert pa^{\prime}\rVert,\lVert qb\rVert\}<\mathchoice{\frac{\sin(\alpha% )}{\cos(\theta)}}{(\sin(\alpha)/\cos(\theta))}{(\sin(\alpha)/\cos(\theta))}{(% \sin(\alpha)/\cos(\theta))}\cdot\lVert pq\rVertroman_max { ∥ italic_p italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ , ∥ italic_q italic_b ∥ } < ( roman_sin ( italic_α ) / roman_cos ( italic_θ ) ) ⋅ ∥ italic_p italic_q ∥ and max{pa,qb}<(sin(β)/cos(θ))pqdelimited-∥∥𝑝𝑎delimited-∥∥𝑞superscript𝑏𝛽𝜃delimited-∥∥𝑝𝑞\max\{\lVert pa\rVert,\lVert qb^{\prime}\rVert\}<(\sin(\beta)/\cos(\theta))% \cdot\lVert pq\rVertroman_max { ∥ italic_p italic_a ∥ , ∥ italic_q italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ } < ( roman_sin ( italic_β ) / roman_cos ( italic_θ ) ) ⋅ ∥ italic_p italic_q ∥, there exist sample points aA𝑎𝐴a\in Aitalic_a ∈ italic_A and bB𝑏𝐵b\in Bitalic_b ∈ italic_B, such that d(a,b)<(1/cos(θ))pqdab1𝜃delimited-∥∥pq\textbf{d}(a,b)<\mathchoice{\frac{1}{\cos(\theta)}}{(1/\cos(\theta))}{(1/\cos(% \theta))}{(1/\cos(\theta))}\cdot\lVert pq\rVertd ( roman_a , roman_b ) < ( 1 / roman_cos ( italic_θ ) ) ⋅ ∥ roman_pq ∥. To obtain a path between a𝑎aitalic_a and b𝑏bitalic_b in this case, we rely on the ΘΘ\Thetaroman_Θ-graph. The tightest bounds on the length of this path are due to Bose et al. [4], who showed that the spanning ratio of a ΘΘ\Thetaroman_Θ-graph is at most rθ=1+2sin(θ/2)/(cos(θ/2)sin(θ/2))subscript𝑟𝜃12𝜃2𝜃2𝜃2r_{\theta}=1+2\sin(\theta/2)/(\cos(\theta/2)-\sin(\theta/2))italic_r start_POSTSUBSCRIPT italic_θ end_POSTSUBSCRIPT = 1 + 2 roman_sin ( italic_θ / 2 ) / ( roman_cos ( italic_θ / 2 ) - roman_sin ( italic_θ / 2 ) ).

In summary, if pqP𝑝𝑞superscript𝑃pq\subseteq P^{*}italic_p italic_q ⊆ italic_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT, there exists a path P𝑃Pitalic_P from A𝐴Aitalic_A to B𝐵Bitalic_B such that

w(P)max{cos(β)cos(θ),1cos(θ)rθ}w(P)1cos(θ)rθw(P).wP𝛽𝜃1𝜃subscriptr𝜃wsuperscriptP1𝜃subscriptr𝜃wsuperscriptP\displaystyle\textbf{w}(P)\leq\max\{\mathchoice{\frac{\cos(\beta)}{\cos(\theta% )}}{(\cos(\beta)/\cos(\theta))}{(\cos(\beta)/\cos(\theta))}{(\cos(\beta)/\cos(% \theta))},\mathchoice{\frac{1}{\cos(\theta)}}{(1/\cos(\theta))}{(1/\cos(\theta% ))}{(1/\cos(\theta))}\cdot r_{\theta}\}\cdot\textbf{w}(P^{*})\leq\mathchoice{% \frac{1}{\cos(\theta)}}{(1/\cos(\theta))}{(1/\cos(\theta))}{(1/\cos(\theta))}% \cdot r_{\theta}\cdot\textbf{w}(P^{*}).w ( roman_P ) ≤ roman_max { divide start_ARG roman_cos ( italic_β ) end_ARG start_ARG roman_cos ( italic_θ ) end_ARG , divide start_ARG 1 end_ARG start_ARG roman_cos ( italic_θ ) end_ARG ⋅ roman_r start_POSTSUBSCRIPT italic_θ end_POSTSUBSCRIPT } ⋅ w ( roman_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ) ≤ divide start_ARG 1 end_ARG start_ARG roman_cos ( italic_θ ) end_ARG ⋅ roman_r start_POSTSUBSCRIPT italic_θ end_POSTSUBSCRIPT ⋅ w ( roman_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ) .

Given an approximation factor 0<ε<10𝜀10<\varepsilon<10 < italic_ε < 1, we compute a proper value for 0<θ<π/60𝜃𝜋60<\theta<\pi/60 < italic_θ < italic_π / 6 as follows.

1cos(θ)(1+2sin(θ2)cos(θ2)sin(θ2))=11sin(θ)1+εθsin1(ε1+ε)O(ε)1𝜃12𝜃2𝜃2𝜃211𝜃1𝜀𝜃superscript1𝜀1𝜀𝑂𝜀\displaystyle\mathchoice{\frac{1}{\cos(\theta)}}{(1/\cos(\theta))}{(1/\cos(% \theta))}{(1/\cos(\theta))}\cdot(1+\frac{2\sin(\frac{\theta}{2})}{\cos(\frac{% \theta}{2})-\sin(\frac{\theta}{2})})=\frac{1}{1-\sin(\theta)}\leq 1+% \varepsilon\implies\theta\leq\sin^{-1}(\frac{\varepsilon}{1+\varepsilon})\in O% (\varepsilon)divide start_ARG 1 end_ARG start_ARG roman_cos ( italic_θ ) end_ARG ⋅ ( 1 + divide start_ARG 2 roman_sin ( divide start_ARG italic_θ end_ARG start_ARG 2 end_ARG ) end_ARG start_ARG roman_cos ( divide start_ARG italic_θ end_ARG start_ARG 2 end_ARG ) - roman_sin ( divide start_ARG italic_θ end_ARG start_ARG 2 end_ARG ) end_ARG ) = divide start_ARG 1 end_ARG start_ARG 1 - roman_sin ( italic_θ ) end_ARG ≤ 1 + italic_ε ⟹ italic_θ ≤ roman_sin start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ( divide start_ARG italic_ε end_ARG start_ARG 1 + italic_ε end_ARG ) ∈ italic_O ( italic_ε )

Using θ𝜃\thetaitalic_θ, we can construct the data structure \mathcal{B}caligraphic_B. Combining Lemma 2.4 and Lemma 2.8, we have the following.

Lemma 2.10.

Data structure \mathcal{B}caligraphic_B contains a path P𝑃P\subseteq\mathcal{E}italic_P ⊆ caligraphic_E from sample point a𝑎aitalic_a to sample point b𝑏bitalic_b such that w(P)(1+ε)w(P)wP1𝜀wsuperscriptP\textbf{w}(P)\leq(1+\varepsilon)\cdot\textbf{w}(P^{*})w ( roman_P ) ≤ ( 1 + italic_ε ) ⋅ w ( roman_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ), where Psuperscript𝑃P^{*}italic_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT is the optimal path from a𝑎aitalic_a to b𝑏bitalic_b.

2.5 Finding a shortest path amidst 00-regions

Now that we know good paths exist between all pairs of sample points, it remains to include our arbitrary query points s𝑠sitalic_s and t𝑡titalic_t. Given the data structure ={(k)k[0,2π/θ),k}{𝒢,𝒢Θ}conditional-set𝑘formulae-sequencefor-all𝑘02𝜋𝜃𝑘𝒢subscript𝒢Θ\mathcal{B}=\{\mathcal{M}(k)\mid\forall k\in[0,2\pi/\theta),k\in\mathbb{Z}\}% \cup\{\mathcal{G},\mathcal{G}_{\Theta}\}caligraphic_B = { caligraphic_M ( italic_k ) ∣ ∀ italic_k ∈ [ 0 , 2 italic_π / italic_θ ) , italic_k ∈ blackboard_Z } ∪ { caligraphic_G , caligraphic_G start_POSTSUBSCRIPT roman_Θ end_POSTSUBSCRIPT }, a point s𝑠sitalic_s, and a point t𝑡titalic_t, we query the approximate shortest path from s𝑠sitalic_s to t𝑡titalic_t using Algorithm 2.

Algorithm 2 Query s𝑠sitalic_s-t𝑡titalic_t weighted shortest path amidst 0-regions

This algorithm takes as input a point s𝑠sitalic_s and a point t𝑡titalic_t, and a data structure ={(k)k[0,2π/θ),k}{𝒢,𝒢Θ}conditional-set𝑘formulae-sequencefor-all𝑘02𝜋𝜃𝑘𝒢subscript𝒢Θ\mathcal{B}=\{\mathcal{M}(k)\mid\forall k\in[0,2\pi/\theta),k\in\mathbb{Z}\}% \cup\{\mathcal{G},\mathcal{G}_{\Theta}\}caligraphic_B = { caligraphic_M ( italic_k ) ∣ ∀ italic_k ∈ [ 0 , 2 italic_π / italic_θ ) , italic_k ∈ blackboard_Z } ∪ { caligraphic_G , caligraphic_G start_POSTSUBSCRIPT roman_Θ end_POSTSUBSCRIPT } storing a set of 0-regions. It outputs an (1+ε)1𝜀(1+\varepsilon)( 1 + italic_ε )-approximated weighted shortest path from s𝑠sitalic_s to t𝑡titalic_t. In Step 1 and Step 2, this algorithm shows how to add s𝑠sitalic_s to \mathcal{B}caligraphic_B, and the same operations are used to add t𝑡titalic_t.

  1. 1.

    For each trapezoidal map (k)𝑘\mathcal{M}(k)caligraphic_M ( italic_k ), do the following for point s𝑠sitalic_s.

    1. (a)

      Query the face F𝐹Fitalic_F containing s𝑠sitalic_s.

    2. (b)

      Let F𝐹Fitalic_F be adjacent to 0-regions A𝐴Aitalic_A and B𝐵Bitalic_B. Add e=(s,ak(A))𝑒𝑠𝑎𝑘𝐴e=(s,ak(A))italic_e = ( italic_s , italic_a italic_k ( italic_A ) ) to \mathcal{E}caligraphic_E, and set w(e)=d(s,A)wedsA\textbf{w}(e)=\textbf{d}(s,A)w ( roman_e ) = d ( roman_s , roman_A ). Perform the same operation for s𝑠sitalic_s and B𝐵Bitalic_B.

  2. 2.

    Add s𝑠sitalic_s to 𝒢Θsubscript𝒢Θ\mathcal{G}_{\Theta}caligraphic_G start_POSTSUBSCRIPT roman_Θ end_POSTSUBSCRIPT. Specifically, using s𝑠sitalic_s as the apex, we construct a set of disjoint cones with θ𝜃\thetaitalic_θ-angle. For each point p𝑝pitalic_p closest to s𝑠sitalic_s in each cone, add e=(s,p)𝑒𝑠𝑝e=(s,p)italic_e = ( italic_s , italic_p ) to \mathcal{E}caligraphic_E, and set w(e)=spwedelimited-∥∥sp\textbf{w}(e)=\lVert sp\rVertw ( roman_e ) = ∥ roman_sp ∥. For every existing vertex p𝒢Θ𝑝subscript𝒢Θp\in\mathcal{G}_{\Theta}italic_p ∈ caligraphic_G start_POSTSUBSCRIPT roman_Θ end_POSTSUBSCRIPT, and every existing edge (p,q)Θ𝑝𝑞subscriptΘ(p,q)\in\mathcal{E}_{\Theta}( italic_p , italic_q ) ∈ caligraphic_E start_POSTSUBSCRIPT roman_Θ end_POSTSUBSCRIPT, if s𝑠sitalic_s is closer to p𝑝pitalic_p than q𝑞qitalic_q is, add e=(s,p)𝑒𝑠𝑝e=(s,p)italic_e = ( italic_s , italic_p ) to \mathcal{E}caligraphic_E, and set w(e)=spwedelimited-∥∥sp\textbf{w}(e)=\lVert sp\rVertw ( roman_e ) = ∥ roman_sp ∥. (Note that ΘΘ\Thetaroman_Θ-graph uses projected distance instead of Euclidean distance.)

  3. 3.

    Use Dijkstra’s shortest path algorithm to compute a path Psuperscript𝑃P^{\prime}italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT from s𝑠sitalic_s to t𝑡titalic_t in 𝒢𝒢\mathcal{G}caligraphic_G. Transform Psuperscript𝑃P^{\prime}italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT into a path P𝑃Pitalic_P in the original environment and return P𝑃Pitalic_P.

Once s𝑠sitalic_s and t𝑡titalic_t are added to \mathcal{B}caligraphic_B, they are treated as 0-region with no interior. The point s𝑠sitalic_s is its extreme point in every direction. Therefore, the distance between s𝑠sitalic_s and its adjacent sample points is 00. As a result, Lemma 2.4 and Lemma 2.8 both apply. Thus \mathcal{B}caligraphic_B with s𝑠sitalic_s and t𝑡titalic_t added contains a (1+ε)1𝜀(1+\varepsilon)( 1 + italic_ε )-approximation of the shortest path from s𝑠sitalic_s to t𝑡titalic_t, which Dijkstra’s shortest path algorithm will find.

2.5.1 Analysis

Finally, we look at the query time. Recall that εO(θ)𝜀𝑂𝜃\varepsilon\in O(\theta)italic_ε ∈ italic_O ( italic_θ ). In Step 1, we consider O(1/ε)𝑂1𝜀O(1/\varepsilon)italic_O ( 1 / italic_ε ) trapezoidal maps. For each trapezoidal map, it takes O(log(n/ε))𝑂𝑛𝜀O(\log(n/\varepsilon))italic_O ( roman_log ( italic_n / italic_ε ) ) time to perform a point-location query [11], and it takes O(logN)𝑂𝑁O(\log N)italic_O ( roman_log italic_N ) time to compute d(s,A)dsA\textbf{d}(s,A)d ( roman_s , roman_A ) [15]. In Step 2, it takes O(n/ε2+(n/ε)log(n/ε))𝑂𝑛superscript𝜀2𝑛𝜀𝑛𝜀O(n/\varepsilon^{2}+(n/\varepsilon)\log(n/\varepsilon))italic_O ( italic_n / italic_ε start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + ( italic_n / italic_ε ) roman_log ( italic_n / italic_ε ) ) time to find the closest point of s𝑠sitalic_s in each cone, and at the same time check if s𝑠sitalic_s is closest to any point p𝑝pitalic_p. In Step 3, it takes O(||+|𝒱|log|𝒱|)=O(n/ε2)𝑂𝒱𝒱𝑂𝑛superscript𝜀2O(|\mathcal{E}|+|\mathcal{V}|\log|\mathcal{V}|)=O(n/\varepsilon^{2})italic_O ( | caligraphic_E | + | caligraphic_V | roman_log | caligraphic_V | ) = italic_O ( italic_n / italic_ε start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) time to run Dijkstra’s shortest path algorithm to find the shortest path Psuperscript𝑃P^{\prime}italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT from s𝑠sitalic_s to t𝑡titalic_t in 𝒱𝒱\mathcal{V}caligraphic_V [16]. It takes O(n/ε2+N)𝑂𝑛superscript𝜀2𝑁O(n/\varepsilon^{2}+N)italic_O ( italic_n / italic_ε start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_N ) time to transform Psuperscript𝑃P^{\prime}italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT into a path P𝑃Pitalic_P in the environment. The query time is O(N+n/ε2+(n/ε)log(n/ε)+(logN)/ε)𝑂𝑁𝑛superscript𝜀2𝑛𝜀𝑛𝜀𝑁𝜀O(N+n/\varepsilon^{2}+(n/\varepsilon)\log(n/\varepsilon)+(\log N)/\varepsilon)italic_O ( italic_N + italic_n / italic_ε start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + ( italic_n / italic_ε ) roman_log ( italic_n / italic_ε ) + ( roman_log italic_N ) / italic_ε ).

See 1.1

3 Partial weak Fréchet similarity

This section highlights one application of our data structure: approximating the partial weak Fréchet similarity. This problem was previously considered by Buchin et al. [7] and De Carufel et al. [13]. We start with an introduction for the Fréchet distance and the weak Fréchet distance, eventually leading us to the formal definition of the partial weak Fréchet similarity problem.

The Fréchet distance is a popular measure of the similarity between two polygonal curves. An orientation-preserving reparameterisation is a continuous and bijective function f:[0,1][0,1]:𝑓0101f:[0,1]\rightarrow[0,1]italic_f : [ 0 , 1 ] → [ 0 , 1 ] such that f(0)=0𝑓00f(0)=0italic_f ( 0 ) = 0, and f(1)=1𝑓11f(1)=1italic_f ( 1 ) = 1. The 0ptf,g(π,σ)0𝑝subscript𝑡𝑓𝑔𝜋𝜎0pt_{f,g}(\pi,\sigma)0 italic_p italic_t start_POSTSUBSCRIPT italic_f , italic_g end_POSTSUBSCRIPT ( italic_π , italic_σ ) between two curves π𝜋\piitalic_π and σ𝜎\sigmaitalic_σ with respect to the reparameterisations f𝑓fitalic_f and g𝑔gitalic_g, is defined as follows.

0ptf,g(π,σ)=maxt[0,1]π(f(t))σ(g(t))0𝑝subscript𝑡𝑓𝑔𝜋𝜎subscript𝑡01𝜋𝑓𝑡𝜎𝑔𝑡\displaystyle 0pt_{f,g}(\pi,\sigma)=\max_{t\in[0,1]}\lVert\pi(f(t))-\sigma(g(t% ))\rVert0 italic_p italic_t start_POSTSUBSCRIPT italic_f , italic_g end_POSTSUBSCRIPT ( italic_π , italic_σ ) = roman_max start_POSTSUBSCRIPT italic_t ∈ [ 0 , 1 ] end_POSTSUBSCRIPT ∥ italic_π ( italic_f ( italic_t ) ) - italic_σ ( italic_g ( italic_t ) ) ∥

Consider the scenario where a person is walking his dog with a leash connecting them: the person needs to stay on π𝜋\piitalic_π while walking according to f𝑓fitalic_f, and the dog needs to stay on σ𝜎\sigmaitalic_σ while walking according to g𝑔gitalic_g. The maximum leash length is the width between π𝜋\piitalic_π and σ𝜎\sigmaitalic_σ with respect to the reparameterisations f𝑓fitalic_f and g𝑔gitalic_g. The standard Fréchet distance δF(π,σ)subscript𝛿𝐹𝜋𝜎\delta_{F}(\pi,\sigma)italic_δ start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT ( italic_π , italic_σ ) is the minimum leash length required over all possible walks (defined by reparameterisations f𝑓fitalic_f and g𝑔gitalic_g).

δF(π,σ)=inff,g[0,1][0,1]0ptf,g(π,σ)subscript𝛿𝐹𝜋𝜎subscriptinfimum𝑓𝑔01010𝑝subscript𝑡𝑓𝑔𝜋𝜎\displaystyle\delta_{F}(\pi,\sigma)=\inf_{f,g\in[0,1]\rightarrow[0,1]}0pt_{f,g% }(\pi,\sigma)italic_δ start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT ( italic_π , italic_σ ) = roman_inf start_POSTSUBSCRIPT italic_f , italic_g ∈ [ 0 , 1 ] → [ 0 , 1 ] end_POSTSUBSCRIPT 0 italic_p italic_t start_POSTSUBSCRIPT italic_f , italic_g end_POSTSUBSCRIPT ( italic_π , italic_σ )

Problems relating to the Fréchet distance are commonly solved in a configuration space called the freespace diagram. The free space d(π,σ)subscript𝑑𝜋𝜎\mathcal{F}_{d}(\pi,\sigma)caligraphic_F start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_π , italic_σ ) with respect to the Fréchet distance d𝑑ditalic_d is the union of all pairs of points xπ𝑥𝜋x\in\piitalic_x ∈ italic_π and yσ𝑦𝜎y\in\sigmaitalic_y ∈ italic_σ such that the distance between x𝑥xitalic_x and y𝑦yitalic_y is at most d𝑑ditalic_d. As opposed to the free space, we will call [0,π]×[0,σ]d(π,σ)0delimited-∥∥𝜋0delimited-∥∥𝜎subscript𝑑𝜋𝜎[0,\lVert\pi\rVert]\times[0,\lVert\sigma\rVert]\setminus\mathcal{F}_{d}(\pi,\sigma)[ 0 , ∥ italic_π ∥ ] × [ 0 , ∥ italic_σ ∥ ] ∖ caligraphic_F start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_π , italic_σ ) the forbidden space.

d(π,σ)={(x,y)[0,π]×[0,σ]π(x)σ(y)d}subscript𝑑𝜋𝜎conditional-set𝑥𝑦0delimited-∥∥𝜋0delimited-∥∥𝜎delimited-∥∥𝜋𝑥𝜎𝑦𝑑\displaystyle\mathcal{F}_{d}(\pi,\sigma)=\{(x,y)\in[0,\lVert\pi\rVert]\times[0% ,\lVert\sigma\rVert]\mid\lVert\pi(x)-\sigma(y)\rVert\leq d\}caligraphic_F start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_π , italic_σ ) = { ( italic_x , italic_y ) ∈ [ 0 , ∥ italic_π ∥ ] × [ 0 , ∥ italic_σ ∥ ] ∣ ∥ italic_π ( italic_x ) - italic_σ ( italic_y ) ∥ ≤ italic_d }

The freespace diagram 𝒟d(π,σ)subscript𝒟𝑑𝜋𝜎\mathcal{D}_{d}(\pi,\sigma)caligraphic_D start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_π , italic_σ ) is a data structure that stores the free space d(π,σ)subscript𝑑𝜋𝜎\mathcal{F}_{d}(\pi,\sigma)caligraphic_F start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_π , italic_σ ) in n2superscript𝑛2n^{2}italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT cells. Alt and Godau [3] showed that the intersection of the free space with each cell is the intersection of an ellipse and a rectangle. Therefore the free space in each cell is convex, and its boundary is of constant complexity. For two polygonal curves with complexity n𝑛nitalic_n, Alt and Godau [3] proved the following fact.

Fact 1.

The freespace diagram contains at most n2superscript𝑛2n^{2}italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT cells, and it can be constructed in O(n2logn)𝑂superscript𝑛2𝑛O(n^{2}\log n)italic_O ( italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT roman_log italic_n ) time. The free space inside each cell is the intersection of an ellipse and a rectangle.

It is well-known that if one can find an xy𝑥𝑦xyitalic_x italic_y-monotone path in 𝒟d(π,σ)subscript𝒟𝑑𝜋𝜎\mathcal{D}_{d}(\pi,\sigma)caligraphic_D start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_π , italic_σ ) from the bottom-left corner s𝑠sitalic_s to the top-right corner t𝑡titalic_t via the free space, then δF(π,σ)dsubscript𝛿𝐹𝜋𝜎𝑑\delta_{F}(\pi,\sigma)\leq ditalic_δ start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT ( italic_π , italic_σ ) ≤ italic_d.

The notion of weak Fréchet distance relaxes the requirement of the reparameterisation f𝑓fitalic_f: it still needs to be continuous but not bijective. This means that the person and the dog can walk backward. To determine if the weak Fréchet distance δwF(π,σ)subscript𝛿𝑤𝐹𝜋𝜎\delta_{wF}(\pi,\sigma)italic_δ start_POSTSUBSCRIPT italic_w italic_F end_POSTSUBSCRIPT ( italic_π , italic_σ ) is at most d𝑑ditalic_d, we need to find only a (potentially not xy𝑥𝑦xyitalic_x italic_y-monotone) path through the free space from s𝑠sitalic_s to t𝑡titalic_t in 𝒟d(π,σ)subscript𝒟𝑑𝜋𝜎\mathcal{D}_{d}(\pi,\sigma)caligraphic_D start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_π , italic_σ ). Buchin et al. [8] showed that there is no strongly subquadratic time algorithm for approximating the weak Fréchet distance within a factor less than 3 unless the strong exponential-time hypothesis fails.

Buchin et al. [7] proposed the partial Fréchet similarity (partial similarity in short) to deal with the Fréchet distance’s sensitivity to outliers. Instead of determining whether a leash of length d𝑑ditalic_d is enough to complete the walk, partial similarity determines how much can be completed given a leash of length d𝑑ditalic_d. The partial similarity is the total length of the portion of two curves that are matched under the Fréchet distance d𝑑ditalic_d.

Let dp(x,y)subscriptdpxy\textbf{d}_{p}(x,y)d start_POSTSUBSCRIPT roman_p end_POSTSUBSCRIPT ( roman_x , roman_y ) be the distance between point x𝑥xitalic_x and point y𝑦yitalic_y under the Lpsubscript𝐿𝑝L_{p}italic_L start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT norm. Let vdelimited-∥∥𝑣\lVert v\rVert∥ italic_v ∥ be the L2subscript𝐿2L_{2}italic_L start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT norm of the vector v𝑣vitalic_v. Under the Lpsubscript𝐿𝑝L_{p}italic_L start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT metric, given the desired Fréchet distance d𝑑ditalic_d, the partial similarity Sf,g(π,σ)subscript𝑆𝑓𝑔𝜋𝜎S_{f,g}(\pi,\sigma)italic_S start_POSTSUBSCRIPT italic_f , italic_g end_POSTSUBSCRIPT ( italic_π , italic_σ ) of curves π𝜋\piitalic_π and σ𝜎\sigmaitalic_σ with respect to the reparameterisations f𝑓fitalic_f and g𝑔gitalic_g is formally defined as follows [7].

Sf,g(π,σ)=dp(π(f(t)),σ(g(t))d(π(f(t))+σ(g(t)))𝑑t\displaystyle S_{f,g}(\pi,\sigma)=\int_{\textbf{d}_{p}(\pi(f(t)),\sigma(g(t))% \leq d}(\lVert\pi(f(t))^{\prime}\rVert+\lVert\sigma(g(t))^{\prime}\rVert)dtitalic_S start_POSTSUBSCRIPT italic_f , italic_g end_POSTSUBSCRIPT ( italic_π , italic_σ ) = ∫ start_POSTSUBSCRIPT d start_POSTSUBSCRIPT roman_p end_POSTSUBSCRIPT ( italic_π ( roman_f ( roman_t ) ) , italic_σ ( roman_g ( roman_t ) ) ≤ roman_d end_POSTSUBSCRIPT ( ∥ italic_π ( italic_f ( italic_t ) ) start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ + ∥ italic_σ ( italic_g ( italic_t ) ) start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ ) italic_d italic_t

Naturally, we want to compute a pair of reparameterisations f𝑓fitalic_f and g𝑔gitalic_g that maximise the partial similarity. To do this, Buchin et al. [7] proposed a cubic time algorithm. They showed that it is sufficient to find an xy𝑥𝑦xyitalic_x italic_y-monotone path P𝑃Pitalic_P from s𝑠sitalic_s to t𝑡titalic_t such that P𝑃Pitalic_P intersects as much free space as possible, i.e., PQ(d,P)psubscriptdelimited-∥∥𝑃subscript𝑄𝑑𝑃𝑝\lVert P\cap\mathcal{F}_{Q}(d,P)\rVert_{p}∥ italic_P ∩ caligraphic_F start_POSTSUBSCRIPT italic_Q end_POSTSUBSCRIPT ( italic_d , italic_P ) ∥ start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT should be maximised. When the distance measure between two curves is the more natural L2subscript𝐿2L_{2}italic_L start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT-metric, De Carufel et al. [13] proposed a cubic time algorithm with an additive error. They showed that finding a path that intersects as much free space as possible is equivalent to finding a path that intersects as little forbidden space as possible. They formalised the latter as the Minimum-Exclusion (MinEx) problem. They also showed that the MinEx problem is equivalent to the weighted shortest xy𝑥𝑦xyitalic_x italic_y-monotone path problem: computing a xy𝑥𝑦xyitalic_x italic_y-monotone weighted shortest path P𝑃Pitalic_P from s𝑠sitalic_s to t𝑡titalic_t in the freespace diagram, where the weight in the forbidden space is one, and the weight in the free space is zero. Under the weak Fréchet distance, the monotonicity requirement is removed.

Therefore, solving the weak Fréchet version of the MinEx problem under the L2subscript𝐿2L_{2}italic_L start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT metric is equivalent to finding a weighted shortest path amidst a set of O(n2)𝑂superscript𝑛2O(n^{2})italic_O ( italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) non-overlapping and convex 00-regions, where each 0-region is of constant complexity. Using Theorem 1.1 and Fact 1, we have the following theorem.

See 1.2

4 Shortest path amidst 0-regions and obstacles

In this section, we generalise our data structure from Section 2 to allow convex obstacles that cannot be traversed, i.e., obstacles with weight \infty. Our problem is finding an approximate shortest path amidst 0-regions and obstacles. More concretely, we consider the following problem.

Problem 4.1.

In the planar-subdivision induced by the plane with weight 1111, and a set of non-overlapping convex regions consisting of obstacles with weight \infty, and 00-regions with weight 00, given an approximation error 0<ε<10𝜀10<\varepsilon<10 < italic_ε < 1, find a (1+ε)1𝜀(1+\varepsilon)( 1 + italic_ε )-approximate weighted shortest path from point s𝑠sitalic_s to point t𝑡titalic_t.

In this section, we redefine d(A,B)dAB\textbf{d}(A,B)d ( roman_A , roman_B ) as the minimum distance between two geometric regions A𝐴Aitalic_A and B𝐵Bitalic_B in a 0/1/010/1/\infty0 / 1 / ∞ weighted setting. The ΘΘ\Thetaroman_Θ-graph can be constructed in an environment with obstacles. Clarkson [10] described such construction over points and polygonal obstacles, and proved that a path that (1+ε)1𝜀(1+\varepsilon)( 1 + italic_ε )-approximates d(a,b)dab\textbf{d}(a,b)d ( roman_a , roman_b ) exists in the ΘΘ\Thetaroman_Θ-graph, where a𝑎aitalic_a and b𝑏bitalic_b are vertices. We will use this ΘΘ\Thetaroman_Θ-graph in the rest of the paper.

Like in the previous section, we will first describe the construction of the data structure \mathcal{B}caligraphic_B and analyse the time and space complexity. We then show that 𝒢𝒢\mathcal{G}\in\mathcal{B}caligraphic_G ∈ caligraphic_B contains a good path between every pair of sample points. We use this to argue the approximation ratio for arbitrary s𝑠sitalic_s and t𝑡titalic_t.

4.1 Construction of the data structure

In order to deal with obstacles, we need to define two new types of sample points. For clarity, we refer to the sample points defined previously as the original sample points. In Section 2, a trapezoidal map (k)𝑘\mathcal{M}(k)caligraphic_M ( italic_k ) was only used to determine if two 0-regions should be connected, and we did not explicitly compute the intersection of a vertical segment and the boundary of a region. With the introduction of obstacles, we do need such intersections. Consider a sample point a𝑎aitalic_a. When constructing (k)𝑘\mathcal{M}(k)caligraphic_M ( italic_k ), we shoot two vertical rays from aA𝑎𝐴a\in Aitalic_a ∈ italic_A, one upwards and one downwards. Let p𝑝pitalic_p be the first intersection of r(a,k)𝑟𝑎𝑘r(a,k)italic_r ( italic_a , italic_k ) with the boundary of some region that is not A𝐴Aitalic_A. We call p𝑝pitalic_p a propagated sample point.

The other type of sample points we need is the tangent sample points. Given two disjoint obstacles A𝐴Aitalic_A and B𝐵Bitalic_B, and a common tangent l𝑙litalic_l, if l𝑙litalic_l touches A𝐴Aitalic_A at point a𝑎aitalic_a and B𝐵Bitalic_B at b𝑏bitalic_b, we add a𝑎aitalic_a and b𝑏bitalic_b as tangent sample points. When we say a point a𝑎aitalic_a is a sample point, a𝑎aitalic_a can be any type of sample point.

Recall that 𝚜𝚒𝚖𝚙𝚕(A)𝚜𝚒𝚖𝚙𝚕𝐴\mathtt{simpl}(A)typewriter_simpl ( italic_A ) is the simplified region by connecting every pair of adjacent sample points of A𝐴Aitalic_A. 𝚜𝚒𝚖𝚙𝚕(𝒵)𝚜𝚒𝚖𝚙𝚕𝒵\mathtt{simpl}(\mathcal{Z})typewriter_simpl ( caligraphic_Z ) is the set of simplified 0-regions, and 𝚜𝚒𝚖𝚙𝚕(𝒪)𝚜𝚒𝚖𝚙𝚕𝒪\mathtt{simpl}(\mathcal{O})typewriter_simpl ( caligraphic_O ) is the set of simplified obstacles. We formally define the construction of our data structure. Given a set 𝒪𝒪\mathcal{O}caligraphic_O of convex obstacles and a set 𝒵𝒵\mathcal{Z}caligraphic_Z of convex 00-regions, we build our data structure using Algorithm 3.

Algorithm 3 Construct \mathcal{B}caligraphic_B with 0-regions and obstacles

This algorithm takes as input a set of non-overlapping and convex regions, including 0-regions 𝒵𝒵\mathcal{Z}caligraphic_Z and obstacles 𝒪𝒪\mathcal{O}caligraphic_O, and constructs a data structure \mathcal{B}caligraphic_B. The undirected graph 𝒢=(𝒱,)𝒢𝒱\mathcal{G}=(\mathcal{V},\mathcal{E})caligraphic_G = ( caligraphic_V , caligraphic_E ) is initially empty.

  1. 1)

    Compute the original sample points 𝒮𝒫(𝒵)𝒮𝒫(𝒪)𝒮𝒫𝒵𝒮𝒫𝒪\mathcal{SP}(\mathcal{Z})\cup\mathcal{SP}(\mathcal{O})caligraphic_S caligraphic_P ( caligraphic_Z ) ∪ caligraphic_S caligraphic_P ( caligraphic_O ), and add them to 𝒱𝒱\mathcal{V}caligraphic_V.

  2. 2)

    For each direction r(k)𝑟𝑘r(k)italic_r ( italic_k ), generate a trapezoidal map (k)𝑘\mathcal{M}(k)caligraphic_M ( italic_k ) using 𝚜𝚒𝚖𝚙𝚕(𝒵)𝚜𝚒𝚖𝚙𝚕(𝒪)𝚜𝚒𝚖𝚙𝚕𝒵𝚜𝚒𝚖𝚙𝚕𝒪\mathtt{simpl}(\mathcal{Z})\cup\mathtt{simpl}(\mathcal{O})typewriter_simpl ( caligraphic_Z ) ∪ typewriter_simpl ( caligraphic_O ).

  3. 3)

    For every (k)𝑘\mathcal{M}(k)caligraphic_M ( italic_k ), do the following for every face F𝐹Fitalic_F adjacent to A𝐴Aitalic_A and B𝐵Bitalic_B, AB𝐴𝐵A\neq Bitalic_A ≠ italic_B.

    1. (a)

      Compute the propagated sample points, and add them to 𝒱𝒱\mathcal{V}caligraphic_V.

    2. (b)

      If A𝐴Aitalic_A and B𝐵Bitalic_B are both 0-regions, add e=(ak(A),ak(B))𝑒𝑎𝑘𝐴𝑎𝑘𝐵e=(ak(A),ak(B))italic_e = ( italic_a italic_k ( italic_A ) , italic_a italic_k ( italic_B ) ) to \mathcal{E}caligraphic_E, and set w(e)=d(A,B)wedAB\textbf{w}(e)=\textbf{d}(A,B)w ( roman_e ) = d ( roman_A , roman_B ).

    3. (c)

      If at least one of A𝐴Aitalic_A and B𝐵Bitalic_B is an obstacle, let ab𝑎𝑏abitalic_a italic_b and absuperscript𝑎superscript𝑏a^{\prime}b^{\prime}italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT be the vertical segments defining F𝐹Fitalic_F, where a,aA𝑎superscript𝑎𝐴a,a^{\prime}\in Aitalic_a , italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ italic_A, and b,bB𝑏superscript𝑏𝐵b,b^{\prime}\in Bitalic_b , italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ italic_B. Add edges e1=(a,b)subscript𝑒1𝑎𝑏e_{1}=(a,b)italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = ( italic_a , italic_b ) and e2=(a,b)subscript𝑒2superscript𝑎superscript𝑏e_{2}=(a^{\prime},b^{\prime})italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = ( italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) to \mathcal{E}caligraphic_E. Set w(e1)=abwsubscripte1delimited-∥∥ab\textbf{w}(e_{1})=\lVert ab\rVertw ( roman_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) = ∥ roman_ab ∥ and w(e2)=abwsubscripte2delimited-∥∥superscriptasuperscriptb\textbf{w}(e_{2})=\lVert a^{\prime}b^{\prime}\rVertw ( roman_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) = ∥ roman_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT roman_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥.

    4. (d)

      If A𝐴Aitalic_A and B𝐵Bitalic_B are both obstacles, we compute their common tangents. For each common tangent that touches A𝐴Aitalic_A at a𝑎aitalic_a and B𝐵Bitalic_B at b𝑏bitalic_b, add a𝑎aitalic_a and b𝑏bitalic_b to 𝒱𝒱\mathcal{V}caligraphic_V.

  4. 4)

    Redefine 𝚜𝚒𝚖𝚙𝚕(A)𝚜𝚒𝚖𝚙𝚕𝐴\mathtt{simpl}(A)typewriter_simpl ( italic_A ) as the polygon generated by connecting adjacent sample points of A𝐴Aitalic_A, original, propagated, and tangent sample points included. With 𝒱𝒱\mathcal{V}caligraphic_V and 𝚜𝚒𝚖𝚙𝚕(𝒪)𝚜𝚒𝚖𝚙𝚕𝒪\mathtt{simpl}(\mathcal{O})typewriter_simpl ( caligraphic_O ) as the input, generate a ΘΘ\Thetaroman_Θ-graph 𝒢Θ=(𝒱,Θ)subscript𝒢Θ𝒱subscriptΘ\mathcal{G}_{\Theta}=(\mathcal{V},\mathcal{E}_{\Theta})caligraphic_G start_POSTSUBSCRIPT roman_Θ end_POSTSUBSCRIPT = ( caligraphic_V , caligraphic_E start_POSTSUBSCRIPT roman_Θ end_POSTSUBSCRIPT ).

    • For each edge (p,q)Θ𝑝𝑞subscriptΘ(p,q)\in\mathcal{E}_{\Theta}( italic_p , italic_q ) ∈ caligraphic_E start_POSTSUBSCRIPT roman_Θ end_POSTSUBSCRIPT, if p𝑝pitalic_p and q𝑞qitalic_q belongs to different regions A𝐴Aitalic_A and B𝐵Bitalic_B, add e=(p,q)𝑒𝑝𝑞e=(p,q)italic_e = ( italic_p , italic_q ) to \mathcal{E}caligraphic_E and set w(e)=pqwedelimited-∥∥pq\textbf{w}(e)=\lVert pq\rVertw ( roman_e ) = ∥ roman_pq ∥.

  5. 5)

    For every pair of adjacent sample points a,a𝑎superscript𝑎a,a^{\prime}italic_a , italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT on an obstacle, add e=(a,a)𝑒𝑎superscript𝑎e=(a,a^{\prime})italic_e = ( italic_a , italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) to edges, and set w(e)=aawedelimited-∥∥superscriptaa\textbf{w}(e)=\lVert aa^{\prime}\rVertw ( roman_e ) = ∥ roman_aa start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥.

  6. 6)

    Pick an arbitrary sample point as the anchor ak(A)𝑎𝑘𝐴ak(A)italic_a italic_k ( italic_A ) for every A𝒵𝐴𝒵A\in\mathcal{Z}italic_A ∈ caligraphic_Z. For each sample point a𝑎aitalic_a of a 00-region A𝐴Aitalic_A, add e=(a,ak(A))𝑒𝑎𝑎𝑘𝐴e=(a,ak(A))italic_e = ( italic_a , italic_a italic_k ( italic_A ) ) to \mathcal{E}caligraphic_E, and set w(e)=0we0\textbf{w}(e)=0w ( roman_e ) = 0.

  7. 7)

    Return ={(k)k[0,2π/θ),k}{𝒢,𝒢Θ}conditional-set𝑘formulae-sequencefor-all𝑘02𝜋𝜃𝑘𝒢subscript𝒢Θ\mathcal{B}=\{\mathcal{M}(k)\mid\forall k\in[0,2\pi/\theta),k\in\mathbb{Z}\}% \cup\{\mathcal{G},\mathcal{G}_{\Theta}\}caligraphic_B = { caligraphic_M ( italic_k ) ∣ ∀ italic_k ∈ [ 0 , 2 italic_π / italic_θ ) , italic_k ∈ blackboard_Z } ∪ { caligraphic_G , caligraphic_G start_POSTSUBSCRIPT roman_Θ end_POSTSUBSCRIPT } as the data structure.

4.1.1 Analysis

Recall that we are given an approximation error ε𝜀\varepsilonitalic_ε and a set of non-overlapping convex regions consisting of obstacles 𝒪𝒪\mathcal{O}caligraphic_O and 0-regions 𝒵𝒵\mathcal{Z}caligraphic_Z. There are n𝑛nitalic_n regions, and the total complexity of 𝒪𝒵𝒪𝒵\mathcal{O}\cup\mathcal{Z}caligraphic_O ∪ caligraphic_Z is O(N)𝑂𝑁O(N)italic_O ( italic_N ). In Step 1, it takes O(N+n/ε)𝑂𝑁𝑛𝜀O(N+n/\varepsilon)italic_O ( italic_N + italic_n / italic_ε ) time to compute the sample points. In Step 2, it takes O((n/ε2)log(n/ε))𝑂𝑛superscript𝜀2𝑛𝜀O((n/\varepsilon^{2})\log(n/\varepsilon))italic_O ( ( italic_n / italic_ε start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) roman_log ( italic_n / italic_ε ) ) expected time to construct the trapezoidal maps [11].

Step 3 considers O(n/ε2)𝑂𝑛superscript𝜀2O(n/\varepsilon^{2})italic_O ( italic_n / italic_ε start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) trapezoidal map faces. In Step 3a, given a vertical segment c𝑐citalic_c intersecting a non-vertical segment abA𝑎𝑏𝐴ab\in Aitalic_a italic_b ∈ italic_A, it takes O(logN)𝑂𝑁O(\log N)italic_O ( roman_log italic_N ) time to use a binary search on A(a,b)𝐴𝑎𝑏\partial A(a,b)∂ italic_A ( italic_a , italic_b ) to find the intersection of c𝑐citalic_c and A(a,b)𝐴𝑎𝑏\partial A(a,b)∂ italic_A ( italic_a , italic_b ). In Step 3b, using the algorithm by Edelsbrunner [15], it takes O(logN)𝑂𝑁O(\log N)italic_O ( roman_log italic_N ) time to compute the distance between two 0-regions. In Step 3c, it takes constant time to compute the length of the vertical segments. In Step 3d, using the algorithm by Kirkpatrick and Snoeyink [19], and Guibas et al. [18], it takes O(logN)𝑂𝑁O(\log N)italic_O ( roman_log italic_N ) time to compute at most four common tangents. In total, Step 3 takes O((n/ε2)log(N))𝑂𝑛superscript𝜀2𝑁O((n/\varepsilon^{2})\log(N))italic_O ( ( italic_n / italic_ε start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) roman_log ( italic_N ) ) time, and we add at most O(n/ε2)𝑂𝑛superscript𝜀2O(n/\varepsilon^{2})italic_O ( italic_n / italic_ε start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) tangent and propagated sample points.

In Step 4, using Clarkson’s algorithm [10], it takes O((n/ε3)log(n/ε))𝑂𝑛superscript𝜀3𝑛𝜀O((n/\varepsilon^{3})\log(n/\varepsilon))italic_O ( ( italic_n / italic_ε start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT ) roman_log ( italic_n / italic_ε ) ) time to generate a ΘΘ\Thetaroman_Θ-graph with obstacles using O(n/ε2)𝑂𝑛superscript𝜀2O(n/\varepsilon^{2})italic_O ( italic_n / italic_ε start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) sample points and O(1/ε)𝑂1𝜀O(1/\varepsilon)italic_O ( 1 / italic_ε ) cones. In Step 5, it takes O(n/ε2+N)𝑂𝑛superscript𝜀2𝑁O(n/\varepsilon^{2}+N)italic_O ( italic_n / italic_ε start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_N ) time to generate an edge and set the weight for every pair of adjacent sample points. Step 6 takes O(n/ε2)𝑂𝑛superscript𝜀2O(n/\varepsilon^{2})italic_O ( italic_n / italic_ε start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) time to connect every sample point in a 0-region to its anchor.

We generate O(n/ε)𝑂𝑛𝜀O(n/\varepsilon)italic_O ( italic_n / italic_ε ) original sample points. We generate a constant number of propagated and tangent sample points for each of the O(n/ε2)𝑂𝑛superscript𝜀2O(n/\varepsilon^{2})italic_O ( italic_n / italic_ε start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) faces. As a result, each propagated or tangent sample point contributes a constant number of edges in \mathcal{E}caligraphic_E. A ΘΘ\Thetaroman_Θ-graph constructed with O(n/ε2)𝑂𝑛superscript𝜀2O(n/\varepsilon^{2})italic_O ( italic_n / italic_ε start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) sample points, and O(1/ε)𝑂1𝜀O(1/\varepsilon)italic_O ( 1 / italic_ε ) cones has at most O(n/ε3)𝑂𝑛superscript𝜀3O(n/\varepsilon^{3})italic_O ( italic_n / italic_ε start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT ) edges. Therefore |𝒢|=O(n/ε3)𝒢𝑂𝑛superscript𝜀3|\mathcal{G}|=O(n/\varepsilon^{3})| caligraphic_G | = italic_O ( italic_n / italic_ε start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT ). We summarise the complexities below.

Lemma 4.2.

Given an approximation error 0<ε<10𝜀10<\varepsilon<10 < italic_ε < 1, and n𝑛nitalic_n non-overlapping convex regions including 00-regions and obstacles with total complexity N𝑁Nitalic_N, one can build the data structure \mathcal{B}caligraphic_B in O(N+(n/ε3)(log(n/ε)+logN))𝑂𝑁𝑛superscript𝜀3𝑛𝜀𝑁O(N+(n/\varepsilon^{3})(\log(n/\varepsilon)+\log N))italic_O ( italic_N + ( italic_n / italic_ε start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT ) ( roman_log ( italic_n / italic_ε ) + roman_log italic_N ) ) expected time, and the total size of \mathcal{B}caligraphic_B is O(N+n/ε3)𝑂𝑁𝑛superscript𝜀3O(N+n/\varepsilon^{3})italic_O ( italic_N + italic_n / italic_ε start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT ).

The structure of the rest of the section is as follows. By Lemma 4.3, the distance between two adjacent sample points on the boundary of an obstacle approximates the straight line segment. Therefore, we show that we can “snap” the vertices of an optimal path to our sample points. For every segment pqP𝑝𝑞superscript𝑃pq\subseteq P^{*}italic_p italic_q ⊆ italic_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT, we then argue that either the trapezoidal map or the ΘΘ\Thetaroman_Θ-graph contains a path approximating pqdelimited-∥∥𝑝𝑞\lVert pq\rVert∥ italic_p italic_q ∥ to within a factor of 1+ε1𝜀1+\varepsilon1 + italic_ε.

4.2 Walking on the boundary is not expensive

We first argue that if a𝑎aitalic_a and asuperscript𝑎a^{\prime}italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT are adjacent sample points of A𝐴Aitalic_A, then aadelimited-∥∥𝑎superscript𝑎\lVert aa^{\prime}\rVert∥ italic_a italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ approximates A(a,a)delimited-∥∥𝐴𝑎superscript𝑎\lVert\partial A(a,a^{\prime})\rVert∥ ∂ italic_A ( italic_a , italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) ∥ within a factor of sec(θ/2)𝜃2\sec(\theta/2)roman_sec ( italic_θ / 2 ). Therefore, if we find a path P𝑃Pitalic_P amidst the simplified obstacles, we only need to pay a small factor to transform P𝑃Pitalic_P into a path amidst the original obstacles. Then, we prove that if pq𝑝𝑞pqitalic_p italic_q is part of the optimal path, we can replace pq𝑝𝑞pqitalic_p italic_q with a path P𝑃P\subseteq\mathcal{E}italic_P ⊆ caligraphic_E, such that w(P)wP\textbf{w}(P)w ( roman_P ) approximates pqdelimited-∥∥𝑝𝑞\lVert pq\rVert∥ italic_p italic_q ∥.

Lemma 4.3.

Let a𝑎aitalic_a and b𝑏bitalic_b be adjacent sample points on A𝐴\partial A∂ italic_A, where a𝑎aitalic_a appear after b𝑏bitalic_b in a counter-clockwise walk. We have that A(a,b)sec(θ/2)abdelimited-∥∥𝐴𝑎𝑏𝜃2delimited-∥∥𝑎𝑏\lVert\partial A(a,b)\rVert\leq\mathchoice{\sec(\frac{\theta}{2})}{\sec(\theta% /2)}{\sec(\theta/2)}{\sec(\theta/2)}\cdot\lVert ab\rVert∥ ∂ italic_A ( italic_a , italic_b ) ∥ ≤ roman_sec ( italic_θ / 2 ) ⋅ ∥ italic_a italic_b ∥.

Proof 4.4.
Refer to caption
Figure 6: The length of A(a,b)𝐴𝑎𝑏\partial A(a,b)∂ italic_A ( italic_a , italic_b ) (blue) is upperbounded by av+bvdelimited-∥∥𝑎𝑣delimited-∥∥𝑏𝑣\lVert av\rVert+\lVert bv\rVert∥ italic_a italic_v ∥ + ∥ italic_b italic_v ∥ (red). The two lines are the tangent lines of A𝐴Aitalic_A through a𝑎aitalic_a and b𝑏bitalic_b, respectively.

See Figure 6. Let v𝑣vitalic_v be the intersection of lt(a)subscript𝑙𝑡𝑎l_{t}(a)italic_l start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_a ) and lt(b)subscript𝑙𝑡𝑏l_{t}(b)italic_l start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_b ). By convexity of A𝐴Aitalic_A, A(a,b)av+vbdelimited-∥∥𝐴𝑎𝑏delimited-∥∥𝑎𝑣delimited-∥∥𝑣𝑏\lVert\partial A(a,b)\rVert\leq\lVert av\rVert+\lVert vb\rVert∥ ∂ italic_A ( italic_a , italic_b ) ∥ ≤ ∥ italic_a italic_v ∥ + ∥ italic_v italic_b ∥. By the construction of the sample points, vab+vbaθ𝑣𝑎𝑏𝑣𝑏𝑎𝜃\measuredangle{vab}+\measuredangle{vba}\leq\theta∡ italic_v italic_a italic_b + ∡ italic_v italic_b italic_a ≤ italic_θ. Let α=vab𝛼𝑣𝑎𝑏\alpha=\measuredangle{vab}italic_α = ∡ italic_v italic_a italic_b, and let β=vba𝛽𝑣𝑏𝑎\beta=\measuredangle{vba}italic_β = ∡ italic_v italic_b italic_a. Then, using the law of sines, we have the following.

A(a,b)av+bvsin(β)absin(θ)+sin(α)absin(θ)=sin(α)+sin(β)sin(θ)abdelimited-∥∥𝐴𝑎𝑏delimited-∥∥𝑎𝑣delimited-∥∥𝑏𝑣𝛽delimited-∥∥𝑎𝑏𝜃𝛼delimited-∥∥𝑎𝑏𝜃𝛼𝛽𝜃delimited-∥∥𝑎𝑏\displaystyle\lVert\partial A(a,b)\rVert\leq\lVert av\rVert+\lVert bv\rVert% \leq\frac{\sin(\beta)\cdot\lVert ab\rVert}{\sin(\theta)}+\frac{\sin(\alpha)% \cdot\lVert ab\rVert}{\sin(\theta)}=\frac{\sin(\alpha)+\sin(\beta)}{\sin(% \theta)}\cdot\lVert ab\rVert∥ ∂ italic_A ( italic_a , italic_b ) ∥ ≤ ∥ italic_a italic_v ∥ + ∥ italic_b italic_v ∥ ≤ divide start_ARG roman_sin ( italic_β ) ⋅ ∥ italic_a italic_b ∥ end_ARG start_ARG roman_sin ( italic_θ ) end_ARG + divide start_ARG roman_sin ( italic_α ) ⋅ ∥ italic_a italic_b ∥ end_ARG start_ARG roman_sin ( italic_θ ) end_ARG = divide start_ARG roman_sin ( italic_α ) + roman_sin ( italic_β ) end_ARG start_ARG roman_sin ( italic_θ ) end_ARG ⋅ ∥ italic_a italic_b ∥

The above expression is maximised when α=β=θ/2𝛼𝛽𝜃2\alpha=\beta=\theta/2italic_α = italic_β = italic_θ / 2, resulting in the following.

A(a,b)2sin(θ2)sin(θ)=sec(θ2)abdelimited-∥∥𝐴𝑎𝑏2𝜃2𝜃𝜃2delimited-∥∥𝑎𝑏\displaystyle\lVert\partial A(a,b)\rVert\leq\frac{2\sin(\frac{\theta}{2})}{% \sin(\theta)}=\sec\left(\frac{\theta}{2}\right)\cdot\lVert ab\rVert∥ ∂ italic_A ( italic_a , italic_b ) ∥ ≤ divide start_ARG 2 roman_sin ( divide start_ARG italic_θ end_ARG start_ARG 2 end_ARG ) end_ARG start_ARG roman_sin ( italic_θ ) end_ARG = roman_sec ( divide start_ARG italic_θ end_ARG start_ARG 2 end_ARG ) ⋅ ∥ italic_a italic_b ∥

The above lemma implies the following. Let dS(a,b)subscriptdSab\textbf{d}_{\textbf{S}}(a,b)d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_a , roman_b ) be the distance between point a𝑎aitalic_a and point b𝑏bitalic_b in the environment with simplified obstacles and simplified 0-regions, and let P𝑃Pitalic_P be the path achieving this distance. If we partition P𝑃Pitalic_P using the sample points, in the worst case, each segment connects adjacent sample points on obstacles. This implies the following corollary.

Corollary 4.5.

Let a𝑎aitalic_a and b𝑏bitalic_b be two sample points. We have that d(a,b)sec(θ/2)dS(a,b)dab𝜃2subscriptdSab\textbf{d}(a,b)\leq\mathchoice{\sec(\frac{\theta}{2})}{\sec(\theta/2)}{\sec(% \theta/2)}{\sec(\theta/2)}\cdot\textbf{d}_{\textbf{S}}(a,b)d ( roman_a , roman_b ) ≤ roman_sec ( italic_θ / 2 ) ⋅ d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_a , roman_b ).

4.3 Snapping a segment of the optimal path to the sample points

Gewali et al. [17] defined three types of locally optimal edges joining two simple polygonal regions, and they proved that the shortest path from s𝑠sitalic_s to t𝑡titalic_t must be comprised of these locally optimal edges [17, Lemma 2.5] (ignoring edges in 0-regions). For convex obstacles and 0-regions, we need to consider only four types of segments.

Fact 2.

If segment pq𝑝𝑞pqitalic_p italic_q is in the optimal weighted path Psuperscript𝑃P^{*}italic_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT amidst convex and non-overlapping 0-regions and obstacles, there must exists two supporting lines lt(p)subscript𝑙𝑡𝑝l_{t}(p)italic_l start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_p ) and lt(q)subscript𝑙𝑡𝑞l_{t}(q)italic_l start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_q ) such that pq𝑝𝑞pqitalic_p italic_q belong to one of the following cases (ignoring segments in 0-regions).

  1. 1)

    pq𝑝𝑞pqitalic_p italic_q connects two 0-regions such that pqlt(q)perpendicular-to𝑝𝑞subscript𝑙𝑡𝑞pq\perp l_{t}(q)italic_p italic_q ⟂ italic_l start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_q ) and pqlt(p)perpendicular-to𝑝𝑞subscript𝑙𝑡𝑝pq\perp l_{t}(p)italic_p italic_q ⟂ italic_l start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_p ).

  2. 2)

    pq𝑝𝑞pqitalic_p italic_q connects the point p𝑝pitalic_p on a 0-region A𝐴Aitalic_A and the point q𝑞qitalic_q on an obstacle B𝐵Bitalic_B such that pqlt(q)𝑝𝑞subscript𝑙𝑡𝑞pq\subset l_{t}(q)italic_p italic_q ⊂ italic_l start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_q ), and pqlt(p)perpendicular-to𝑝𝑞subscript𝑙𝑡𝑝pq\perp l_{t}(p)italic_p italic_q ⟂ italic_l start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_p ).

  3. 3)

    pq𝑝𝑞pqitalic_p italic_q lies on one of the common tangent of two different obstacles.

  4. 4)

    p𝑝pitalic_p and q𝑞qitalic_q are two points on the same obstacle, and pq=A(p,q)𝑝𝑞𝐴𝑝𝑞pq=\partial A(p,q)italic_p italic_q = ∂ italic_A ( italic_p , italic_q ) or pq=A(q,p)𝑝𝑞𝐴𝑞𝑝pq=\partial A(q,p)italic_p italic_q = ∂ italic_A ( italic_q , italic_p ).

In Section 4.3.14.3.2, and 4.3.3, we handle each type of edge in Case 1, 2, and 3, respectively. For an edge pq𝑝𝑞pqitalic_p italic_q in each of these cases, we argue that a good path in our data structure approximates pq𝑝𝑞pqitalic_p italic_q. Section 4.4 summarises the approximating ratio using the Case 4 edges.

More specifically, in the following subsections, we argue that for each type of segment pqP𝑝𝑞superscript𝑃pq\subseteq P^{*}italic_p italic_q ⊆ italic_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT, there exists a path P𝑃Pitalic_P constructed using our data structure such that the length of P𝑃Pitalic_P approximates pqdelimited-∥∥𝑝𝑞\lVert pq\rVert∥ italic_p italic_q ∥. If pq𝑝𝑞pqitalic_p italic_q is parallel to a direction r(k)𝑟𝑘r(k)italic_r ( italic_k ), based on the construction of the sample points and Fact 2, p𝑝pitalic_p and q𝑞qitalic_q are both sample points, and the argument is straightforward. Therefore, we will focus on the scenario where pq𝑝𝑞pqitalic_p italic_q is not parallel to any predefined direction. We assume without loss of generality that pq𝑝𝑞pqitalic_p italic_q lies between the direction r(k)𝑟𝑘r(k)italic_r ( italic_k ) and r(k+1)𝑟𝑘1r(k+1)italic_r ( italic_k + 1 ), and α𝛼\alphaitalic_α (resp. β𝛽\betaitalic_β) is the measure of the acute angle between r(p,k)𝑟𝑝𝑘r(p,k)italic_r ( italic_p , italic_k ) (resp. r(p,k+1)𝑟𝑝𝑘1r(p,k+1)italic_r ( italic_p , italic_k + 1 )) and pq𝑝𝑞pqitalic_p italic_q. Furthermore, by Corollary 4.5, we consider only simplified obstacles.

4.3.1 Case 1: pq𝑝𝑞pqitalic_p italic_q connects two 00-regions

We observe that, unfortunately, Lemma 2.4 does not trivially apply. When we rotate pq𝑝𝑞pqitalic_p italic_q to pq𝑝superscript𝑞pq^{\prime}italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, if pq𝑝superscript𝑞pq^{\prime}italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT overlaps obstacles, a path generated using the skewed set of obstacles can be much longer than pqdelimited-∥∥𝑝superscript𝑞\lVert pq^{\prime}\rVert∥ italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥, since the path would have to take a detour around the obstacles. The following lemmas resolve this issue.

Lemma 4.6.

Let A𝐴Aitalic_A and B𝐵Bitalic_B be two 00-regions. Let pqP𝑝𝑞superscript𝑃pq\subseteq P^{*}italic_p italic_q ⊆ italic_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT, where pA𝑝𝐴p\in\partial Aitalic_p ∈ ∂ italic_A, and qB𝑞𝐵q\in\partial Bitalic_q ∈ ∂ italic_B. If qb(sin(α)/cos(θ))pqdelimited-∥∥𝑞𝑏𝛼𝜃delimited-∥∥𝑝𝑞\lVert qb\rVert\geq\mathchoice{\frac{\sin(\alpha)}{\cos(\theta)}}{(\sin(\alpha% )/\cos(\theta))}{(\sin(\alpha)/\cos(\theta))}{(\sin(\alpha)/\cos(\theta))}% \cdot\lVert pq\rVert∥ italic_q italic_b ∥ ≥ ( roman_sin ( italic_α ) / roman_cos ( italic_θ ) ) ⋅ ∥ italic_p italic_q ∥, where b𝑏bitalic_b is a sample point adjacent to q𝑞qitalic_q, then there exists a sample point aA𝑎𝐴a\in\partial Aitalic_a ∈ ∂ italic_A such that dS(a,b)(cos(β)/cos(θ))pqsubscriptdSab𝛽𝜃delimited-∥∥pq\textbf{d}_{\textbf{S}}(a,b)\leq\mathchoice{\frac{\cos(\beta)}{\cos(\theta)}}{% (\cos(\beta)/\cos(\theta))}{(\cos(\beta)/\cos(\theta))}{(\cos(\beta)/\cos(% \theta))}\cdot\lVert pq\rVertd start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_a , roman_b ) ≤ ( roman_cos ( italic_β ) / roman_cos ( italic_θ ) ) ⋅ ∥ roman_pq ∥.

Proof 4.7.
Refer to caption
Figure 7: The x𝑥xitalic_x-axis points upwards. In the left figure, the red path is generated with the sweepline process described in Lemma 4.8. In the right figure, by triangle inequality, a1a2a1a2delimited-∥∥subscript𝑎1subscript𝑎2delimited-∥∥superscriptsubscript𝑎1superscriptsubscript𝑎2\lVert a_{1}a_{2}\rVert\leq\lVert a_{1}^{\prime}a_{2}^{\prime}\rVert∥ italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_a start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∥ ≤ ∥ italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_a start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥, and β0+α0αsubscript𝛽0subscript𝛼0𝛼\beta_{0}+\alpha_{0}\leq\alphaitalic_β start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + italic_α start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ≤ italic_α.

In Lemma 2.4, we showed that if qb(sin(α)/cos(θ))pqdelimited-∥∥𝑞𝑏𝛼𝜃delimited-∥∥𝑝𝑞\lVert qb\rVert\geq\mathchoice{\frac{\sin(\alpha)}{\cos(\theta)}}{(\sin(\alpha% )/\cos(\theta))}{(\sin(\alpha)/\cos(\theta))}{(\sin(\alpha)/\cos(\theta))}% \lVert pq\rVert∥ italic_q italic_b ∥ ≥ ( roman_sin ( italic_α ) / roman_cos ( italic_θ ) ) ∥ italic_p italic_q ∥, we can transform pq𝑝𝑞pqitalic_p italic_q into pq𝑝superscript𝑞pq^{\prime}italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. If pq𝑝superscript𝑞pq^{\prime}italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT intersects no obstacles, there exists a path P𝑃Pitalic_P from A𝐴Aitalic_A to B𝐵Bitalic_B such that Pdelimited-∥∥𝑃\lVert P\rVert∥ italic_P ∥ approximates pqdelimited-∥∥𝑝𝑞\lVert pq\rVert∥ italic_p italic_q ∥, which also implies this lemma. Otherwise, pq𝑝superscript𝑞pq^{\prime}italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT intersects at least one obstacle. Without loss of generality, we assume that pq𝑝𝑞pqitalic_p italic_q is aligned with the x𝑥xitalic_x-axis, where x(q)>x(p)𝑥𝑞𝑥𝑝x(q)>x(p)italic_x ( italic_q ) > italic_x ( italic_p ).

First, consider a horizontal ray r=r(p,0)𝑟𝑟𝑝0r=r(p,0)italic_r = italic_r ( italic_p , 0 ), and rotate r𝑟ritalic_r counter-clockwise until the new ray, r0subscript𝑟0r_{0}italic_r start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT, hits a sample point a1subscript𝑎1a_{1}italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT on the boundary of some simplified obstacle (see Figure 7, left). Let the counter-clockwise rotation from r𝑟ritalic_r to r0subscript𝑟0r_{0}italic_r start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT be α0subscript𝛼0\alpha_{0}italic_α start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT. With αi1subscript𝛼𝑖1\alpha_{i-1}italic_α start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT and aisubscript𝑎𝑖a_{i}italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT defined, let ai+1subscript𝑎𝑖1a_{i+1}italic_a start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT be the first sample point that is hit by rotating the ray ri=r(ai,j=0i1αj)subscript𝑟𝑖𝑟subscript𝑎𝑖superscriptsubscript𝑗0𝑖1subscript𝛼𝑗r_{i}=r(a_{i},\sum\limits_{j=0}^{i-1}\alpha_{j})italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_r ( italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , ∑ start_POSTSUBSCRIPT italic_j = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_i - 1 end_POSTSUPERSCRIPT italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) counter-clockwise. We continue this process until either risubscript𝑟𝑖r_{i}italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is parallel with direction r(k+1)𝑟𝑘1r(k+1)italic_r ( italic_k + 1 ), or risubscript𝑟𝑖r_{i}italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT hits a sample point on B𝐵\partial B∂ italic_B. Let this final ray be rlsubscript𝑟𝑙r_{l}italic_r start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT, and rlsubscript𝑟𝑙r_{l}italic_r start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT hits B𝐵Bitalic_B at a sample point alsubscript𝑎𝑙a_{l}italic_a start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT. Indeed, if rlsubscript𝑟𝑙r_{l}italic_r start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT is in the direction r(k+1)𝑟𝑘1r(k+1)italic_r ( italic_k + 1 ), then r(al1,k)𝑟subscript𝑎𝑙1𝑘r(a_{l-1},k)italic_r ( italic_a start_POSTSUBSCRIPT italic_l - 1 end_POSTSUBSCRIPT , italic_k ) hits B𝐵Bitalic_B, and alsubscript𝑎𝑙a_{l}italic_a start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT is a propagated sample point.

Similarly, let r=r(a1,π+α0)superscript𝑟𝑟subscript𝑎1𝜋subscript𝛼0r^{\prime}=r(a_{1},\pi+\alpha_{0})italic_r start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = italic_r ( italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_π + italic_α start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ). We perform the same process starting from rsuperscript𝑟r^{\prime}italic_r start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. Let b1,,blsubscript𝑏1subscript𝑏superscript𝑙b_{1},...,b_{l^{\prime}}italic_b start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_b start_POSTSUBSCRIPT italic_l start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT be the sample points generated, where blAsubscript𝑏superscript𝑙𝐴b_{l^{\prime}}\in\partial Aitalic_b start_POSTSUBSCRIPT italic_l start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ∈ ∂ italic_A, and let β0,,βl1subscript𝛽0subscript𝛽superscript𝑙1\beta_{0},...,\beta_{l^{\prime}-1}italic_β start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , … , italic_β start_POSTSUBSCRIPT italic_l start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT - 1 end_POSTSUBSCRIPT be the set of angles generated.

Let the intersection of a1b1subscript𝑎1subscript𝑏1a_{1}b_{1}italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_b start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and pq𝑝𝑞pqitalic_p italic_q be a0=b0subscript𝑎0subscript𝑏0a_{0}=b_{0}italic_a start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT = italic_b start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT. We will show the following.

i=0i=l1aiai+1+i=0i=l1bibi+1cos(β)cos(θ)pqsuperscriptsubscript𝑖0𝑖𝑙1delimited-∥∥subscript𝑎𝑖subscript𝑎𝑖1superscriptsubscript𝑖0𝑖superscript𝑙1delimited-∥∥subscript𝑏𝑖subscript𝑏𝑖1𝛽𝜃delimited-∥∥𝑝𝑞\displaystyle\sum_{i=0}^{i=l-1}\lVert a_{i}a_{i+1}\rVert+\sum_{i=0}^{i=l^{% \prime}-1}\lVert b_{i}b_{i+1}\rVert\leq\mathchoice{\frac{\cos(\beta)}{\cos(% \theta)}}{(\cos(\beta)/\cos(\theta))}{(\cos(\beta)/\cos(\theta))}{(\cos(\beta)% /\cos(\theta))}\cdot\lVert pq\rVert∑ start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_i = italic_l - 1 end_POSTSUPERSCRIPT ∥ italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_a start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT ∥ + ∑ start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_i = italic_l start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ∥ italic_b start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_b start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT ∥ ≤ divide start_ARG roman_cos ( italic_β ) end_ARG start_ARG roman_cos ( italic_θ ) end_ARG ⋅ ∥ italic_p italic_q ∥ (1)

Observe that α0+β0αsubscript𝛼0subscript𝛽0𝛼\alpha_{0}+\beta_{0}\leq\alphaitalic_α start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + italic_β start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ≤ italic_α, since the sweep-ray process stops once the ray is parallel with direction r(k+1)𝑟𝑘1r(k+1)italic_r ( italic_k + 1 ). Let qsuperscript𝑞q^{\prime}italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT be the point on B(b,q)𝐵𝑏𝑞\partial B(b,q)∂ italic_B ( italic_b , italic_q ) such that a0qsubscript𝑎0superscript𝑞a_{0}q^{\prime}italic_a start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is parallel with r(k+1)𝑟𝑘1r(k+1)italic_r ( italic_k + 1 ). Let aisuperscriptsubscript𝑎𝑖a_{i}^{\prime}italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT be the point on a0qsubscript𝑎0superscript𝑞a_{0}q^{\prime}italic_a start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, such that x(ai)=x(ai)𝑥superscriptsubscript𝑎𝑖𝑥subscript𝑎𝑖x(a_{i}^{\prime})=x(a_{i})italic_x ( italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) = italic_x ( italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) (see Figure 7, right). By triangle inequality, aiai+1aiai+1delimited-∥∥subscript𝑎𝑖subscript𝑎𝑖1delimited-∥∥subscriptsuperscript𝑎𝑖subscriptsuperscript𝑎𝑖1\lVert a_{i}a_{i+1}\rVert\leq\lVert a^{\prime}_{i}a^{\prime}_{i+1}\rVert∥ italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_a start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT ∥ ≤ ∥ italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT ∥. By Lemma 2.2, a0q<(cos(β)/cos(θ))a0qdelimited-∥∥subscript𝑎0𝑞𝛽𝜃delimited-∥∥subscript𝑎0superscript𝑞\lVert a_{0}q\rVert<\mathchoice{\frac{\cos(\beta)}{\cos(\theta)}}{(\cos(\beta)% /\cos(\theta))}{(\cos(\beta)/\cos(\theta))}{(\cos(\beta)/\cos(\theta))}\cdot% \lVert a_{0}q^{\prime}\rVert∥ italic_a start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_q ∥ < ( roman_cos ( italic_β ) / roman_cos ( italic_θ ) ) ⋅ ∥ italic_a start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥. Combining the above, we have the following.

i=0i=l1aiai+1<i=0i=l1aiai+1<cos(β)cos(θ)a0qsuperscriptsubscript𝑖0𝑖𝑙1delimited-∥∥subscript𝑎𝑖subscript𝑎𝑖1superscriptsubscript𝑖0𝑖𝑙1delimited-∥∥subscriptsuperscript𝑎𝑖subscriptsuperscript𝑎𝑖1𝛽𝜃delimited-∥∥subscript𝑎0𝑞\sum_{i=0}^{i=l-1}\lVert a_{i}a_{i+1}\rVert<\sum_{i=0}^{i=l-1}\lVert a^{\prime% }_{i}a^{\prime}_{i+1}\rVert<\mathchoice{\frac{\cos(\beta)}{\cos(\theta)}}{(% \cos(\beta)/\cos(\theta))}{(\cos(\beta)/\cos(\theta))}{(\cos(\beta)/\cos(% \theta))}\lVert a_{0}q\rVert∑ start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_i = italic_l - 1 end_POSTSUPERSCRIPT ∥ italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_a start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT ∥ < ∑ start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_i = italic_l - 1 end_POSTSUPERSCRIPT ∥ italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT ∥ < divide start_ARG roman_cos ( italic_β ) end_ARG start_ARG roman_cos ( italic_θ ) end_ARG ∥ italic_a start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_q ∥

Using an analogous argument on the sample points {b0,,bl}subscript𝑏0subscript𝑏superscript𝑙\{b_{0},...,b_{l^{\prime}}\}{ italic_b start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , … , italic_b start_POSTSUBSCRIPT italic_l start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT }, and the fact that pq=pa0+b0qdelimited-∥∥𝑝𝑞delimited-∥∥𝑝subscript𝑎0delimited-∥∥subscript𝑏0𝑞\lVert pq\rVert=\lVert pa_{0}\rVert+\lVert b_{0}q\rVert∥ italic_p italic_q ∥ = ∥ italic_p italic_a start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ∥ + ∥ italic_b start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_q ∥, we proved Equality (1). We have shown that there exist two sample points alsubscript𝑎𝑙a_{l}italic_a start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT and blsubscript𝑏superscript𝑙b_{l^{\prime}}italic_b start_POSTSUBSCRIPT italic_l start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT, such that dS(al,bl)(cos(β)/cos(θ))pqsubscriptdSsubscriptalsubscriptbsuperscriptl𝛽𝜃delimited-∥∥pq\textbf{d}_{\textbf{S}}(a_{l},b_{l^{\prime}})\leq\mathchoice{\frac{\cos(\beta)% }{\cos(\theta)}}{(\cos(\beta)/\cos(\theta))}{(\cos(\beta)/\cos(\theta))}{(\cos% (\beta)/\cos(\theta))}\cdot\lVert pq\rVertd start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_a start_POSTSUBSCRIPT roman_l end_POSTSUBSCRIPT , roman_b start_POSTSUBSCRIPT roman_l start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ) ≤ ( roman_cos ( italic_β ) / roman_cos ( italic_θ ) ) ⋅ ∥ roman_pq ∥, completing the proof.

Lemma 4.8.

Let A𝐴Aitalic_A and B𝐵Bitalic_B be two 00-regions. Let pqP𝑝𝑞superscript𝑃pq\subseteq P^{*}italic_p italic_q ⊆ italic_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT, where pA𝑝𝐴p\in\partial Aitalic_p ∈ ∂ italic_A, and qB𝑞𝐵q\in\partial Bitalic_q ∈ ∂ italic_B. If qb<(sin(α)/cos(θ))pqdelimited-∥∥𝑞𝑏𝛼𝜃delimited-∥∥𝑝𝑞\lVert qb\rVert<\mathchoice{\frac{\sin(\alpha)}{\cos(\theta)}}{(\sin(\alpha)/% \cos(\theta))}{(\sin(\alpha)/\cos(\theta))}{(\sin(\alpha)/\cos(\theta))}\cdot% \lVert pq\rVert∥ italic_q italic_b ∥ < ( roman_sin ( italic_α ) / roman_cos ( italic_θ ) ) ⋅ ∥ italic_p italic_q ∥ and pa<(sin(β)/cos(θ))pqdelimited-∥∥𝑝𝑎𝛽𝜃delimited-∥∥𝑝𝑞\lVert pa\rVert<(\sin(\beta)/\cos(\theta))\cdot\lVert pq\rVert∥ italic_p italic_a ∥ < ( roman_sin ( italic_β ) / roman_cos ( italic_θ ) ) ⋅ ∥ italic_p italic_q ∥, where a𝑎aitalic_a (resp. b𝑏bitalic_b) is a sample point adjacent to p𝑝pitalic_p (resp. q𝑞qitalic_q), then dS(a,b)(sin(α)+sin(β))/(cos(θ)sin(θ))pqsubscriptdSab𝛼𝛽𝜃𝜃delimited-∥∥pq\textbf{d}_{\textbf{S}}(a,b)\leq(\sin(\alpha)+\sin(\beta))/(\cos(\theta)\sin(% \theta))\cdot\lVert pq\rVertd start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_a , roman_b ) ≤ ( roman_sin ( italic_α ) + roman_sin ( italic_β ) ) / ( roman_cos ( italic_θ ) roman_sin ( italic_θ ) ) ⋅ ∥ roman_pq ∥.

Proof 4.9.
Refer to caption
Figure 8: In the left figure, by triangle inequality, aa+ab+bbdelimited-∥∥𝑎superscript𝑎delimited-∥∥superscript𝑎superscript𝑏delimited-∥∥superscript𝑏𝑏\lVert aa^{\prime}\rVert+\lVert a^{\prime}b^{\prime}\rVert+\lVert b^{\prime}b\rVert∥ italic_a italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ + ∥ italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ + ∥ italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_b ∥ is upperbounded by au+ubdelimited-∥∥𝑎𝑢delimited-∥∥𝑢𝑏\lVert au\rVert+\lVert ub\rVert∥ italic_a italic_u ∥ + ∥ italic_u italic_b ∥. In the middle and right figure, fixing b𝑏bitalic_b, au+budelimited-∥∥𝑎𝑢delimited-∥∥𝑏𝑢\lVert au\rVert+\lVert bu\rVert∥ italic_a italic_u ∥ + ∥ italic_b italic_u ∥ strictly increases when a𝑎aitalic_a first moves to the boundary of the circular sector, and then moves along the boundary to psuperscript𝑝p^{\prime}italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT (paths marked in red).

If ab𝑎𝑏abitalic_a italic_b overlaps no obstacles, dS(a,b)absubscriptdSabdelimited-∥∥ab\textbf{d}_{\textbf{S}}(a,b)\leq\lVert ab\rVertd start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_a , roman_b ) ≤ ∥ roman_ab ∥. Therefore, we focus on the case where ab𝑎𝑏abitalic_a italic_b overlaps at least one obstacle. Let asuperscript𝑎a^{\prime}italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT (resp. bsuperscript𝑏b^{\prime}italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT) be the intersection of ra=r(a,(k+1)θ)subscript𝑟𝑎𝑟𝑎𝑘1𝜃r_{a}=r(a,(k+1)\theta)italic_r start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT = italic_r ( italic_a , ( italic_k + 1 ) italic_θ ) (resp. rb=r(b,kθ)subscript𝑟𝑏𝑟𝑏𝑘𝜃r_{b}=r(b,k\theta)italic_r start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT = italic_r ( italic_b , italic_k italic_θ )) and pq𝑝𝑞pqitalic_p italic_q. See Figure 8, left for the construction.

Observe that if ab𝑎𝑏abitalic_a italic_b overlaps an obstacle C𝐶Citalic_C, then C𝐶Citalic_C cannot overlap aa𝑎superscript𝑎aa^{\prime}italic_a italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT or bb𝑏superscript𝑏bb^{\prime}italic_b italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. Assume the opposite that C𝐶Citalic_C overlaps aa𝑎superscript𝑎aa^{\prime}italic_a italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. Since the regions are non-overlapping, and pqP𝑝𝑞superscript𝑃pq\subseteq P^{*}italic_p italic_q ⊆ italic_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT, the sample point v=sp(C,kθπ/2)𝑣𝑠𝑝𝐶𝑘𝜃𝜋2v=sp(C,k\theta-\pi/2)italic_v = italic_s italic_p ( italic_C , italic_k italic_θ - italic_π / 2 ) would have to lie in apa𝑎𝑝superscript𝑎\triangle{apa^{\prime}}△ italic_a italic_p italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. Therefore, the ray r(v,(k+1)θ+π)𝑟𝑣𝑘1𝜃𝜋r(v,(k+1)\theta+\pi)italic_r ( italic_v , ( italic_k + 1 ) italic_θ + italic_π ) hits A𝐴Aitalic_A. As a result, a propagated sample point is closer to p𝑝pitalic_p than a𝑎aitalic_a, contradicting the assumption that a𝑎aitalic_a is the closest sample point to p𝑝pitalic_p. Analogously, C𝐶Citalic_C cannot overlap bb𝑏superscript𝑏bb^{\prime}italic_b italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT.

Consider the intersection u𝑢uitalic_u of r(a,k)𝑟𝑎𝑘r(a,k)italic_r ( italic_a , italic_k ) and r(b,(k+1)θ+π)𝑟𝑏𝑘1𝜃𝜋r(b,(k+1)\theta+\pi)italic_r ( italic_b , ( italic_k + 1 ) italic_θ + italic_π ). We argue that dS(a,b)au+busubscriptdSabdelimited-∥∥audelimited-∥∥bu\textbf{d}_{\textbf{S}}(a,b)\leq\lVert au\rVert+\lVert bu\rVertd start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_a , roman_b ) ≤ ∥ roman_au ∥ + ∥ roman_bu ∥. Since no simplified obstacles can intersect rasubscript𝑟𝑎r_{a}italic_r start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT or rbsubscript𝑟𝑏r_{b}italic_r start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT, we can build a convex path P𝑃Pitalic_P from a𝑎aitalic_a to b𝑏bitalic_b within aub𝑎𝑢𝑏\triangle{aub}△ italic_a italic_u italic_b circumventing all obstacles. By Lemma 4.3, Pau+budelimited-∥∥𝑃delimited-∥∥𝑎𝑢delimited-∥∥𝑏𝑢\lVert P\rVert\leq\lVert au\rVert+\lVert bu\rVert∥ italic_P ∥ ≤ ∥ italic_a italic_u ∥ + ∥ italic_b italic_u ∥.

Let qsuperscript𝑞q^{\prime}italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT be the intersection of r(p,(k+1)θ)𝑟𝑝𝑘1𝜃r(p,(k+1)\theta)italic_r ( italic_p , ( italic_k + 1 ) italic_θ ) and r(q,kθ+π/2)𝑟𝑞𝑘𝜃𝜋2r(q,k\theta+\pi/2)italic_r ( italic_q , italic_k italic_θ + italic_π / 2 ), and let point psuperscript𝑝p^{\prime}italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT be the intersection of r(q,kθ+π)𝑟𝑞𝑘𝜃𝜋r(q,k\theta+\pi)italic_r ( italic_q , italic_k italic_θ + italic_π ) and r(p,(k+1)θ+π/2)𝑟𝑝𝑘1𝜃𝜋2r(p,(k+1)\theta+\pi/2)italic_r ( italic_p , ( italic_k + 1 ) italic_θ + italic_π / 2 ). Using analogous argument in Lemma 2.6, we argue that abdelimited-∥∥𝑎𝑏\lVert ab\rVert∥ italic_a italic_b ∥ is maximised when a=p𝑎superscript𝑝a=p^{\prime}italic_a = italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT and b=q𝑏superscript𝑞b=q^{\prime}italic_b = italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. Since a𝑎aitalic_a must be above r(p,(k+1)θ+π/2)𝑟𝑝𝑘1𝜃𝜋2r(p,(k+1)\theta+\pi/2)italic_r ( italic_p , ( italic_k + 1 ) italic_θ + italic_π / 2 ), below lt(p)subscript𝑙𝑡𝑝l_{t}(p)italic_l start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_p ) and within a distance (sin(β)/cos(θ))pq𝛽𝜃delimited-∥∥𝑝𝑞(\sin(\beta)/\cos(\theta))\cdot\lVert pq\rVert( roman_sin ( italic_β ) / roman_cos ( italic_θ ) ) ⋅ ∥ italic_p italic_q ∥ from p𝑝pitalic_p, a𝑎aitalic_a must lie in the smaller circular sector S𝑆Sitalic_S of the disk D(p,pp)𝐷𝑝delimited-∥∥𝑝superscript𝑝D(p,\lVert pp^{\prime}\rVert)italic_D ( italic_p , ∥ italic_p italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ ) bounded by lt(p)subscript𝑙𝑡𝑝l_{t}(p)italic_l start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_p ) and pp𝑝superscript𝑝pp^{\prime}italic_p italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT.

With b𝑏bitalic_b fixed, consider pushing a𝑎aitalic_a along r(a,kθ+π)𝑟𝑎𝑘𝜃𝜋r(a,k\theta+\pi)italic_r ( italic_a , italic_k italic_θ + italic_π ) until a𝑎aitalic_a lies on the boundary S𝑆\partial S∂ italic_S of S𝑆Sitalic_S. a𝑎aitalic_a is either above or below pqsuperscript𝑝𝑞p^{\prime}qitalic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_q; see Figure 8, middle and right, for an illustration of the respective case. We will show that au+budelimited-∥∥𝑎𝑢delimited-∥∥𝑏𝑢\lVert au\rVert+\lVert bu\rVert∥ italic_a italic_u ∥ + ∥ italic_b italic_u ∥ strictly increases throughout this process. Observe that by construction, pushing a𝑎aitalic_a towards S𝑆\partial S∂ italic_S strictly increases audelimited-∥∥𝑎𝑢\lVert au\rVert∥ italic_a italic_u ∥ while budelimited-∥∥𝑏𝑢\lVert bu\rVert∥ italic_b italic_u ∥ remains unchanged.

Let a′′superscript𝑎′′a^{\prime\prime}italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT be the intersection of r(a,kθ+π)𝑟𝑎𝑘𝜃𝜋r(a,k\theta+\pi)italic_r ( italic_a , italic_k italic_θ + italic_π ) and S𝑆\partial S∂ italic_S. If a′′superscript𝑎′′a^{\prime\prime}italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT lies on D(p,pp)𝐷𝑝delimited-∥∥𝑝superscript𝑝D(p,\lVert pp^{\prime}\rVert)italic_D ( italic_p , ∥ italic_p italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ ), pushing a′′superscript𝑎′′a^{\prime\prime}italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT towards psuperscript𝑝p^{\prime}italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT increases both a′′udelimited-∥∥superscript𝑎′′𝑢\lVert a^{\prime\prime}u\rVert∥ italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_u ∥ and budelimited-∥∥𝑏𝑢\lVert bu\rVert∥ italic_b italic_u ∥. If a′′superscript𝑎′′a^{\prime\prime}italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT lies on pp𝑝superscript𝑝pp^{\prime}italic_p italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, let v𝑣vitalic_v be the intersection of r(a′′,k+1)𝑟superscript𝑎′′𝑘1r(a^{\prime\prime},k+1)italic_r ( italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT , italic_k + 1 ) and qp𝑞superscript𝑝qp^{\prime}italic_q italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. Let usuperscript𝑢u^{\prime}italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT be the intersection of bu𝑏𝑢buitalic_b italic_u and qp𝑞superscript𝑝qp^{\prime}italic_q italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. We argue that a′′u+budelimited-∥∥superscript𝑎′′𝑢delimited-∥∥𝑏𝑢\lVert a^{\prime\prime}u\rVert+\lVert bu\rVert∥ italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_u ∥ + ∥ italic_b italic_u ∥ is maximised when a′′=psuperscript𝑎′′superscript𝑝a^{\prime\prime}=p^{\prime}italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT = italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT and u=u𝑢superscript𝑢u=u^{\prime}italic_u = italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. Specifically, the length we gain (pua′′udelimited-∥∥superscript𝑝superscript𝑢delimited-∥∥superscript𝑎′′𝑢\lVert p^{\prime}u^{\prime}\rVert-\lVert a^{\prime\prime}u\rVert∥ italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ - ∥ italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_u ∥) is more than the length we lose (uudelimited-∥∥𝑢superscript𝑢\lVert uu^{\prime}\rVert∥ italic_u italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥).

We argue that pua′′uuudelimited-∥∥superscript𝑝superscript𝑢delimited-∥∥superscript𝑎′′𝑢delimited-∥∥𝑢superscript𝑢\lVert p^{\prime}u^{\prime}\rVert-\lVert a^{\prime\prime}u\rVert\geq\lVert uu^% {\prime}\rVert∥ italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ - ∥ italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_u ∥ ≥ ∥ italic_u italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥. Since a′′vuusuperscript𝑎′′𝑣superscript𝑢𝑢\lozenge{a^{\prime\prime}vu^{\prime}u}◆ italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_v italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_u is a parallelogram, a′′u=vudelimited-∥∥superscript𝑎′′𝑢delimited-∥∥𝑣superscript𝑢\lVert a^{\prime\prime}u\rVert=\lVert vu^{\prime}\rVert∥ italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_u ∥ = ∥ italic_v italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ and uu=a′′vdelimited-∥∥𝑢superscript𝑢delimited-∥∥superscript𝑎′′𝑣\lVert uu^{\prime}\rVert=\lVert a^{\prime\prime}v\rVert∥ italic_u italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ = ∥ italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_v ∥. Therefore, we have that pua′′uuu=pva′′vdelimited-∥∥superscript𝑝superscript𝑢delimited-∥∥superscript𝑎′′𝑢delimited-∥∥𝑢superscript𝑢delimited-∥∥superscript𝑝𝑣delimited-∥∥superscript𝑎′′𝑣\lVert p^{\prime}u^{\prime}\rVert-\lVert a^{\prime\prime}u\rVert-\lVert uu^{% \prime}\rVert=\lVert p^{\prime}v\rVert-\lVert a^{\prime\prime}v\rVert∥ italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ - ∥ italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_u ∥ - ∥ italic_u italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ = ∥ italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_v ∥ - ∥ italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_v ∥. By construction, vpa′′𝑣superscript𝑝superscript𝑎′′\triangle{vp^{\prime}a^{\prime\prime}}△ italic_v italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT is a right triangle with pvsuperscript𝑝𝑣p^{\prime}vitalic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_v as the hypotenuse. As a result, pva′′vdelimited-∥∥superscript𝑝𝑣delimited-∥∥superscript𝑎′′𝑣\lVert p^{\prime}v\rVert\geq\lVert a^{\prime\prime}v\rVert∥ italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_v ∥ ≥ ∥ italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_v ∥, and pua′′uuudelimited-∥∥superscript𝑝superscript𝑢delimited-∥∥superscript𝑎′′𝑢delimited-∥∥𝑢superscript𝑢\lVert p^{\prime}u^{\prime}\rVert-\lVert a^{\prime\prime}u\rVert\geq\lVert uu^% {\prime}\rVert∥ italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ - ∥ italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_u ∥ ≥ ∥ italic_u italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥. Therefore, with b𝑏bitalic_b fixed, au+budelimited-∥∥𝑎𝑢delimited-∥∥𝑏𝑢\lVert au\rVert+\lVert bu\rVert∥ italic_a italic_u ∥ + ∥ italic_b italic_u ∥ is maximised when a=p𝑎superscript𝑝a=p^{\prime}italic_a = italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. Using an analogous argument by fixing a𝑎aitalic_a at psuperscript𝑝p^{\prime}italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, we have that abdelimited-∥∥𝑎𝑏\lVert ab\rVert∥ italic_a italic_b ∥ is maximised when a=p𝑎superscript𝑝a=p^{\prime}italic_a = italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT and b=q𝑏superscript𝑞b=q^{\prime}italic_b = italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. Combining the above arguments and Lemma 2.6, we have that

dS(a,b)au+bupc+qc=sin(α)+sin(β)cos(θ)sin(θ)pq.subscriptdSabdelimited-∥∥audelimited-∥∥budelimited-∥∥superscriptpcdelimited-∥∥superscriptqc𝛼𝛽𝜃𝜃delimited-∥∥pq\displaystyle\textbf{d}_{\textbf{S}}(a,b)\leq\lVert au\rVert+\lVert bu\rVert% \leq\lVert p^{\prime}c\rVert+\lVert q^{\prime}c\rVert=\frac{\sin(\alpha)+\sin(% \beta)}{\cos(\theta)\sin(\theta)}\cdot\lVert pq\rVert.d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_a , roman_b ) ≤ ∥ roman_au ∥ + ∥ roman_bu ∥ ≤ ∥ roman_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT roman_c ∥ + ∥ roman_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT roman_c ∥ = divide start_ARG roman_sin ( italic_α ) + roman_sin ( italic_β ) end_ARG start_ARG roman_cos ( italic_θ ) roman_sin ( italic_θ ) end_ARG ⋅ ∥ roman_pq ∥ .

We combine Lemma 4.6 and Lemma 4.8 to obtain a bound on the path length where p𝑝pitalic_p and q𝑞qitalic_q both lie on 00-regions. Note that when two points p𝑝pitalic_p and a𝑎aitalic_a lie on the boundary of the same 0-region, dS(a,p)=0subscriptdSap0\textbf{d}_{\textbf{S}}(a,p)=0d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_a , roman_p ) = 0.

Lemma 4.10.

Let A𝐴Aitalic_A and B𝐵Bitalic_B be two convex 0-regions. Let pqP𝑝𝑞superscript𝑃pq\subseteq P^{*}italic_p italic_q ⊆ italic_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT, where pA𝑝𝐴p\in\partial Aitalic_p ∈ ∂ italic_A and qB𝑞𝐵q\in\partial Bitalic_q ∈ ∂ italic_B. There exists a pair of sample points aA𝑎𝐴a\in Aitalic_a ∈ italic_A and bB𝑏𝐵b\in Bitalic_b ∈ italic_B, such that dS(p,a)+dS(a,b)+dS(b,q)max{(cos(β)/cos(θ)),(sin(α)+sin(β))/(cos(θ)sin(θ))}pqsubscriptdSpasubscriptdSabsubscriptdSbq𝛽𝜃𝛼𝛽𝜃𝜃delimited-∥∥pq\textbf{d}_{\textbf{S}}(p,a)+\textbf{d}_{\textbf{S}}(a,b)+\textbf{d}_{\textbf{% S}}(b,q)\leq\max\{\mathchoice{\frac{\cos(\beta)}{\cos(\theta)}}{(\cos(\beta)/% \cos(\theta))}{(\cos(\beta)/\cos(\theta))}{(\cos(\beta)/\cos(\theta))},(\sin(% \alpha)+\sin(\beta))/(\cos(\theta)\sin(\theta))\}\cdot\lVert pq\rVertd start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_p , roman_a ) + d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_a , roman_b ) + d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_b , roman_q ) ≤ roman_max { ( roman_cos ( italic_β ) / roman_cos ( italic_θ ) ) , ( roman_sin ( italic_α ) + roman_sin ( italic_β ) ) / ( roman_cos ( italic_θ ) roman_sin ( italic_θ ) ) } ⋅ ∥ roman_pq ∥.

4.3.2 Case 2: pq𝑝𝑞pqitalic_p italic_q connects two obstacles

Using Fact 2, we know that if pq𝑝𝑞pqitalic_p italic_q connects two obstacles, then pq𝑝𝑞pqitalic_p italic_q must coincide with a common tangent of A𝐴Aitalic_A and B𝐵Bitalic_B. When two obstacles are close, p𝑝pitalic_p (and q𝑞qitalic_q) may be very far from its adjacent sample points. Hence, we need the tangent sample points when two obstacles are close (connected via a trapezoidal map). We now show that if p𝑝pitalic_p and q𝑞qitalic_q lie on obstacles, an approximate path exists in 𝒢𝒢\mathcal{G}\in\mathcal{B}caligraphic_G ∈ caligraphic_B.

Lemma 4.11.

Let A𝐴Aitalic_A and B𝐵Bitalic_B be two convex obstacles. Let pqP𝑝𝑞superscript𝑃pq\subseteq P^{*}italic_p italic_q ⊆ italic_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT, where pA𝑝𝐴p\in\partial Aitalic_p ∈ ∂ italic_A and qB𝑞𝐵q\in\partial Bitalic_q ∈ ∂ italic_B. There exists a pair of sample points aA𝑎𝐴a\in Aitalic_a ∈ italic_A and bB𝑏𝐵b\in Bitalic_b ∈ italic_B, such that dS(p,a)+dS(a,b)+dS(b,q)(1/cos(θ))pqsubscriptdSpasubscriptdSabsubscriptdSbq1𝜃delimited-∥∥pq\textbf{d}_{\textbf{S}}(p,a)+\textbf{d}_{\textbf{S}}(a,b)+\textbf{d}_{\textbf{% S}}(b,q)\leq\mathchoice{\frac{1}{\cos(\theta)}}{(1/\cos(\theta))}{(1/\cos(% \theta))}{(1/\cos(\theta))}\cdot\lVert pq\rVertd start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_p , roman_a ) + d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_a , roman_b ) + d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_b , roman_q ) ≤ ( 1 / roman_cos ( italic_θ ) ) ⋅ ∥ roman_pq ∥.

Proof 4.12.
Refer to caption
Figure 9: In the left figure, if an obstacle C𝐶Citalic_C overlaps ab𝑎𝑏abitalic_a italic_b and r(a,k)𝑟𝑎𝑘r(a,k)italic_r ( italic_a , italic_k ), then there must exists a point cC𝑐𝐶c\in Citalic_c ∈ italic_C lying in app𝑎𝑝superscript𝑝\triangle{app^{\prime}}△ italic_a italic_p italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. There exists a propagated sample point (red) that is closer to p𝑝pitalic_p than a𝑎aitalic_a is. Otherwise, in the right figure, there exists a convex path P𝑃Pitalic_P (shown in blue) from a𝑎aitalic_a to b𝑏bitalic_b, and Pdelimited-∥∥𝑃\lVert P\rVert∥ italic_P ∥ is at most au+ubdelimited-∥∥𝑎𝑢delimited-∥∥𝑢𝑏\lVert au\rVert+\lVert ub\rVert∥ italic_a italic_u ∥ + ∥ italic_u italic_b ∥.

We first observe that if A𝐴Aitalic_A and B𝐵Bitalic_B are connected using the trapezoidal map, then both tangent sample points p𝑝pitalic_p and q𝑞qitalic_q were added by construction. Clearly, dS(p,q)=pq(1/cos(θ))pqsubscriptdSpqdelimited-∥∥pq1𝜃delimited-∥∥pq\textbf{d}_{\textbf{S}}(p,q)=\lVert pq\rVert\leq(1/\cos(\theta))\cdot\lVert pq\rVertd start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_p , roman_q ) = ∥ roman_pq ∥ ≤ ( 1 / roman_cos ( italic_θ ) ) ⋅ ∥ roman_pq ∥. Therefore, we consider the scenario when A𝐴Aitalic_A and B𝐵Bitalic_B are not connected using the trapezoidal map. Without loss of generality, let pq𝑝𝑞pqitalic_p italic_q lie on the y𝑦yitalic_y-axis with y(q)>y(p)𝑦𝑞𝑦𝑝y(q)>y(p)italic_y ( italic_q ) > italic_y ( italic_p ), and let pq𝑝𝑞pqitalic_p italic_q lie between r(p,k)𝑟𝑝𝑘r(p,k)italic_r ( italic_p , italic_k ) and r(p,k+1)𝑟𝑝𝑘1r(p,k+1)italic_r ( italic_p , italic_k + 1 ).

If both A𝐴Aitalic_A and B𝐵Bitalic_B lie on the same side of the line through pq𝑝𝑞pqitalic_p italic_q, we assume that without loss of generality, they lie on the left side (see Figure 9). Let a𝑎aitalic_a be the closest sample point of p𝑝pitalic_p, and let b𝑏bitalic_b be the closest sample point of q𝑞qitalic_q, such that y(b)<y(q)𝑦𝑏𝑦𝑞y(b)<y(q)italic_y ( italic_b ) < italic_y ( italic_q ) and y(a)>y(p)𝑦𝑎𝑦𝑝y(a)>y(p)italic_y ( italic_a ) > italic_y ( italic_p ). Observe that a𝑎aitalic_a must be above r(p,k+1)𝑟𝑝𝑘1r(p,k+1)italic_r ( italic_p , italic_k + 1 ), and similarly, b𝑏bitalic_b must be below r(q,kθ+π)𝑟𝑞𝑘𝜃𝜋r(q,k\theta+\pi)italic_r ( italic_q , italic_k italic_θ + italic_π ).

Since a𝑎aitalic_a is the closest sample point to p𝑝pitalic_p and b𝑏bitalic_b is the closest sample point of q𝑞qitalic_q, we have that dS(p,a)=pasubscriptdSpadelimited-∥∥pa\textbf{d}_{\textbf{S}}(p,a)=\lVert pa\rVertd start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_p , roman_a ) = ∥ roman_pa ∥ and dS(b,q)=bqsubscriptdSbqdelimited-∥∥bq\textbf{d}_{\textbf{S}}(b,q)=\lVert bq\rVertd start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_b , roman_q ) = ∥ roman_bq ∥. If ab𝑎𝑏abitalic_a italic_b overlaps no obstacles, dS(a,b)absubscriptdSabdelimited-∥∥ab\textbf{d}_{\textbf{S}}(a,b)\leq\lVert ab\rVertd start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_a , roman_b ) ≤ ∥ roman_ab ∥. Since we do not need to take a detour from a𝑎aitalic_a to b𝑏bitalic_b, it is sufficient to find an upperbound on pa+ab+bqdelimited-∥∥𝑝𝑎delimited-∥∥𝑎𝑏delimited-∥∥𝑏𝑞\lVert pa\rVert+\lVert ab\rVert+\lVert bq\rVert∥ italic_p italic_a ∥ + ∥ italic_a italic_b ∥ + ∥ italic_b italic_q ∥. Therefore, we focus on the worse case where ab𝑎𝑏abitalic_a italic_b overlaps at least one obstacle. Let u𝑢uitalic_u be the intersection of r(a,k)𝑟𝑎𝑘r(a,k)italic_r ( italic_a , italic_k ) and r(b,(k+1)θ+π)𝑟𝑏𝑘1𝜃𝜋r(b,(k+1)\theta+\pi)italic_r ( italic_b , ( italic_k + 1 ) italic_θ + italic_π ). It remains true that if an obstacle C𝐶Citalic_C overlaps ab𝑎𝑏abitalic_a italic_b and r(a,k)𝑟𝑎𝑘r(a,k)italic_r ( italic_a , italic_k ) simultaneously, there must exist a propagated sample point on A𝐴Aitalic_A that is closer to p𝑝pitalic_p than a𝑎aitalic_a is. Therefore the arguments in Lemma 4.8 apply, and dS(a,b)au+ubsubscriptdSabdelimited-∥∥audelimited-∥∥ub\textbf{d}_{\textbf{S}}(a,b)\leq\lVert au\rVert+\lVert ub\rVertd start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_a , roman_b ) ≤ ∥ roman_au ∥ + ∥ roman_ub ∥.

Refer to caption
Figure 10: In the left figure, dS(a,b)subscriptdSab\textbf{d}_{\textbf{S}}(a,b)d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_a , roman_b ) is maximised when a𝑎aitalic_a and b𝑏bitalic_b lie on pv𝑝𝑣pvitalic_p italic_v and qv𝑞𝑣qvitalic_q italic_v, respectively, and pa+dS(a,b)+qbdelimited-∥∥𝑝𝑎subscriptdSabdelimited-∥∥qb\lVert pa\rVert+\textbf{d}_{\textbf{S}}(a,b)+\lVert qb\rVert∥ italic_p italic_a ∥ + d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_a , roman_b ) + ∥ roman_qb ∥ (red) is at most pv+qvdelimited-∥∥𝑝𝑣delimited-∥∥𝑞𝑣\lVert pv\rVert+\lVert qv\rVert∥ italic_p italic_v ∥ + ∥ italic_q italic_v ∥ (blue). In the right figure, segments with the same color have equal lengths.

Let v𝑣vitalic_v be the intersection of r(p,k+1)𝑟𝑝𝑘1r(p,k+1)italic_r ( italic_p , italic_k + 1 ) and r(q,kθ+π)𝑟𝑞𝑘𝜃𝜋r(q,k\theta+\pi)italic_r ( italic_q , italic_k italic_θ + italic_π ) (see Figure 10, left). We argue that pa+au+ub+bqdelimited-∥∥𝑝𝑎delimited-∥∥𝑎𝑢delimited-∥∥𝑢𝑏delimited-∥∥𝑏𝑞\lVert pa\rVert+\lVert au\rVert+\lVert ub\rVert+\lVert bq\rVert∥ italic_p italic_a ∥ + ∥ italic_a italic_u ∥ + ∥ italic_u italic_b ∥ + ∥ italic_b italic_q ∥ is maximised when a𝑎aitalic_a lies on r(p,k+1)𝑟𝑝𝑘1r(p,k+1)italic_r ( italic_p , italic_k + 1 ) and b𝑏bitalic_b lies on r(q,kθ+π)𝑟𝑞𝑘𝜃𝜋r(q,k\theta+\pi)italic_r ( italic_q , italic_k italic_θ + italic_π ). Then, when both a𝑎aitalic_a and b𝑏bitalic_b lie on their respective rays, we show that the total length pa+au+ub+bqdelimited-∥∥𝑝𝑎delimited-∥∥𝑎𝑢delimited-∥∥𝑢𝑏delimited-∥∥𝑏𝑞\lVert pa\rVert+\lVert au\rVert+\lVert ub\rVert+\lVert bq\rVert∥ italic_p italic_a ∥ + ∥ italic_a italic_u ∥ + ∥ italic_u italic_b ∥ + ∥ italic_b italic_q ∥ is at most pv+qvdelimited-∥∥𝑝𝑣delimited-∥∥𝑞𝑣\lVert pv\rVert+\lVert qv\rVert∥ italic_p italic_v ∥ + ∥ italic_q italic_v ∥. To do this, we partition the latter and show that each partition (or two partitions combined) pays for a segment in the former.

By constructing the sample points, a𝑎aitalic_a and b𝑏bitalic_b must reside in pqv𝑝𝑞𝑣\triangle{pqv}△ italic_p italic_q italic_v. The segment ab𝑎𝑏abitalic_a italic_b must lie between the directions r(k)𝑟𝑘r(k)italic_r ( italic_k ) and r(k+1)𝑟𝑘1r(k+1)italic_r ( italic_k + 1 ), as otherwise, A𝐴Aitalic_A and B𝐵Bitalic_B are connected via the trapezoidal map. As a result, y(b)>y(a)𝑦𝑏𝑦𝑎y(b)>y(a)italic_y ( italic_b ) > italic_y ( italic_a ), and u𝑢uitalic_u is to the right of ab𝑎𝑏abitalic_a italic_b. See Figure 10, right for the following definitions. Let usuperscript𝑢u^{\prime}italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT be the intersection of r(b,kθ+π)𝑟𝑏𝑘𝜃𝜋r(b,k\theta+\pi)italic_r ( italic_b , italic_k italic_θ + italic_π ) and r(a,k+1)𝑟𝑎𝑘1r(a,k+1)italic_r ( italic_a , italic_k + 1 ). Observe that bu=audelimited-∥∥𝑏superscript𝑢delimited-∥∥𝑎𝑢\lVert bu^{\prime}\rVert=\lVert au\rVert∥ italic_b italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ = ∥ italic_a italic_u ∥ and au=budelimited-∥∥𝑎superscript𝑢delimited-∥∥𝑏𝑢\lVert au^{\prime}\rVert=\lVert bu\rVert∥ italic_a italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ = ∥ italic_b italic_u ∥. Let bsuperscript𝑏b^{\prime}italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT (resp. b′′superscript𝑏′′b^{\prime\prime}italic_b start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT) be the intersection of r(b,k+1)𝑟𝑏𝑘1r(b,k+1)italic_r ( italic_b , italic_k + 1 ) (resp. r(a,k+1)𝑟𝑎𝑘1r(a,k+1)italic_r ( italic_a , italic_k + 1 )) and qv𝑞𝑣qvitalic_q italic_v. Both bsuperscript𝑏b^{\prime}italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT and b′′superscript𝑏′′b^{\prime\prime}italic_b start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT are well-defined, since r(b,k+1)𝑟𝑏𝑘1r(b,k+1)italic_r ( italic_b , italic_k + 1 ), r(a,k+1)𝑟𝑎𝑘1r(a,k+1)italic_r ( italic_a , italic_k + 1 ), and r(p,k+1)𝑟𝑝𝑘1r(p,k+1)italic_r ( italic_p , italic_k + 1 ) are parallel. The points asuperscript𝑎a^{\prime}italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT and a′′superscript𝑎′′a^{\prime\prime}italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT are defined similarly.

Using the triangle inequality, we have that qbqb+bbdelimited-∥∥𝑞𝑏delimited-∥∥𝑞superscript𝑏delimited-∥∥𝑏superscript𝑏\lVert qb\rVert\leq\lVert qb^{\prime}\rVert+\lVert bb^{\prime}\rVert∥ italic_q italic_b ∥ ≤ ∥ italic_q italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ + ∥ italic_b italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥. We observe that bb′′=audelimited-∥∥superscript𝑏superscript𝑏′′delimited-∥∥𝑎𝑢\lVert b^{\prime}b^{\prime\prime}\rVert=\lVert au\rVert∥ italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_b start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT ∥ = ∥ italic_a italic_u ∥ and bb=va′′delimited-∥∥𝑏superscript𝑏delimited-∥∥𝑣superscript𝑎′′\lVert bb^{\prime}\rVert=\lVert va^{\prime\prime}\rVert∥ italic_b italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ = ∥ italic_v italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT ∥. Combining the above facts, if we focus on qb+budelimited-∥∥𝑞𝑏delimited-∥∥𝑏𝑢\lVert qb\rVert+\lVert bu\rVert∥ italic_q italic_b ∥ + ∥ italic_b italic_u ∥, we have

qb+budelimited-∥∥𝑞𝑏delimited-∥∥𝑏𝑢\displaystyle\lVert qb\rVert+\lVert bu\rVert∥ italic_q italic_b ∥ + ∥ italic_b italic_u ∥ qb+bb+buabsentdelimited-∥∥𝑞superscript𝑏delimited-∥∥superscript𝑏𝑏delimited-∥∥𝑏𝑢\displaystyle\leq\lVert qb^{\prime}\rVert+\lVert b^{\prime}b\rVert+\lVert bu\rVert≤ ∥ italic_q italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ + ∥ italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_b ∥ + ∥ italic_b italic_u ∥ Triangle inequalityTriangle inequality\displaystyle\triangleright\text{Triangle inequality}▷ Triangle inequality
=qb+av.absentdelimited-∥∥𝑞superscript𝑏delimited-∥∥superscript𝑎𝑣\displaystyle=\lVert qb^{\prime}\rVert+\lVert a^{\prime}v\rVert.= ∥ italic_q italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ + ∥ italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_v ∥ . buav is a parallelogrambuav is a parallelogram\displaystyle\triangleright\text{$\lozenge{b^{\prime}ua^{\prime}v}$ is a parallelogram}▷ ◆ italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_u italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_v is a parallelogram (1)

Similarly,

pa+audelimited-∥∥𝑝𝑎delimited-∥∥𝑎𝑢\displaystyle\lVert pa\rVert+\lVert au\rVert∥ italic_p italic_a ∥ + ∥ italic_a italic_u ∥ pa+aa+aupa+bv.absentdelimited-∥∥𝑝superscript𝑎delimited-∥∥superscript𝑎𝑎delimited-∥∥𝑎𝑢delimited-∥∥𝑝superscript𝑎delimited-∥∥superscript𝑏𝑣\displaystyle\leq\lVert pa^{\prime}\rVert+\lVert a^{\prime}a\rVert+\lVert au% \rVert\leq\lVert pa^{\prime}\rVert+\lVert b^{\prime}v\rVert.≤ ∥ italic_p italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ + ∥ italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_a ∥ + ∥ italic_a italic_u ∥ ≤ ∥ italic_p italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ + ∥ italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_v ∥ . (2)

Combining (1) and (2), and the fact that dS(a,b)au+ubsubscriptdSabdelimited-∥∥audelimited-∥∥ub\textbf{d}_{\textbf{S}}(a,b)\leq\lVert au\rVert+\lVert ub\rVertd start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_a , roman_b ) ≤ ∥ roman_au ∥ + ∥ roman_ub ∥, we have the following.

dS(p,a)+dS(a,b)+dS(b,q)subscriptdSpasubscriptdSabsubscriptdSbq\displaystyle\textbf{d}_{\textbf{S}}(p,a)+\textbf{d}_{\textbf{S}}(a,b)+\textbf% {d}_{\textbf{S}}(b,q)d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_p , roman_a ) + d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_a , roman_b ) + d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_b , roman_q ) pa+au+ub+bqabsentdelimited-∥∥𝑝𝑎delimited-∥∥𝑎𝑢delimited-∥∥𝑢𝑏delimited-∥∥𝑏𝑞\displaystyle\leq\lVert pa\rVert+\lVert au\rVert+\lVert ub\rVert+\lVert bq\rVert≤ ∥ italic_p italic_a ∥ + ∥ italic_a italic_u ∥ + ∥ italic_u italic_b ∥ + ∥ italic_b italic_q ∥
pv+qvabsentdelimited-∥∥𝑝𝑣delimited-∥∥𝑞𝑣\displaystyle\leq\lVert pv\rVert+\lVert qv\rVert≤ ∥ italic_p italic_v ∥ + ∥ italic_q italic_v ∥
sec(θ2)pqabsent𝜃2delimited-∥∥𝑝𝑞\displaystyle\leq\sec\left(\frac{\theta}{2}\right)\cdot\lVert pq\rVert≤ roman_sec ( divide start_ARG italic_θ end_ARG start_ARG 2 end_ARG ) ⋅ ∥ italic_p italic_q ∥ Lemma 4.3Lemma 4.3\displaystyle\triangleright\text{Lemma\leavevmode\nobreak\ \ref{lem:boundary_% over_segment}}▷ Lemma
Refer to caption
Figure 11: In the left figure, if an obstacle C𝐶Citalic_C overlaps ab𝑎𝑏abitalic_a italic_b and r(a,k+1)𝑟𝑎𝑘1r(a,k+1)italic_r ( italic_a , italic_k + 1 ), then a propagated sample point (red) must be closer to p𝑝pitalic_p than a𝑎aitalic_a is. In the right figure, two convex paths (red) can be generated in auua𝑎𝑢subscript𝑢𝑎\triangle{auu_{a}}△ italic_a italic_u italic_u start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT and buub𝑏𝑢subscript𝑢𝑏\triangle{buu_{b}}△ italic_b italic_u italic_u start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT.

Using analogous arguments, if A𝐴Aitalic_A and B𝐵Bitalic_B lie on the opposite sides of pq𝑝𝑞pqitalic_p italic_q (see Figure 11, left), and an obstacle C𝐶Citalic_C overlaps ab𝑎𝑏abitalic_a italic_b, part of C𝐶Citalic_C must lie in either triangle pau𝑝𝑎𝑢\triangle{pau}△ italic_p italic_a italic_u or qbu𝑞𝑏𝑢\triangle{qbu}△ italic_q italic_b italic_u (not both).

Without loss of generality, assume that C𝐶Citalic_C overlaps pau𝑝𝑎𝑢\triangle{pau}△ italic_p italic_a italic_u. If C𝐶Citalic_C additionally overlaps r(a,k+1)𝑟𝑎𝑘1r(a,k+1)italic_r ( italic_a , italic_k + 1 ), a propagated sample point d𝑑ditalic_d is closer to q𝑞qitalic_q than b𝑏bitalic_b, contradicting the assumption that b𝑏bitalic_b is the closest sample point. An analogous argument applies when C𝐶Citalic_C overlaps qbu𝑞𝑏𝑢\triangle{qbu}△ italic_q italic_b italic_u. Therefore if C𝐶Citalic_C overlaps ab𝑎𝑏abitalic_a italic_b, then C𝐶Citalic_C must reside in the either a=auua𝑎𝑎𝑢subscript𝑢𝑎\triangle{a}=\triangle{auu_{a}}△ italic_a = △ italic_a italic_u italic_u start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT or b=buub𝑏𝑏𝑢subscript𝑢𝑏\triangle{b}=\triangle{buu_{b}}△ italic_b = △ italic_b italic_u italic_u start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT, where ubsubscript𝑢𝑏u_{b}italic_u start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT (resp. uasubscript𝑢𝑎u_{a}italic_u start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT) is the intersection of r(b,(k+1)θ+π)𝑟𝑏𝑘1𝜃𝜋r(b,(k+1)\theta+\pi)italic_r ( italic_b , ( italic_k + 1 ) italic_θ + italic_π ) (resp. r(a,k+1)𝑟𝑎𝑘1r(a,k+1)italic_r ( italic_a , italic_k + 1 )) and ab𝑎𝑏abitalic_a italic_b.

We can construct two convex paths Pasubscript𝑃𝑎P_{a}italic_P start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT and Pbsubscript𝑃𝑏P_{b}italic_P start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT (see Figure 11, right); Pasubscript𝑃𝑎P_{a}italic_P start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT resides in a𝑎\triangle{a}△ italic_a and connects a𝑎aitalic_a to u𝑢uitalic_u, and Pbsubscript𝑃𝑏P_{b}italic_P start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT resides in b𝑏\triangle{b}△ italic_b and connects b𝑏bitalic_b to u𝑢uitalic_u. By Lemma 4.3, we have that

dS(a,b)subscriptdSab\displaystyle\textbf{d}_{\textbf{S}}(a,b)d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_a , roman_b ) Pa+Paabsentdelimited-∥∥subscript𝑃𝑎delimited-∥∥subscript𝑃𝑎\displaystyle\leq\lVert P_{a}\rVert+\lVert P_{a}\rVert≤ ∥ italic_P start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT ∥ + ∥ italic_P start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT ∥
aua+uaub+ubb.absentdelimited-∥∥𝑎subscript𝑢𝑎delimited-∥∥subscript𝑢𝑎subscript𝑢𝑏delimited-∥∥subscript𝑢𝑏𝑏\displaystyle\leq\lVert au_{a}\rVert+\lVert u_{a}u_{b}\rVert+\lVert u_{b}b\rVert.≤ ∥ italic_a italic_u start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT ∥ + ∥ italic_u start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT italic_u start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ∥ + ∥ italic_u start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT italic_b ∥ . (1)
Refer to caption
Figure 12: Segments with matching color have equal length. Every segment in {par,aua,uaub,ubb}𝑝subscript𝑎𝑟𝑎subscript𝑢𝑎subscript𝑢𝑎subscript𝑢𝑏subscript𝑢𝑏𝑏\{pa_{r},au_{a},u_{a}u_{b},u_{b}b\}{ italic_p italic_a start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT , italic_a italic_u start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT , italic_u start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT italic_u start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT , italic_u start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT italic_b } can be payed for by either segment(s) on pv𝑝𝑣pvitalic_p italic_v or segment(s) on qv𝑞𝑣qvitalic_q italic_v.

We now upperbound (1). Let v𝑣vitalic_v be the intersection of r(q,kθ+π)𝑟𝑞𝑘𝜃𝜋r(q,k\theta+\pi)italic_r ( italic_q , italic_k italic_θ + italic_π ) and r(p,kθ+2β)𝑟𝑝𝑘𝜃2𝛽r(p,k\theta+2\beta)italic_r ( italic_p , italic_k italic_θ + 2 italic_β ) (see Figure 12). Let point arsubscript𝑎𝑟a_{r}italic_a start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT be the reflection of a𝑎aitalic_a along pq𝑝𝑞pqitalic_p italic_q. Observe that since a𝑎aitalic_a is above r(p,kθ)𝑟𝑝𝑘𝜃r(p,k\theta)italic_r ( italic_p , italic_k italic_θ ), arsubscript𝑎𝑟a_{r}italic_a start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT must be above r(p,kθ+2β)𝑟𝑝𝑘𝜃2𝛽r(p,k\theta+2\beta)italic_r ( italic_p , italic_k italic_θ + 2 italic_β ), and par=padelimited-∥∥𝑝subscript𝑎𝑟delimited-∥∥𝑝𝑎\lVert pa_{r}\rVert=\lVert pa\rVert∥ italic_p italic_a start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ∥ = ∥ italic_p italic_a ∥. Let asuperscript𝑎a^{\prime}italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT (resp. bsuperscript𝑏b^{\prime}italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT) be the intersection of r(ar,kθ+π)𝑟subscript𝑎𝑟𝑘𝜃𝜋r(a_{r},k\theta+\pi)italic_r ( italic_a start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT , italic_k italic_θ + italic_π ) (resp. r(b,kθ+2β)𝑟𝑏𝑘𝜃2𝛽r(b,k\theta+2\beta)italic_r ( italic_b , italic_k italic_θ + 2 italic_β ).

Using an analogous charging argument, we have that

aua+uaub+ubbpv+qv1cos(β)pq.delimited-∥∥𝑎subscript𝑢𝑎delimited-∥∥subscript𝑢𝑎subscript𝑢𝑏delimited-∥∥subscript𝑢𝑏𝑏delimited-∥∥𝑝𝑣delimited-∥∥𝑞𝑣1𝛽delimited-∥∥𝑝𝑞\displaystyle\lVert au_{a}\rVert+\lVert u_{a}u_{b}\rVert+\lVert u_{b}b\rVert% \leq\lVert pv\rVert+\lVert qv\rVert\leq\frac{1}{\cos(\beta)}\cdot\lVert pq\rVert.∥ italic_a italic_u start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT ∥ + ∥ italic_u start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT italic_u start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ∥ + ∥ italic_u start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT italic_b ∥ ≤ ∥ italic_p italic_v ∥ + ∥ italic_q italic_v ∥ ≤ divide start_ARG 1 end_ARG start_ARG roman_cos ( italic_β ) end_ARG ⋅ ∥ italic_p italic_q ∥ .

Combining with the bound on dS(a,b)subscriptdSab\textbf{d}_{\textbf{S}}(a,b)d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_a , roman_b ) in the case that a𝑎aitalic_a and b𝑏bitalic_b lie on the same side of pq𝑝𝑞pqitalic_p italic_q, we have that

dS(p,a)+dS(a,b)+dS(b,q)subscriptdSpasubscriptdSabsubscriptdSbq\displaystyle\textbf{d}_{\textbf{S}}(p,a)+\textbf{d}_{\textbf{S}}(a,b)+\textbf% {d}_{\textbf{S}}(b,q)d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_p , roman_a ) + d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_a , roman_b ) + d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_b , roman_q ) =pa+dS(a,b)+bqabsentdelimited-∥∥𝑝𝑎subscriptdSabdelimited-∥∥bq\displaystyle=\lVert pa\rVert+\textbf{d}_{\textbf{S}}(a,b)+\lVert bq\rVert= ∥ italic_p italic_a ∥ + d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_a , roman_b ) + ∥ roman_bq ∥
max{sec(θ2),1cos(β)}pq1cos(θ)pqabsent𝜃21𝛽delimited-∥∥𝑝𝑞1𝜃delimited-∥∥𝑝𝑞\displaystyle\leq\max\left\{\sec\left(\frac{\theta}{2}\right),\frac{1}{\cos(% \beta)}\right\}\cdot\lVert pq\rVert\leq\frac{1}{\cos(\theta)}\cdot\lVert pq\rVert≤ roman_max { roman_sec ( divide start_ARG italic_θ end_ARG start_ARG 2 end_ARG ) , divide start_ARG 1 end_ARG start_ARG roman_cos ( italic_β ) end_ARG } ⋅ ∥ italic_p italic_q ∥ ≤ divide start_ARG 1 end_ARG start_ARG roman_cos ( italic_θ ) end_ARG ⋅ ∥ italic_p italic_q ∥

4.3.3 Case 3: pq𝑝𝑞pqitalic_p italic_q connects a 0-region and an obstacle

In this section, we prove that if pq𝑝𝑞pqitalic_p italic_q connects an obstacle A𝐴Aitalic_A and a 00-region B𝐵Bitalic_B, there is a path P𝑃Pitalic_P that approximate pq𝑝𝑞pqitalic_p italic_q.

Lemma 4.13.

Let A𝐴Aitalic_A be a convex obstacle and let B𝐵Bitalic_B be a convex 00-region. Let pqP𝑝𝑞superscript𝑃pq\subseteq P^{*}italic_p italic_q ⊆ italic_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT, where pA𝑝𝐴p\in\partial Aitalic_p ∈ ∂ italic_A and qB𝑞𝐵q\in\partial Bitalic_q ∈ ∂ italic_B. There exists a pair of sample points aA𝑎𝐴a\in Aitalic_a ∈ italic_A and bB𝑏𝐵b\in Bitalic_b ∈ italic_B, such that dS(p,a)+dS(a,b)+dS(b,q)(cos(β)/cos(θ))pqsubscriptdSpasubscriptdSabsubscriptdSbq𝛽𝜃delimited-∥∥pq\textbf{d}_{\textbf{S}}(p,a)+\textbf{d}_{\textbf{S}}(a,b)+\textbf{d}_{\textbf{% S}}(b,q)\leq\mathchoice{\frac{\cos(\beta)}{\cos(\theta)}}{(\cos(\beta)/\cos(% \theta))}{(\cos(\beta)/\cos(\theta))}{(\cos(\beta)/\cos(\theta))}\cdot\lVert pq\rVertd start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_p , roman_a ) + d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_a , roman_b ) + d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_b , roman_q ) ≤ ( roman_cos ( italic_β ) / roman_cos ( italic_θ ) ) ⋅ ∥ roman_pq ∥.

Proof 4.14.
Refer to caption
Figure 13: In the left figure, ab𝑎𝑏abitalic_a italic_b is parallel to the direction r(k)𝑟𝑘r(k)italic_r ( italic_k ). An obstacle C𝐶Citalic_C overlapping ab𝑎𝑏abitalic_a italic_b generates a propagated sample point vsuperscript𝑣v^{\prime}italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT (red) closer to q𝑞qitalic_q than b𝑏bitalic_b. In the right figure, pa+abdelimited-∥∥𝑝𝑎delimited-∥∥𝑎𝑏\lVert pa\rVert+\lVert ab\rVert∥ italic_p italic_a ∥ + ∥ italic_a italic_b ∥ is at most pqdelimited-∥∥𝑝superscript𝑞\lVert pq^{\prime}\rVert∥ italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ since ab𝑎𝑏abitalic_a italic_b (red) is at most as long as ac𝑎𝑐acitalic_a italic_c (blue), and pa+acpqdelimited-∥∥𝑝𝑎delimited-∥∥𝑎𝑐delimited-∥∥𝑝superscript𝑞\lVert pa\rVert+\lVert ac\rVert\leq\lVert pq^{\prime}\rVert∥ italic_p italic_a ∥ + ∥ italic_a italic_c ∥ ≤ ∥ italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥.

Let pq𝑝𝑞pqitalic_p italic_q be aligned with the y𝑦yitalic_y-axis, such that y(q)>y(p)𝑦𝑞𝑦𝑝y(q)>y(p)italic_y ( italic_q ) > italic_y ( italic_p ). If pq𝑝𝑞pqitalic_p italic_q is in some direction r(k)𝑟𝑘r(k)italic_r ( italic_k ), then both p𝑝pitalic_p and q𝑞qitalic_q are sample points, and (p,q)𝑝𝑞(p,q)\in\mathcal{E}( italic_p , italic_q ) ∈ caligraphic_E. Therefore, we consider the case where pq𝑝𝑞pqitalic_p italic_q is between direction r(k)𝑟𝑘r(k)italic_r ( italic_k ) and r(k+1)𝑟𝑘1r(k+1)italic_r ( italic_k + 1 ). Let β𝛽\betaitalic_β (resp. α𝛼\alphaitalic_α) be the acute angle between r(p,k)𝑟𝑝𝑘r(p,k)italic_r ( italic_p , italic_k ) (resp. r(p,k+1)𝑟𝑝𝑘1r(p,k+1)italic_r ( italic_p , italic_k + 1 )) and pq𝑝𝑞pqitalic_p italic_q (see Figure 13).

Let aA𝑎𝐴a\in\partial Aitalic_a ∈ ∂ italic_A be the first sample point in a counter-clockwise order after p𝑝pitalic_p. Let bB𝑏𝐵b\in\partial Bitalic_b ∈ ∂ italic_B be the first sample point in a clockwise order after q𝑞qitalic_q. Let qsuperscript𝑞q^{\prime}italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT be the intersection of r(p,k+1)𝑟𝑝𝑘1r(p,k+1)italic_r ( italic_p , italic_k + 1 ) and r(q,kθ+π/2)𝑟𝑞𝑘𝜃𝜋2r(q,k\theta+\pi/2)italic_r ( italic_q , italic_k italic_θ + italic_π / 2 ). By convexity and the placement of our sample points, a𝑎aitalic_a must be above r(p,k+1)𝑟𝑝𝑘1r(p,k+1)italic_r ( italic_p , italic_k + 1 ), and b𝑏bitalic_b must lie below r(q,kθ+π/2)𝑟𝑞𝑘𝜃𝜋2r(q,k\theta+\pi/2)italic_r ( italic_q , italic_k italic_θ + italic_π / 2 ).

If ab𝑎𝑏abitalic_a italic_b is parallel with r(k)𝑟𝑘r(k)italic_r ( italic_k ), then ab𝑎𝑏abitalic_a italic_b cannot overlap any obstacle C𝐶Citalic_C. Otherwise, there exists a sample point vC𝑣𝐶v\in\partial Citalic_v ∈ ∂ italic_C in the direction of r(kθπ/2)𝑟𝑘𝜃𝜋2r(k\theta-\pi/2)italic_r ( italic_k italic_θ - italic_π / 2 ) (see Figure 13, left). Since v𝑣vitalic_v must lie on or to the left of pq𝑝𝑞pqitalic_p italic_q, r(v,k)𝑟𝑣𝑘r(v,k)italic_r ( italic_v , italic_k ) generates a propagated sample point vsuperscript𝑣v^{\prime}italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT on B(b,q)𝐵𝑏𝑞\partial B(b,q)∂ italic_B ( italic_b , italic_q ), and vsuperscript𝑣v^{\prime}italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is closer to q𝑞qitalic_q than b𝑏bitalic_b is, contradicting the assumption that b𝑏bitalic_b is the closest sample point. Therefore, dS(p,a)+dS(a,b)pa+absubscriptdSpasubscriptdSabdelimited-∥∥padelimited-∥∥ab\textbf{d}_{\textbf{S}}(p,a)+\textbf{d}_{\textbf{S}}(a,b)\leq\lVert pa\rVert+% \lVert ab\rVertd start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_p , roman_a ) + d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_a , roman_b ) ≤ ∥ roman_pa ∥ + ∥ roman_ab ∥.

To bound pa+abdelimited-∥∥𝑝𝑎delimited-∥∥𝑎𝑏\lVert pa\rVert+\lVert ab\rVert∥ italic_p italic_a ∥ + ∥ italic_a italic_b ∥, we observe that pa+abdelimited-∥∥𝑝𝑎delimited-∥∥𝑎𝑏\lVert pa\rVert+\lVert ab\rVert∥ italic_p italic_a ∥ + ∥ italic_a italic_b ∥ is maximised when b𝑏bitalic_b lies on r(q,kθ+π/2)𝑟𝑞𝑘𝜃𝜋2r(q,k\theta+\pi/2)italic_r ( italic_q , italic_k italic_θ + italic_π / 2 ) (see Figure 13, right). Let c𝑐citalic_c be the intersection of r(a,k+1)𝑟𝑎𝑘1r(a,k+1)italic_r ( italic_a , italic_k + 1 ) and r(q,kθ+π/2)𝑟𝑞𝑘𝜃𝜋2r(q,k\theta+\pi/2)italic_r ( italic_q , italic_k italic_θ + italic_π / 2 ). Observe that ab𝑎𝑏abitalic_a italic_b is perpendicular to pq𝑝superscript𝑞pq^{\prime}italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. We have that abacdelimited-∥∥𝑎𝑏delimited-∥∥𝑎𝑐\lVert ab\rVert\leq\lVert ac\rVert∥ italic_a italic_b ∥ ≤ ∥ italic_a italic_c ∥, since ab𝑎𝑏abitalic_a italic_b is a leg of the right triangle abc𝑎𝑏𝑐\triangle{abc}△ italic_a italic_b italic_c, and ac𝑎𝑐acitalic_a italic_c is the hypotenuse. Using the arguments in Lemma 4.10, pa+acpq=(cos(β)/cos(θ))pqdelimited-∥∥𝑝𝑎delimited-∥∥𝑎𝑐delimited-∥∥𝑝superscript𝑞𝛽𝜃delimited-∥∥𝑝𝑞\lVert pa\rVert+\lVert ac\rVert\leq\lVert pq^{\prime}\rVert=\mathchoice{\frac{% \cos(\beta)}{\cos(\theta)}}{(\cos(\beta)/\cos(\theta))}{(\cos(\beta)/\cos(% \theta))}{(\cos(\beta)/\cos(\theta))}\cdot\lVert pq\rVert∥ italic_p italic_a ∥ + ∥ italic_a italic_c ∥ ≤ ∥ italic_p italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ = ( roman_cos ( italic_β ) / roman_cos ( italic_θ ) ) ⋅ ∥ italic_p italic_q ∥. We thus have a path from p𝑝pitalic_p to q𝑞qitalic_q via a𝑎aitalic_a and b𝑏bitalic_b of length

pa+ab+dS(b,q)=pa+abpa+acpqcos(β)cos(θ)pq.delimited-∥∥𝑝𝑎delimited-∥∥𝑎𝑏subscriptdSbqdelimited-∥∥padelimited-∥∥abdelimited-∥∥padelimited-∥∥acdelimited-∥∥superscriptpq𝛽𝜃delimited-∥∥pq\displaystyle\lVert pa\rVert+\lVert ab\rVert+\textbf{d}_{\textbf{S}}(b,q)=% \lVert pa\rVert+\lVert ab\rVert\leq\lVert pa\rVert+\lVert ac\rVert\leq\lVert pq% ^{\prime}\rVert\leq\mathchoice{\frac{\cos(\beta)}{\cos(\theta)}}{(\cos(\beta)/% \cos(\theta))}{(\cos(\beta)/\cos(\theta))}{(\cos(\beta)/\cos(\theta))}\cdot% \lVert pq\rVert.∥ italic_p italic_a ∥ + ∥ italic_a italic_b ∥ + d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_b , roman_q ) = ∥ roman_pa ∥ + ∥ roman_ab ∥ ≤ ∥ roman_pa ∥ + ∥ roman_ac ∥ ≤ ∥ roman_pq start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ ≤ divide start_ARG roman_cos ( italic_β ) end_ARG start_ARG roman_cos ( italic_θ ) end_ARG ⋅ ∥ roman_pq ∥ .
Refer to caption
Figure 14: In the left and middle figure, the length of both red paths are upperbounded by the length of the blue path. In the right figure, a′′u>a′′bdelimited-∥∥superscript𝑎′′superscript𝑢delimited-∥∥superscript𝑎′′superscript𝑏\lVert a^{\prime\prime}u^{\prime}\rVert>\lVert a^{\prime\prime}b^{\prime}\rVert∥ italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ > ∥ italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ by construction.

If ab𝑎𝑏abitalic_a italic_b is not parallel with r(k+1)𝑟𝑘1r(k+1)italic_r ( italic_k + 1 ), the ray r(a,k)𝑟𝑎𝑘r(a,k)italic_r ( italic_a , italic_k ) must intersect pq𝑝𝑞pqitalic_p italic_q at some point v𝑣vitalic_v (a𝑎aitalic_a does not propagate to b𝑏bitalic_b). For the same reasons as before, an obstacle overlaps neither r(a,k)𝑟𝑎𝑘r(a,k)italic_r ( italic_a , italic_k ) nor pq𝑝𝑞pqitalic_p italic_q. Let q′′=qsuperscript𝑞′′𝑞q^{\prime\prime}=qitalic_q start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT = italic_q. Consider sliding q′′superscript𝑞′′q^{\prime\prime}italic_q start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT towards a𝑎aitalic_a along the concatenated polygonal chain qvva𝑞𝑣𝑣𝑎qv\circ vaitalic_q italic_v ∘ italic_v italic_a until the ray r(q′′,k+1)𝑟superscript𝑞′′𝑘1r(q^{\prime\prime},k+1)italic_r ( italic_q start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT , italic_k + 1 ) touches b𝑏bitalic_b (see Figure 14). Observe that r(q′′,k+1)𝑟superscript𝑞′′𝑘1r(q^{\prime\prime},k+1)italic_r ( italic_q start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT , italic_k + 1 ) cannot intersect an obstacle during the slide. Indeed, if r(q′′,k+1)𝑟superscript𝑞′′𝑘1r(q^{\prime\prime},k+1)italic_r ( italic_q start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT , italic_k + 1 ) touches an obstacle O𝑂Oitalic_O at point o𝑜oitalic_o, o𝑜oitalic_o must be a sample point with respect to the direction r((k+1)θπ/2)𝑟𝑘1𝜃𝜋2r((k+1)\theta-\pi/2)italic_r ( ( italic_k + 1 ) italic_θ - italic_π / 2 ), and o𝑜oitalic_o propagates to b𝑏bitalic_b with the ray r(o,k+1)𝑟𝑜𝑘1r(o,k+1)italic_r ( italic_o , italic_k + 1 ). Let asuperscript𝑎a^{\prime}italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT (resp. a′′superscript𝑎′′a^{\prime\prime}italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT) be the point on pu𝑝𝑢puitalic_p italic_u such that avsuperscript𝑎𝑣a^{\prime}vitalic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_v (resp. a′′qsuperscript𝑎′′𝑞a^{\prime\prime}qitalic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_q) is parallel to r(k)𝑟𝑘r(k)italic_r ( italic_k ). Let bsuperscript𝑏b^{\prime}italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT be the intersection of r(q′′,k+1)𝑟superscript𝑞′′𝑘1r(q^{\prime\prime},k+1)italic_r ( italic_q start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT , italic_k + 1 ) and a′′qsuperscript𝑎′′𝑞a^{\prime\prime}qitalic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_q. Let b′′superscript𝑏′′b^{\prime\prime}italic_b start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT be the point on a′′qsuperscript𝑎′′𝑞a^{\prime\prime}qitalic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_q such that ab′′𝑎superscript𝑏′′ab^{\prime\prime}italic_a italic_b start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT is parallel to r(k+1)𝑟𝑘1r(k+1)italic_r ( italic_k + 1 ).

When we stop the sliding, either 1) q′′superscript𝑞′′q^{\prime\prime}italic_q start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT is on av𝑎𝑣avitalic_a italic_v, or 2) q′′superscript𝑞′′q^{\prime\prime}italic_q start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT is on qv𝑞𝑣qvitalic_q italic_v (see Figure 14, left and middle, respectively). In order to avoid obstacles, we have to take a detour from a𝑎aitalic_a to b𝑏bitalic_b. In both cases, we argue that the length of the detour is at most pa′′+a′′b+bbdelimited-∥∥𝑝superscript𝑎′′delimited-∥∥superscript𝑎′′superscript𝑏delimited-∥∥superscript𝑏𝑏\lVert pa^{\prime\prime}\rVert+\lVert a^{\prime\prime}b^{\prime}\rVert+\lVert b% ^{\prime}b\rVert∥ italic_p italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT ∥ + ∥ italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ + ∥ italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_b ∥. In case 1, the maximum length of the detour we must take is d1=pa+aq′′+q′′bsubscript𝑑1delimited-∥∥𝑝𝑎delimited-∥∥𝑎superscript𝑞′′delimited-∥∥superscript𝑞′′𝑏d_{1}=\lVert pa\rVert+\lVert aq^{\prime\prime}\rVert+\lVert q^{\prime\prime}b\rVertitalic_d start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = ∥ italic_p italic_a ∥ + ∥ italic_a italic_q start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT ∥ + ∥ italic_q start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_b ∥. We use a charging argument: bb′′delimited-∥∥superscript𝑏superscript𝑏′′\lVert b^{\prime}b^{\prime\prime}\rVert∥ italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_b start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT ∥ pays for aq′′delimited-∥∥𝑎superscript𝑞′′\lVert aq^{\prime\prime}\rVert∥ italic_a italic_q start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT ∥, and aa′′delimited-∥∥superscript𝑎superscript𝑎′′\lVert a^{\prime}a^{\prime\prime}\rVert∥ italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT ∥ pays for bq′′delimited-∥∥superscript𝑏superscript𝑞′′\lVert b^{\prime}q^{\prime\prime}\rVert∥ italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_q start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT ∥. aa=b′′a′′delimited-∥∥𝑎superscript𝑎delimited-∥∥superscript𝑏′′superscript𝑎′′\lVert aa^{\prime}\rVert=\lVert b^{\prime\prime}a^{\prime\prime}\rVert∥ italic_a italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ = ∥ italic_b start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT ∥, and by triangle inequality, papa+aadelimited-∥∥𝑝𝑎delimited-∥∥𝑝superscript𝑎delimited-∥∥superscript𝑎𝑎\lVert pa\rVert\leq\lVert pa^{\prime}\rVert+\lVert a^{\prime}a\rVert∥ italic_p italic_a ∥ ≤ ∥ italic_p italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ + ∥ italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_a ∥. Therefore, d1pa′′+a′′b+bbsubscript𝑑1delimited-∥∥𝑝superscript𝑎′′delimited-∥∥superscript𝑎′′superscript𝑏delimited-∥∥superscript𝑏𝑏d_{1}\leq\lVert pa^{\prime\prime}\rVert+\lVert a^{\prime\prime}b^{\prime}% \rVert+\lVert b^{\prime}b\rVertitalic_d start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ≤ ∥ italic_p italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT ∥ + ∥ italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ + ∥ italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_b ∥.

In case 2, the maximum length of the detour is d2=pa+av+vq′′+q′′bsubscript𝑑2delimited-∥∥𝑝𝑎delimited-∥∥𝑎𝑣delimited-∥∥𝑣superscript𝑞′′delimited-∥∥superscript𝑞′′𝑏d_{2}=\lVert pa\rVert+\lVert av\rVert+\lVert vq^{\prime\prime}\rVert+\lVert q^% {\prime\prime}b\rVertitalic_d start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = ∥ italic_p italic_a ∥ + ∥ italic_a italic_v ∥ + ∥ italic_v italic_q start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT ∥ + ∥ italic_q start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_b ∥. Let v′′superscript𝑣′′v^{\prime\prime}italic_v start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT be the point on pu𝑝𝑢puitalic_p italic_u such that v′′q′′superscript𝑣′′superscript𝑞′′v^{\prime\prime}q^{\prime\prime}italic_v start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_q start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT is parallel to r(k)𝑟𝑘r(k)italic_r ( italic_k ). Let vsuperscript𝑣v^{\prime}italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT be the intersection of r(v,k+1)𝑟𝑣𝑘1r(v,k+1)italic_r ( italic_v , italic_k + 1 ) and v′′q′′superscript𝑣′′superscript𝑞′′v^{\prime\prime}q^{\prime\prime}italic_v start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_q start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT. Let c𝑐citalic_c be the point on bb′′superscript𝑏superscript𝑏′′b^{\prime}b^{\prime\prime}italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_b start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT such that vc𝑣𝑐vcitalic_v italic_c is parallel to r(k+1)𝑟𝑘1r(k+1)italic_r ( italic_k + 1 ). Using analogous argument, a′′v′′delimited-∥∥superscript𝑎′′superscript𝑣′′\lVert a^{\prime\prime}v^{\prime\prime}\rVert∥ italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_v start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT ∥ pays for bq′′delimited-∥∥superscript𝑏superscript𝑞′′\lVert b^{\prime}q^{\prime\prime}\rVert∥ italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_q start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT ∥, and b′′v′′delimited-∥∥superscript𝑏′′superscript𝑣′′\lVert b^{\prime\prime}v^{\prime\prime}\rVert∥ italic_b start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_v start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT ∥ pays for avdelimited-∥∥𝑎𝑣\lVert av\rVert∥ italic_a italic_v ∥. By triangle inequality, a′′b′′+padelimited-∥∥superscript𝑎′′superscript𝑏′′delimited-∥∥𝑝superscript𝑎\lVert a^{\prime\prime}b^{\prime\prime}\rVert+\lVert pa^{\prime}\rVert∥ italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_b start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT ∥ + ∥ italic_p italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ pays for apdelimited-∥∥𝑎𝑝\lVert ap\rVert∥ italic_a italic_p ∥, and bv′′+av′′delimited-∥∥superscript𝑏superscript𝑣′′delimited-∥∥superscript𝑎superscript𝑣′′\lVert b^{\prime}v^{\prime\prime}\rVert+\lVert a^{\prime}v^{\prime\prime}\rVert∥ italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_v start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT ∥ + ∥ italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_v start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT ∥ pays for vq′′delimited-∥∥𝑣superscript𝑞′′\lVert vq^{\prime\prime}\rVert∥ italic_v italic_q start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT ∥. For both cases, we have that

pa+dS(a,b)pa′′+a′′b+bb.delimited-∥∥𝑝𝑎subscriptdSabdelimited-∥∥superscriptpa′′delimited-∥∥superscripta′′superscriptbdelimited-∥∥superscriptbb\displaystyle\lVert pa\rVert+\textbf{d}_{\textbf{S}}(a,b)\leq\lVert pa^{\prime% \prime}\rVert+\lVert a^{\prime\prime}b^{\prime}\rVert+\lVert b^{\prime}b\rVert.∥ italic_p italic_a ∥ + d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_a , roman_b ) ≤ ∥ roman_pa start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT ∥ + ∥ roman_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT roman_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ + ∥ roman_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT roman_b ∥ . (1)

Next, we argue that pa′′+a′′b+bbdelimited-∥∥𝑝superscript𝑎′′delimited-∥∥superscript𝑎′′superscript𝑏delimited-∥∥superscript𝑏𝑏\lVert pa^{\prime\prime}\rVert+\lVert a^{\prime\prime}b^{\prime}\rVert+\lVert b% ^{\prime}b\rVert∥ italic_p italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT ∥ + ∥ italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ + ∥ italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_b ∥ is at most pudelimited-∥∥𝑝𝑢\lVert pu\rVert∥ italic_p italic_u ∥ (see Figure 14, right). Let usuperscript𝑢u^{\prime}italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT be the point on pu𝑝𝑢puitalic_p italic_u such that busuperscript𝑏superscript𝑢b^{\prime}u^{\prime}italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is parallel to qu𝑞𝑢quitalic_q italic_u. By construction, pu𝑝𝑢puitalic_p italic_u is parallel to r(kθ+π/2)𝑟𝑘𝜃𝜋2r(k\theta+\pi/2)italic_r ( italic_k italic_θ + italic_π / 2 ), and a′′bsuperscript𝑎′′superscript𝑏a^{\prime\prime}b^{\prime}italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is parallel to r(kθ)𝑟𝑘𝜃r(k\theta)italic_r ( italic_k italic_θ ). The triangle bua′′superscript𝑏superscript𝑢superscript𝑎′′\triangle{b^{\prime}u^{\prime}a^{\prime\prime}}△ italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT is therefore a right triangle with a′′usuperscript𝑎′′superscript𝑢a^{\prime\prime}u^{\prime}italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT as the hypotenuse. bb=uudelimited-∥∥𝑏superscript𝑏delimited-∥∥𝑢superscript𝑢\lVert bb^{\prime}\rVert=\lVert uu^{\prime}\rVert∥ italic_b italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ = ∥ italic_u italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥, and therefore we have that

pa′′+a′′b+bb<pa′′+a′′u+uu=pu.delimited-∥∥𝑝superscript𝑎′′delimited-∥∥superscript𝑎′′superscript𝑏delimited-∥∥superscript𝑏𝑏delimited-∥∥𝑝superscript𝑎′′delimited-∥∥superscript𝑎′′superscript𝑢delimited-∥∥superscript𝑢𝑢delimited-∥∥𝑝𝑢\displaystyle\lVert pa^{\prime\prime}\rVert+\lVert a^{\prime\prime}b^{\prime}% \rVert+\lVert b^{\prime}b\rVert<\lVert pa^{\prime\prime}\rVert+\lVert a^{% \prime\prime}u^{\prime}\rVert+\lVert u^{\prime}u\rVert=\lVert pu\rVert.∥ italic_p italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT ∥ + ∥ italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ + ∥ italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_b ∥ < ∥ italic_p italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT ∥ + ∥ italic_a start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ + ∥ italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_u ∥ = ∥ italic_p italic_u ∥ . (2)

Combining (1), (2), Lemma 2.2, and the fact that bq𝑏𝑞bqitalic_b italic_q lies in a 0-region, we complete the proof with the following.

dS(p,a)+dS(a,b)+dS(b,q)=pa+dS(a,b)pucos(β)cos(θ)pqsubscriptdSpasubscriptdSabsubscriptdSbqdelimited-∥∥pasubscriptdSabdelimited-∥∥pu𝛽𝜃delimited-∥∥pq\displaystyle\textbf{d}_{\textbf{S}}(p,a)+\textbf{d}_{\textbf{S}}(a,b)+\textbf% {d}_{\textbf{S}}(b,q)=\lVert pa\rVert+\textbf{d}_{\textbf{S}}(a,b)\leq\lVert pu% \rVert\leq\mathchoice{\frac{\cos(\beta)}{\cos(\theta)}}{(\cos(\beta)/\cos(% \theta))}{(\cos(\beta)/\cos(\theta))}{(\cos(\beta)/\cos(\theta))}\cdot\lVert pq\rVertd start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_p , roman_a ) + d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_a , roman_b ) + d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_b , roman_q ) = ∥ roman_pa ∥ + d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_a , roman_b ) ≤ ∥ roman_pu ∥ ≤ divide start_ARG roman_cos ( italic_β ) end_ARG start_ARG roman_cos ( italic_θ ) end_ARG ⋅ ∥ roman_pq ∥

4.4 The quality of the path

In Lemma 4.10, 4.11, and 4.13, we have shown that for every segment pq𝑝𝑞pqitalic_p italic_q in Case 1-3 in Fact 2, either there exists a path P𝑃P\subseteq\mathcal{E}italic_P ⊆ caligraphic_E such that w(P)wP\textbf{w}(P)w ( roman_P ) approximates pqdelimited-∥∥𝑝𝑞\lVert pq\rVert∥ italic_p italic_q ∥, or there exist two sample points a𝑎aitalic_a and b𝑏bitalic_b such that dS(p,a)+dS(a,b)+dS(b,q)subscriptdSpasubscriptdSabsubscriptdSbq\textbf{d}_{\textbf{S}}(p,a)+\textbf{d}_{\textbf{S}}(a,b)+\textbf{d}_{\textbf{% S}}(b,q)d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_p , roman_a ) + d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_a , roman_b ) + d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_b , roman_q ) approximates pqdelimited-∥∥𝑝𝑞\lVert pq\rVert∥ italic_p italic_q ∥. Taking the maximum ratio in the three lemmas, we have the following.

dS(p,a)+dS(a,b)+dS(b,q)subscriptdSpasubscriptdSabsubscriptdSbq\displaystyle\textbf{d}_{\textbf{S}}(p,a)+\textbf{d}_{\textbf{S}}(a,b)+\textbf% {d}_{\textbf{S}}(b,q)d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_p , roman_a ) + d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_a , roman_b ) + d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_b , roman_q ) max{cos(β)cos(θ),1cos(θ),sin(α)+sin(β)cos(θ)sin(θ)}pqabsent𝛽𝜃1𝜃𝛼𝛽𝜃𝜃delimited-∥∥𝑝𝑞\displaystyle\leq\max\left\{\mathchoice{\frac{\cos(\beta)}{\cos(\theta)}}{(% \cos(\beta)/\cos(\theta))}{(\cos(\beta)/\cos(\theta))}{(\cos(\beta)/\cos(% \theta))},\mathchoice{\frac{1}{\cos(\theta)}}{(1/\cos(\theta))}{(1/\cos(\theta% ))}{(1/\cos(\theta))},\frac{\sin(\alpha)+\sin(\beta)}{\cos(\theta)\sin(\theta)% }\right\}\cdot\lVert pq\rVert≤ roman_max { divide start_ARG roman_cos ( italic_β ) end_ARG start_ARG roman_cos ( italic_θ ) end_ARG , divide start_ARG 1 end_ARG start_ARG roman_cos ( italic_θ ) end_ARG , divide start_ARG roman_sin ( italic_α ) + roman_sin ( italic_β ) end_ARG start_ARG roman_cos ( italic_θ ) roman_sin ( italic_θ ) end_ARG } ⋅ ∥ italic_p italic_q ∥
2sin(θ2)cos(θ)sin(θ)pqabsent2𝜃2𝜃𝜃delimited-∥∥𝑝𝑞\displaystyle\leq\frac{2\sin(\frac{\theta}{2})}{\cos(\theta)\sin(\theta)}\cdot% \lVert pq\rVert≤ divide start_ARG 2 roman_sin ( divide start_ARG italic_θ end_ARG start_ARG 2 end_ARG ) end_ARG start_ARG roman_cos ( italic_θ ) roman_sin ( italic_θ ) end_ARG ⋅ ∥ italic_p italic_q ∥

For a Case 4 segment A(p,q)𝐴𝑝𝑞\partial A(p,q)∂ italic_A ( italic_p , italic_q ), where both p𝑝pitalic_p and q𝑞qitalic_q lies on the obstacle A𝐴Aitalic_A, assume without loss of generality that p𝑝pitalic_p occurs before q𝑞qitalic_q in Psuperscript𝑃P^{*}italic_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT, and let pq=A(p,q)𝑝𝑞𝐴𝑝𝑞pq=\partial A(p,q)italic_p italic_q = ∂ italic_A ( italic_p , italic_q ).

If A(p,q)𝐴𝑝𝑞\partial A(p,q)∂ italic_A ( italic_p , italic_q ) contains no sample point, then assume that the optimal path uses segment ppsuperscript𝑝𝑝p^{\prime}pitalic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_p to reach A𝐴Aitalic_A, and qq𝑞superscript𝑞qq^{\prime}italic_q italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT to leave A𝐴Aitalic_A. We argue that there exists an approximate path P𝑃Pitalic_P that approximates pp+A(p,q)+qqdelimited-∥∥superscript𝑝𝑝delimited-∥∥𝐴𝑝𝑞delimited-∥∥𝑞superscript𝑞\lVert p^{\prime}p\rVert+\lVert\partial A(p,q)\rVert+\lVert qq^{\prime}\rVert∥ italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_p ∥ + ∥ ∂ italic_A ( italic_p , italic_q ) ∥ + ∥ italic_q italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥. Let a𝑎aitalic_a (resp. b𝑏bitalic_b) be the closest sample point to p𝑝pitalic_p (resp. q𝑞qitalic_q), such that A(p,q)A(a,b)𝐴𝑝𝑞𝐴𝑎𝑏\partial A(p,q)\subseteq\partial A(a,b)∂ italic_A ( italic_p , italic_q ) ⊆ ∂ italic_A ( italic_a , italic_b ). In Lemma 4.10, 4.11, and 4.13, we have payed for a path Ppsubscript𝑃𝑝P_{p}\subseteq\mathcal{E}italic_P start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ⊆ caligraphic_E from psuperscript𝑝p^{\prime}italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT to p𝑝pitalic_p though a𝑎aitalic_a and a path Pqsubscript𝑃𝑞P_{q}\subseteq\mathcal{E}italic_P start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT ⊆ caligraphic_E from q𝑞qitalic_q to qsuperscript𝑞q^{\prime}italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT through b𝑏bitalic_b. Since there is no sample point on A(p,q)𝐴𝑝𝑞\partial A(p,q)∂ italic_A ( italic_p , italic_q ), instead of going from a𝑎aitalic_a to p𝑝pitalic_p and q𝑞qitalic_q to b𝑏bitalic_b, we take the path ab𝑎𝑏abitalic_a italic_b directly. The unused cost of dS(a,p)subscriptdSap\textbf{d}_{\textbf{S}}(a,p)d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_a , roman_p ) and dS(q,b)subscriptdSqb\textbf{d}_{\textbf{S}}(q,b)d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_q , roman_b ) pays for abdelimited-∥∥𝑎𝑏\lVert ab\rVert∥ italic_a italic_b ∥.

Let psubscript𝑝perpendicular-top_{\perp}italic_p start_POSTSUBSCRIPT ⟂ end_POSTSUBSCRIPT (resp. qsubscript𝑞perpendicular-toq_{\perp}italic_q start_POSTSUBSCRIPT ⟂ end_POSTSUBSCRIPT) be the orthogonal projection of p𝑝pitalic_p (resp. q𝑞qitalic_q) on ab𝑎𝑏abitalic_a italic_b. Clearly, A(a,p)apdelimited-∥∥𝐴𝑎𝑝delimited-∥∥𝑎subscript𝑝perpendicular-to\lVert\partial A(a,p)\rVert\geq\lVert ap_{\perp}\rVert∥ ∂ italic_A ( italic_a , italic_p ) ∥ ≥ ∥ italic_a italic_p start_POSTSUBSCRIPT ⟂ end_POSTSUBSCRIPT ∥ and A(q,b)bqdelimited-∥∥𝐴𝑞𝑏delimited-∥∥𝑏subscript𝑞perpendicular-to\lVert\partial A(q,b)\rVert\geq\lVert bq_{\perp}\rVert∥ ∂ italic_A ( italic_q , italic_b ) ∥ ≥ ∥ italic_b italic_q start_POSTSUBSCRIPT ⟂ end_POSTSUBSCRIPT ∥. By Lemma 4.3, A(p,q)sec(θ/2)pqdelimited-∥∥𝐴𝑝𝑞𝜃2delimited-∥∥subscript𝑝perpendicular-tosubscript𝑞perpendicular-to\lVert\partial A(p,q)\rVert\leq\mathchoice{\sec(\frac{\theta}{2})}{\sec(\theta% /2)}{\sec(\theta/2)}{\sec(\theta/2)}\cdot\lVert p_{\perp}q_{\perp}\rVert∥ ∂ italic_A ( italic_p , italic_q ) ∥ ≤ roman_sec ( italic_θ / 2 ) ⋅ ∥ italic_p start_POSTSUBSCRIPT ⟂ end_POSTSUBSCRIPT italic_q start_POSTSUBSCRIPT ⟂ end_POSTSUBSCRIPT ∥. Therefore, we connect Ppsubscript𝑃𝑝P_{p}italic_P start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT and Pqsubscript𝑃𝑞P_{q}italic_P start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT using ab𝑎𝑏abitalic_a italic_b to generate a path P𝑃Pitalic_P, and we have that

P2sin(θ2)cos(θ)sin(θ)(pp+A(p,q)+qq).delimited-∥∥𝑃2𝜃2𝜃𝜃delimited-∥∥superscript𝑝𝑝delimited-∥∥𝐴𝑝𝑞delimited-∥∥𝑞superscript𝑞\displaystyle\lVert P\rVert\leq\frac{2\sin(\frac{\theta}{2})}{\cos(\theta)\sin% (\theta)}\cdot(\lVert p^{\prime}p\rVert+\lVert\partial A(p,q)\rVert+\lVert qq^% {\prime}\rVert).∥ italic_P ∥ ≤ divide start_ARG 2 roman_sin ( divide start_ARG italic_θ end_ARG start_ARG 2 end_ARG ) end_ARG start_ARG roman_cos ( italic_θ ) roman_sin ( italic_θ ) end_ARG ⋅ ( ∥ italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_p ∥ + ∥ ∂ italic_A ( italic_p , italic_q ) ∥ + ∥ italic_q italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∥ ) .

If A(p,q)𝐴𝑝𝑞\partial A(p,q)∂ italic_A ( italic_p , italic_q ) contains at least one sample point {a,,b}𝑎𝑏\{a,...,b\}{ italic_a , … , italic_b }, then by Lemma 4.3, we have that

dS(p,a)+dS(a,b)+dS(b,q)sec(θ2)pq.subscriptdSpasubscriptdSabsubscriptdSbq𝜃2delimited-∥∥pq\displaystyle\textbf{d}_{\textbf{S}}(p,a)+\textbf{d}_{\textbf{S}}(a,b)+\textbf% {d}_{\textbf{S}}(b,q)\leq\sec\left(\frac{\theta}{2}\right)\cdot\lVert pq\rVert.d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_p , roman_a ) + d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_a , roman_b ) + d start_POSTSUBSCRIPT S end_POSTSUBSCRIPT ( roman_b , roman_q ) ≤ roman_sec ( divide start_ARG italic_θ end_ARG start_ARG 2 end_ARG ) ⋅ ∥ roman_pq ∥ .

Bose and van Renssen [6] showed that in an environment with polygonal obstacles, a ΘΘ\Thetaroman_Θ-graph has a spanning ratio of at most rθ=1+2sin(θ/2)/(cos(θ/2)sin(θ/2))subscript𝑟𝜃12𝜃2𝜃2𝜃2r_{\theta}=1+2\sin(\theta/2)/(\cos(\theta/2)-\sin(\theta/2))italic_r start_POSTSUBSCRIPT italic_θ end_POSTSUBSCRIPT = 1 + 2 roman_sin ( italic_θ / 2 ) / ( roman_cos ( italic_θ / 2 ) - roman_sin ( italic_θ / 2 ) ). We also need to apply the factor to traverse the boundaries of convex obstacles to account for the difference compared to the boundaries of simplified obstacles, as in Lemma 4.3. We obtain the following bound when θ<π/12𝜃𝜋12\theta<\pi/12italic_θ < italic_π / 12.

2sin(θ2)cos(θ)sin(θ)(1+2sin(θ2)cos(θ2)sin(θ2))2sin(θ2)sin(θ)11sin(2θ)2𝜃2𝜃𝜃12𝜃2𝜃2𝜃22𝜃2𝜃112𝜃\displaystyle\frac{2\sin(\frac{\theta}{2})}{\cos(\theta)\sin(\theta)}\cdot% \left(1+\frac{2\sin(\frac{\theta}{2})}{\cos(\frac{\theta}{2})-\sin(\frac{% \theta}{2})}\right)\cdot\frac{2\sin(\frac{\theta}{2})}{\sin(\theta)}\leq\frac{% 1}{1-\sin(2\theta)}divide start_ARG 2 roman_sin ( divide start_ARG italic_θ end_ARG start_ARG 2 end_ARG ) end_ARG start_ARG roman_cos ( italic_θ ) roman_sin ( italic_θ ) end_ARG ⋅ ( 1 + divide start_ARG 2 roman_sin ( divide start_ARG italic_θ end_ARG start_ARG 2 end_ARG ) end_ARG start_ARG roman_cos ( divide start_ARG italic_θ end_ARG start_ARG 2 end_ARG ) - roman_sin ( divide start_ARG italic_θ end_ARG start_ARG 2 end_ARG ) end_ARG ) ⋅ divide start_ARG 2 roman_sin ( divide start_ARG italic_θ end_ARG start_ARG 2 end_ARG ) end_ARG start_ARG roman_sin ( italic_θ ) end_ARG ≤ divide start_ARG 1 end_ARG start_ARG 1 - roman_sin ( 2 italic_θ ) end_ARG

Given an approximation error 0<ε<10𝜀10<\varepsilon<10 < italic_ε < 1, we compute the parameter 0<θ<π/120𝜃𝜋120<\theta<\pi/120 < italic_θ < italic_π / 12 as the following.

11sin(2θ)1+εθsin1(ε1+ε)2112𝜃1𝜀𝜃superscript1𝜀1𝜀2\displaystyle\frac{1}{1-\sin(2\theta)}\leq 1+\varepsilon\implies\theta\leq% \frac{\sin^{-1}(\frac{\varepsilon}{1+\varepsilon})}{2}divide start_ARG 1 end_ARG start_ARG 1 - roman_sin ( 2 italic_θ ) end_ARG ≤ 1 + italic_ε ⟹ italic_θ ≤ divide start_ARG roman_sin start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ( divide start_ARG italic_ε end_ARG start_ARG 1 + italic_ε end_ARG ) end_ARG start_ARG 2 end_ARG
Lemma 4.15.

In \mathcal{B}caligraphic_B, there exists a path P𝑃P\subseteq\mathcal{E}italic_P ⊆ caligraphic_E between any pair of sample points (a,b)𝑎𝑏(a,b)( italic_a , italic_b ) such that w(P)(1+ε)d(a,b)wP1𝜀dab\textbf{w}(P)\leq(1+\varepsilon)\cdot\textbf{d}(a,b)w ( roman_P ) ≤ ( 1 + italic_ε ) ⋅ d ( roman_a , roman_b ).

4.5 Finding a shortest path amidst 00-regions and obstacles

Given the data structure ={(k)k[0,2π/θ),k}{𝒢,𝒢Θ}conditional-set𝑘formulae-sequencefor-all𝑘02𝜋𝜃𝑘𝒢subscript𝒢Θ\mathcal{B}=\{\mathcal{M}(k)\mid\forall k\in[0,2\pi/\theta),k\in\mathbb{Z}\}% \cup\{\mathcal{G},\mathcal{G}_{\Theta}\}caligraphic_B = { caligraphic_M ( italic_k ) ∣ ∀ italic_k ∈ [ 0 , 2 italic_π / italic_θ ) , italic_k ∈ blackboard_Z } ∪ { caligraphic_G , caligraphic_G start_POSTSUBSCRIPT roman_Θ end_POSTSUBSCRIPT }, a point s𝑠sitalic_s, and a point t𝑡titalic_t, we query the approximate shortest path from s𝑠sitalic_s to t𝑡titalic_t using Algorithm 4.

Algorithm 4 Query s𝑠sitalic_s-t𝑡titalic_t weighted shortest path amidst 0-regions and obstacles

This algorithm takes as input a data structure ={(k)k[0,2π/θ),k}{𝒢,𝒢Θ}conditional-set𝑘formulae-sequencefor-all𝑘02𝜋𝜃𝑘𝒢subscript𝒢Θ\mathcal{B}=\{\mathcal{M}(k)\mid\forall k\in[0,2\pi/\theta),k\in\mathbb{Z}\}% \cup\{\mathcal{G},\mathcal{G}_{\Theta}\}caligraphic_B = { caligraphic_M ( italic_k ) ∣ ∀ italic_k ∈ [ 0 , 2 italic_π / italic_θ ) , italic_k ∈ blackboard_Z } ∪ { caligraphic_G , caligraphic_G start_POSTSUBSCRIPT roman_Θ end_POSTSUBSCRIPT } storing a set of 0-regions and a set of obstacles, a point s𝑠sitalic_s, and a point t𝑡titalic_t. It outputs an (1+ε)1𝜀(1+\varepsilon)( 1 + italic_ε )-approximated weighted shortest path from s𝑠sitalic_s to t𝑡titalic_t. In Step 2 and Step 3, this algorithm shows how to add s𝑠sitalic_s to \mathcal{B}caligraphic_B, and the same operations are used to add t𝑡titalic_t.

  1. 1.

    Add s𝑠sitalic_s and t𝑡titalic_t to 𝒱𝒱\mathcal{V}caligraphic_V.

  2. 2.

    For each trapezoidal map (k)𝑘\mathcal{M}(k)caligraphic_M ( italic_k ), do the following for point s𝑠sitalic_s.

    1. (a)

      Query the face F𝐹Fitalic_F containing s𝑠sitalic_s. Let F𝐹Fitalic_F be adjacent to A𝐴Aitalic_A and B𝐵Bitalic_B, AB𝐴𝐵A\neq Bitalic_A ≠ italic_B.

    2. (b)

      Add the propagated sample points aA𝑎𝐴a\in Aitalic_a ∈ italic_A and bB𝑏𝐵b\in Bitalic_b ∈ italic_B—which are generated by r(s,k)𝑟𝑠𝑘r(s,k)italic_r ( italic_s , italic_k ) and r(s,kθ+π)𝑟𝑠𝑘𝜃𝜋r(s,k\theta+\pi)italic_r ( italic_s , italic_k italic_θ + italic_π ), respectively—to 𝒱𝒱\mathcal{V}caligraphic_V.

    3. (c)

      If A𝐴Aitalic_A is a 00-region, add e=(s,ak(A))𝑒𝑠𝑎𝑘𝐴e=(s,ak(A))italic_e = ( italic_s , italic_a italic_k ( italic_A ) ) and set w(e)=d(s,A)wedsA\textbf{w}(e)=\textbf{d}(s,A)w ( roman_e ) = d ( roman_s , roman_A ). Do the same for B𝐵Bitalic_B.

    4. (d)

      If A𝐴Aitalic_A is an obstacle, add e=(a,s)𝑒𝑎𝑠e=(a,s)italic_e = ( italic_a , italic_s ), and set w(e)=aswedelimited-∥∥as\textbf{w}(e)=\lVert as\rVertw ( roman_e ) = ∥ roman_as ∥. Compute the common tangents T𝑇Titalic_T of s𝑠sitalic_s and A𝐴Aitalic_A. For each common tangent tT𝑡𝑇t\in Titalic_t ∈ italic_T touching A𝐴Aitalic_A at point asuperscript𝑎a^{\prime}italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, add asuperscript𝑎a^{\prime}italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT to 𝒱𝒱\mathcal{V}caligraphic_V. Do the same for B𝐵Bitalic_B.

  3. 3.

    Add s𝑠sitalic_s and the additional sample points generated in Step 2 to 𝒢Θsubscript𝒢Θ\mathcal{G}_{\Theta}caligraphic_G start_POSTSUBSCRIPT roman_Θ end_POSTSUBSCRIPT. For each newly added point ssuperscript𝑠s^{\prime}italic_s start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, using ssuperscript𝑠s^{\prime}italic_s start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT as the apex, we construct a set of disjoint cones with angle θ𝜃\thetaitalic_θ. For each point p𝑝pitalic_p closest to ssuperscript𝑠s^{\prime}italic_s start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT in each cone, add e=(s,p)𝑒superscript𝑠𝑝e=(s^{\prime},p)italic_e = ( italic_s start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_p ) to \mathcal{E}caligraphic_E, and set w(e)=spwedelimited-∥∥superscriptsp\textbf{w}(e)=\lVert s^{\prime}p\rVertw ( roman_e ) = ∥ roman_s start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT roman_p ∥. For every existing vertex p𝒢Θ𝑝subscript𝒢Θp\in\mathcal{G}_{\Theta}italic_p ∈ caligraphic_G start_POSTSUBSCRIPT roman_Θ end_POSTSUBSCRIPT, and every existing edge (p,q)Θ𝑝𝑞subscriptΘ(p,q)\in\mathcal{E}_{\Theta}( italic_p , italic_q ) ∈ caligraphic_E start_POSTSUBSCRIPT roman_Θ end_POSTSUBSCRIPT. If ssuperscript𝑠s^{\prime}italic_s start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is closer to p𝑝pitalic_p than q𝑞qitalic_q is, add e=(s,p)𝑒superscript𝑠𝑝e=(s^{\prime},p)italic_e = ( italic_s start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_p ) to \mathcal{E}caligraphic_E, and set w(e)=spwedelimited-∥∥superscriptsp\textbf{w}(e)=\lVert s^{\prime}p\rVertw ( roman_e ) = ∥ roman_s start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT roman_p ∥.

  4. 4.

    Use Dijkstra’s shortest path algorithm to compute a path Psuperscript𝑃P^{\prime}italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT from s𝑠sitalic_s to t𝑡titalic_t in 𝒢𝒢\mathcal{G}caligraphic_G. Transform Psuperscript𝑃P^{\prime}italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT into a path P𝑃Pitalic_P in the original environment and return P𝑃Pitalic_P.

Using the query algorithm, we treat both s𝑠sitalic_s and t𝑡titalic_t as convex obstacles with no interior. This preserves the properties of the trapezoidal maps and the ΘΘ\Thetaroman_Θ-graph, and enables us to apply the earlier lemmas.

4.5.1 Analysis

We now analyse the query time. In Step 2, we perform a set of operations for each of the O(1/ε)𝑂1𝜀O(1/\varepsilon)italic_O ( 1 / italic_ε ) trapezoidal maps. In Step 2a, it takes O(log(n/ε))𝑂𝑛𝜀O(\log(n/\varepsilon))italic_O ( roman_log ( italic_n / italic_ε ) ) time to find the face containing s𝑠sitalic_s. In Step 2b, it takes O(logN)𝑂𝑁O(\log N)italic_O ( roman_log italic_N ) time to use a binary search to compute the intersection of a ray and a convex boundary with O(N)𝑂𝑁O(N)italic_O ( italic_N ) complexity. In Step 2c, it takes O(logN)𝑂𝑁O(\log N)italic_O ( roman_log italic_N ) time to compute the distance between s𝑠sitalic_s and a convex region using the algorithm by Edelsrunner [15]. In Step 2d, it takes O(logN)𝑂𝑁O(\log N)italic_O ( roman_log italic_N ) time to compute the common tangent using the algorithms by Kirkpatrick and Snoeink [19], and Guibas et al. [18]. In total, Step 2 takes O((log(n/ε)+logN)/ε)𝑂𝑛𝜀𝑁𝜀O((\log(n/\varepsilon)+\log N)/\varepsilon)italic_O ( ( roman_log ( italic_n / italic_ε ) + roman_log italic_N ) / italic_ε ) time.

Inserting s𝑠sitalic_s into \mathcal{B}caligraphic_B generates a constant number of sample points. In Step 3, for each additional sample point ssuperscript𝑠s^{\prime}italic_s start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, it takes O(n/ε3)𝑂𝑛superscript𝜀3O(n/\varepsilon^{3})italic_O ( italic_n / italic_ε start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT ) time to find the closest point of ssuperscript𝑠s^{\prime}italic_s start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT in each cone, and at the same time, check if ssuperscript𝑠s^{\prime}italic_s start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is closest to any point p𝑝pitalic_p. In Step 4, it takes O(||+|𝒱|log|𝒱|)𝑂𝒱𝒱O(|\mathcal{E}|+|\mathcal{V}|\log|\mathcal{V}|)italic_O ( | caligraphic_E | + | caligraphic_V | roman_log | caligraphic_V | ) to run Dijkstra’s shortest path algorithm. There are O(n/ε2)𝑂𝑛superscript𝜀2O(n/\varepsilon^{2})italic_O ( italic_n / italic_ε start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) vertices, and O(n/ε3)𝑂𝑛superscript𝜀3O(n/\varepsilon^{3})italic_O ( italic_n / italic_ε start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT ) edges, therefore Dijkstra’s algorithm takes O(n/ε3+(n/ε2)log(n/ε))𝑂𝑛superscript𝜀3𝑛superscript𝜀2𝑛𝜀O(n/\varepsilon^{3}+(n/\varepsilon^{2})\log(n/\varepsilon))italic_O ( italic_n / italic_ε start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT + ( italic_n / italic_ε start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) roman_log ( italic_n / italic_ε ) ) time to return a path Psuperscript𝑃P^{\prime}italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT comprised of at most O(n/ε3)𝑂𝑛superscript𝜀3O(n/\varepsilon^{3})italic_O ( italic_n / italic_ε start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT ) edges. It takes O(n/ε3+N)𝑂𝑛superscript𝜀3𝑁O(n/\varepsilon^{3}+N)italic_O ( italic_n / italic_ε start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT + italic_N ) time to transform Psuperscript𝑃P^{\prime}italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT into a path P𝑃Pitalic_P in the environment by traversing the boundaries of the regions.

In total, it takes O(N+n/ε3+(n/ε2)log(n/ε)+(logN)/ε)𝑂𝑁𝑛superscript𝜀3𝑛superscript𝜀2𝑛𝜀𝑁𝜀O(N+n/\varepsilon^{3}+(n/\varepsilon^{2})\log(n/\varepsilon)+(\log N)/\varepsilon)italic_O ( italic_N + italic_n / italic_ε start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT + ( italic_n / italic_ε start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) roman_log ( italic_n / italic_ε ) + ( roman_log italic_N ) / italic_ε ) time to query the approximate s𝑠sitalic_s-t𝑡titalic_t shortest path. Combining the above analysis with Lemma 4.2, 4.10, 4.11, and 4.13, we have the following.

See 1.3

References

  • [1] Lyudmil Aleksandrov, Anil Maheshwari, and Jörg-Rüdiger Sack. Approximation algorithms for geometric shortest path problems. In Proceedings of the Thirty-second Annual ACM Symposium on Theory of Computing, pages 286–295, New York, NY, USA, May 2000. Association for Computing Machinery.
  • [2] Lyudmil Aleksandrov, Anil Maheshwari, and Jörg-Rüdiger Sack. Determining approximate shortest paths on weighted polyhedral surfaces. Journal of the ACM, 52(1):25–53, January 2005.
  • [3] Helmut Alt and Michael Godau. Computing the Fréchet distance between two polygonal curves. International Journal of Computational Geometry & Applications, 05:75–91, March 1995.
  • [4] Prosenjit Bose, Jean-Lou de Carufel, Pat Morin, André van Renssen, and Sander Verdonschot. Towards tight bounds on theta-graphs: More is not always better. Theoretical Computer Science, 616:70–93, February 2016.
  • [5] Prosenjit Bose, Guillermo Esteban, David Orden, and Rodrigo I. Silveira. On approximating shortest paths in weighted triangular tessellations. Artificial Intelligence, 318:103898, May 2023.
  • [6] Prosenjit Bose and André van Renssen. Spanning properties of Yao and theta-graphs in the presence of constraints. International Journal of Computational Geometry & Applications, 29(02):95–120, June 2019.
  • [7] Kevin Buchin, Maike Buchin, and Yusu Wang. Exact algorithms for partial curve matching via the Fréchet distance. In Proceedings of the Twentieth Annual ACM-SIAM Symposium on Discrete Algorithms, pages 645–654, USA, January 2009. Society for Industrial and Applied Mathematics.
  • [8] Kevin Buchin, Tim Ophelders, and Bettina Speckmann. SETH says: weak fréchet distance is faster, but only if it is continuous and in one dimension. In Proceedings of the Thirtieth Annual ACM-SIAM Symposium on Discrete Algorithms, pages 2887–2901, USA, January 2019. Society for Industrial and Applied Mathematics.
  • [9] Siu-Wing Cheng, Jiongxin Jin, and Antoine Vigneron. Triangulation Refinement and Approximate Shortest Paths in Weighted Regions. In Proceedings of the 2015 Annual ACM-SIAM Symposium on Discrete Algorithms, Proceedings, pages 1626–1640. Society for Industrial and Applied Mathematics, December 2014.
  • [10] Kenneth L. Clarkson. Approximation algorithms for shortest path motion planning. In Proceedings of the nineteenth annual ACM Symposium on Theory of Computing, pages 56–65, New York, NY, USA, January 1987. Association for Computing Machinery.
  • [11] Mark de Berg, Otfried Cheong, Marc van Kreveld, and Mark Overmars. Computational Geometry: Algorithms and Applications. Springer, Berlin, Heidelberg, 2008.
  • [12] Sarita de Berg, Guillermo Esteban, Rodrigo I. Silveira, and Frank Staals. Exact solutions to the Weighted Region Problem, February 2024. arXiv:2402.12028 [cs].
  • [13] Jean-Lou de Carufel, Amin Gheibi, Anil Maheshwari, Jörg-Rüdiger Sack, and Christian Scheffer. Similarity of polygonal curves in the presence of outliers. Computational Geometry, 47(5):625–641, July 2014.
  • [14] Jean-Lou de Carufel, Carsten Grimm, Anil Maheshwari, Megan Owen, and Michiel Smid. A note on the unsolvability of the weighted region shortest path problem. Computational Geometry, 47(7):724–727, August 2014.
  • [15] Herbert Edelsbrunner. Computing the extreme distances between two convex polygons. Journal of Algorithms, 6(2):213–224, June 1985.
  • [16] Jeff Erickson. Algorithms. First edition, June 2019.
  • [17] Laxmi P. Gewali, Alex C. Meng, Joseph S. B. Mitchell, and Simeon Ntafos. Path planning in 0/1/infinity weighted regions with applications. In Proceedings of the Fourth Annual Symposium on Computational Geometry, pages 266–278, New York, NY, USA, January 1988. Association for Computing Machinery.
  • [18] Leonidas Guibas, John Hershberger, and Jack Snoeyink. Compact interval trees: a data structure for convex hulls. International Journal of Computational Geometry & Applications, 01(01):1–22, March 1991.
  • [19] David Kirkpatrick and Jack Snoeyink. Computing common tangents without a separating line. In Gerhard Goos, Juris Hartmanis, Jan Leeuwen, Selim G. Akl, Frank Dehne, Jörg-Rüdiger Sack, and Nicola Santoro, editors, Algorithms and Data Structures, volume 955, pages 183–193. Springer Berlin Heidelberg, Berlin, Heidelberg, 1995. Series Title: Lecture Notes in Computer Science.
  • [20] Mark Lanthier, Anil Maheshwari, and Jörg-Rüdiger Sack. Approximating weighted shortest paths on polyhedral surfaces. In Proceedings of the Thirteenth Annual Symposium on Computational Geometry, pages 274–283, New York, NY, USA, August 1997. Association for Computing Machinery.
  • [21] Joseph S. B. Mitchell and Christos H. Papadimitriou. The weighted region problem: finding shortest paths through a weighted planar subdivision. Journal of the ACM, 38(1):18–73, January 1991.
  • [22] Giri Narasimhan and Michiel Smid. Geometric Spanner Network. Cambridge University Press, 2007.
  • [23] Zheng Sun and John H. Reif. On finding approximate optimal paths in weighted regions. Journal of Algorithms, 58(1):1–32, January 2006.
  • [24] Victor Andreevich Toponogov. Differential Geometry of Curves and Surfaces: A Concise Guide. Birkhauser.