Computing Shortest Paths among Curved Obstacles in the Plane

Computing Shortest Paths among Curved Obstacles in the Plane
复制标题

计算平面内弯曲障碍物之间的最短路径

DOI:
--
复制
发表时间:
2015
期刊:
TALG
影响因子:
--
通讯作者:
Haitao Wang
Haitao Wang
中科院分区:
--
文献类型:
--
作者:
D. Chen;Haitao Wang

文献摘要

被引文献

相似文献

计算几何中的一个基本问题是计算平面上两点之间的避障欧几里德最短路径。这个问题在多边形障碍物上的情况已经得到了很好的研究。在本文中,我们考虑弯曲障碍物的问题版本,通常建模为<i>样条线</i>。样条线可以看作是用凸弯曲边代替多边形的每条边(多边形是特殊的样条线),并且假设每条弯曲边的组合复杂度为<i>O</i>(1)。给定平面中的两个点 <i>s</i> 和 <i>t</i> 以及一组 <i>s</i>,其中 <i>h</i> 个成对不相交样条线,总共有 <i>n</i> 个顶点,在获得 <i>S</i> 的 <i> 有界度分解</i> 后,我们计算一条最短的 <i>s</i> 到 <i>t</i> 路径,以避免样条线<i>O</i>(<i>n</i> + <i>h</i> log <i>h</i> + <i>k</i>) 时间,其中 <i>k</i> 是对输入几何结构敏感的参数,上限为 <i>O</i>(<i>h</i><sup>2</sup>)。 <i>S</i> 的有界度分解类似于多边形域的三角剖分,可以在 <i>O</i>(<i>n</i> log <i>n</i>) 时间或 <i>O</i>(<i>n</i> + <i>h</i> log <sup>1 + ε</sup><i>h</i>) 时间内计算出任意值ε > 0。特别是,当所有样条都是凸的时,分解可以在 <i>O</i>(<i>n</i> + <i>h</i> log <i>h</i>) 时间内计算,并且 <i>k</i> 与样条之间自由空间中的公切线(称为“自由公切线”)的数量呈线性关系。我们的技术还改进了之前的几个结果: (1) 对于多边形情况(即,当所有样条都是多边形时),最短路径问题先前在 <i>O</i>(<i>n</i> log <i>n</i>) 时间内解决,或在 <i>O</i>(<i>n</i> + <i>h</i><sup>2</sup>log <i>n</i>) 时间内解决。因此,我们的算法改进了 <i>O</i>(<i>n</i> + <i>h</i><sup>2</sup>log <i>n</i>) 时间结果,并且对于足够小的 <i>h</i> 来说比 <i>O</i>(<i>n</i> log <i>n</i>) 时间解决方案更快,例如, <i>h</i>=<i>o</i>(&sqrt;<i>n</i>,log<i>n</i>. (2) 我们的技术为计算具有总共 <i>n</i> 个顶点的 <i>h</i> 成对不相交凸样条线之间的所有自由公切线的基本可见性问题产生了最佳输出敏感算法。我们的算法在 <i>O</i>(<i>n</i> + <i>h</i> log <i>h</i> + <i>k</i>) 时间和 <i>O</i>(<i>n</i>) 工作空间内运行,其中 <i>k</i> 是所有自由公切线的数量。请注意,<i>k</i> = <i>O</i>(<i>h</i><sup>2</sup>)。即使对于所有样条线都是凸多边形的特殊情况,以前解决此可见性问题的最佳算法也需要 <i>O</i>(<i>n</i> + <i>h</i><sup>2</sup>log <i>n</i>) 时间。 (3) 我们改进了之前的工作,计算复杂度为 O(1) 的凸伪盘中两点之间的最短路径。 此外,我们技术的副产品是一个最佳的 <i>O</i>(<i>n</i> + <i>h</i> log <i>h</i>) 时间和 <i>O</i>(<i>n</i>) 空间算法,用于计算一组 <i>h</i> 成对不相交凸样条的 Voronoi 图,总共有 <i>n</i> 个顶点。
A fundamental problem in computational geometry is to compute an obstacle-avoiding Euclidean shortest path between two points in the plane. The case of this problem on polygonal obstacles is well studied. In this article, we consider the problem version on curved obstacles, which are commonly modeled as <i>splinegons</i>. A splinegon can be viewed as replacing each edge of a polygon by a convex curved edge (polygons are special splinegons), and the combinatorial complexity of each curved edge is assumed to be <i>O</i>(1). Given in the plane two points <i>s</i> and <i>t</i> and a set <i>s</i> of <i>h</i> pairwise disjoint splinegons with a total of <i>n</i> vertices, after a <i>bounded degree decomposition</i> of <i>S</i> is obtained, we compute a shortest <i>s</i>-to-<i>t</i> path avoiding the splinegons in <i>O</i>(<i>n</i> + <i>h</i> log <i>h</i> + <i>k</i>) time, where <i>k</i> is a parameter sensitive to the geometric structures of the input and is upper bounded by <i>O</i>(<i>h</i><sup>2</sup>). The bounded degree decomposition of <i>S</i>, which is similar to the triangulation of the polygonal domains, can be computed in <i>O</i>(<i>n</i> log <i>n</i>) time or <i>O</i>(<i>n</i> + <i>h</i> log <sup>1 + ε</sup><i>h</i>) time for any ε > 0. In particular, when all splinegons are convex, the decomposition can be computed in <i>O</i>(<i>n</i> + <i>h</i> log <i>h</i>) time and <i>k</i> is linear to the number of common tangents in the free space (called “free common tangents”) among the splinegons. Our techniques also improve several previous results: (1) For the polygon case (i.e., when all splinegons are polygons), the shortest path problem was previously solved in <i>O</i>(<i>n</i> log <i>n</i>) time, or in <i>O</i>(<i>n</i> + <i>h</i><sup>2</sup>log <i>n</i>) time. Thus, our algorithm improves the <i>O</i>(<i>n</i> + <i>h</i><sup>2</sup>log <i>n</i>) time result, and is faster than the <i>O</i>(<i>n</i> log <i>n</i>) time solution for sufficiently small <i>h</i>, for example, <i>h</i>=<i>o</i>(&sqrt;<i>n</i>,log<i>n</i>. (2) Our techniques produce an optimal output-sensitive algorithm for a basic visibility problem of computing all free common tangents among <i>h</i> pairwise disjoint convex splinegons with a total of <i>n</i> vertices. Our algorithm runs in <i>O</i>(<i>n</i> + <i>h</i> log <i>h</i> + <i>k</i>) time and <i>O</i>(<i>n</i>) working space, where <i>k</i> is the number of all free common tangents. Note that <i>k</i> = <i>O</i>(<i>h</i><sup>2</sup>). Even for the special case where all splinegons are convex <i>polygons</i>, the previously best algorithm for this visibility problem takes <i>O</i>(<i>n</i> + <i>h</i><sup>2</sup>log <i>n</i>) time. (3) We improve the previous work for computing the shortest path between two points among convex pseudodisks of <i>O</i>(1) complexity each. In addition, a by-product of our techniques is an optimal <i>O</i>(<i>n</i> + <i>h</i> log <i>h</i>) time and <i>O</i>(<i>n</i>) space algorithm for computing the Voronoi diagram of a set of <i>h</i> pairwise disjoint convex splinegons with a total of <i>n</i> vertices.