2 research outputs found

    Computing L1 Shortest Paths among Polygonal Obstacles in the Plane

    Full text link
    Given a point ss and a set of hh pairwise disjoint polygonal obstacles of totally nn vertices in the plane, we present a new algorithm for building an L1L_1 shortest path map of size O(n) in O(T)O(T) time and O(n) space such that for any query point tt, the length of the L1L_1 shortest obstacle-avoiding path from ss to tt can be reported in O(logn)O(\log n) time and the actual shortest path can be found in additional time proportional to the number of edges of the path, where TT is the time for triangulating the free space. It is currently known that T=O(n+hlog1+ϵh)T=O(n+h\log^{1+\epsilon}h) for an arbitrarily small constant ϵ>0\epsilon>0. If the triangulation can be done optimally (i.e., T=O(n+hlogh)T=O(n+h\log h)), then our algorithm is optimal. Previously, the best algorithm computes such an L1L_1 shortest path map in O(nlogn)O(n\log n) time and O(n) space. Our techniques can be extended to obtain improved results for other related problems, e.g., computing the L1L_1 geodesic Voronoi diagram for a set of point sites in a polygonal domain, finding shortest paths with fixed orientations, finding approximate Euclidean shortest paths, etc.Comment: 48 pages; 19 figures; partial results appeared in ESA 201

    Computing Shortest Paths among Curved Obstacles in the Plane

    Full text link
    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 paper, we consider the problem version on curved obstacles, commonly modeled as splinegons. A splinegon can be viewed as replacing each edge of a polygon by a convex curved edge (polygons are special splinegons). Each curved edge is assumed to be of O(1) complexity. Given in the plane two points s and t and a set of hh pairwise disjoint splinegons with a total of nn vertices, we compute a shortest s-to-t path avoiding the splinegons, in O(n+hlog1+ϵh+k)O(n+h\log^{1+\epsilon}h+k) time, where k is a parameter sensitive to the structures of the input splinegons and is upper-bounded by O(h2)O(h^2). In particular, when all splinegons are convex, kk is proportional to the number of common tangents in the free space (called "free common tangents") among the splinegons. We develop techniques for solving the problem on the general (non-convex) splinegon domain, which also improve several previous results. In particular, our techniques produce an optimal output-sensitive algorithm for a basic visibility problem of computing all free common tangents among hh pairwise disjoint convex splinegons with a total of nn vertices. Our algorithm runs in O(n+hlogh+k)O(n+h\log h+k) time and O(n)O(n) space, where kk is the number of all free common tangents. Even for the special case where all splinegons are convex polygons, the previously best algorithm for this visibility problem takes O(n+h2logn)O(n+h^2\log n) time.Comment: 45 pages, 21 figures; to appear in TALG; an extended-abstract appeared in SoCG 201
    corecore