259 research outputs found

    A Nearly Optimal Algorithm for the Geodesic Voronoi Diagram of Points in a Simple Polygon

    Get PDF
    The geodesic Voronoi diagram of m point sites inside a simple polygon of n vertices is a subdivision of the polygon into m cells, one to each site, such that all points in a cell share the same nearest site under the geodesic distance. The best known lower bound for the construction time is Omega(n+m log m), and a matching upper bound is a long-standing open question. The state-of-the-art construction algorithms achieve O((n+m)log (n+m)) and O(n+m log m log^2n) time, which are optimal for m=Omega(n) and m=O(n/(log^3n)), respectively. In this paper, we give a construction algorithm with O(n+m(log m+log^2 n)) time, and it is nearly optimal in the sense that if a single Voronoi vertex can be computed in O(log n) time, then the construction time will become the optimal O(n+m log m). In other words, we reduce the problem of constructing the diagram in the optimal time to the problem of computing a single Voronoi vertex in O(log n) time

    An Optimal Deterministic Algorithm for Geodesic Farthest-Point Voronoi Diagrams in Simple Polygons

    Get PDF
    Given a set S of m point sites in a simple polygon P of n vertices, we consider the problem of computing the geodesic farthest-point Voronoi diagram for S in P. It is known that the problem has an Ω(n + m log m) time lower bound. Previously, a randomized algorithm was proposed [Barba, SoCG 2019] that can solve the problem in O(n + m log m) expected time. The previous best deterministic algorithms solve the problem in O(n log log n + m log m) time [Oh, Barba, and Ahn, SoCG 2016] or in O(n + m log m + m log2 n) time [Oh and Ahn, SoCG 2017]. In this paper, we present a deterministic algorithm of O(n + m log m) time, which is optimal. This answers an open question posed by Mitchell in the Handbook of Computational Geometry two decades ago

    Optimal Algorithm for Geodesic Farthest-Point Voronoi Diagrams

    Get PDF
    Let P be a simple polygon with n vertices. For any two points in P, the geodesic distance between them is the length of the shortest path that connects them among all paths contained in P. Given a set S of m sites being a subset of the vertices of P, we present the first randomized algorithm to compute the geodesic farthest-point Voronoi diagram of S in P running in expected O(n + m) time. That is, a partition of P into cells, at most one cell per site, such that every point in a cell has the same farthest site with respect to the geodesic distance. This algorithm can be extended to run in expected O(n + m log m) time when S is an arbitrary set of m sites contained in P

    Kinetic Geodesic Voronoi Diagrams in a Simple Polygon

    Get PDF
    We study the geodesic Voronoi diagram of a set S of n linearly moving sites inside a static simple polygon P with m vertices. We identify all events where the structure of the Voronoi diagram changes, bound the number of such events, and then develop a kinetic data structure (KDS) that maintains the geodesic Voronoi diagram as the sites move. To this end, we first analyze how often a single bisector, defined by two sites, or a single Voronoi center, defined by three sites, can change. For both these structures we prove that the number of such changes is at most O(m³), and that this is tight in the worst case. Moreover, we develop compact, responsive, local, and efficient kinetic data structures for both structures. Our data structures use linear space and process a worst-case optimal number of events. Our bisector KDS handles each event in O(log m) time, and our Voronoi center handles each event in O(log² m) time. Both structures can be extended to efficiently support updating the movement of the sites as well. Using these data structures as building blocks we obtain a compact KDS for maintaining the full geodesic Voronoi diagram

    L_1 Shortest Path Queries among Polygonal Obstacles in the Plane

    Get PDF
    Given a point s and a set of h pairwise disjoint polygonal obstacles with a total of n vertices in the plane, after the free space is triangulated, we present an O(n+h log h) time and O(n) space algorithm for building a data structure (called shortest path map) of size O(n) such that for any query point t, the length of the L_1 shortest obstacle-avoiding path from s to t can be reported in O(log n) time and the actual path can be found in additional time proportional to the number of edges of the path. Previously, the best algorithm computes such a shortest path map in O(n log n) time and O(n) space. In addition, our techniques also yield an improved algorithm for computing the L_1 geodesic Voronoi diagram of m point sites among the obstacles

    Dynamic Data Structures for k-Nearest Neighbor Queries

    Get PDF
    Our aim is to develop dynamic data structures that support kk-nearest neighbors (kk-NN) queries for a set of nn point sites in the plane in O(f(n)+k)O(f(n) + k) time, where f(n)f(n) is some polylogarithmic function of nn. The key component is a general query algorithm that allows us to find the kk-NN spread over tt substructures simultaneously, thus reducing an O(tk)O(tk) term in the query time to O(k)O(k). Combining this technique with the logarithmic method allows us to turn any static kk-NN data structure into a data structure supporting both efficient insertions and queries. For the fully dynamic case, this technique allows us to recover the deterministic, worst-case, O(log2n/loglogn+k)O(\log^2n/\log\log n +k) query time for the Euclidean distance claimed before, while preserving the polylogarithmic update times. We adapt this data structure to also support fully dynamic \emph{geodesic} kk-NN queries among a set of sites in a simple polygon. For this purpose, we design a shallow cutting based, deletion-only kk-NN data structure. More generally, we obtain a dynamic planar kk-NN data structure for any type of distance functions for which we can build vertical shallow cuttings. We apply all of our methods in the plane for the Euclidean distance, the geodesic distance, and general, constant-complexity, algebraic distance functions

    Metric combinatorics of convex polyhedra: cut loci and nonoverlapping unfoldings

    Full text link
    This paper is a study of the interaction between the combinatorics of boundaries of convex polytopes in arbitrary dimension and their metric geometry. Let S be the boundary of a convex polytope of dimension d+1, or more generally let S be a `convex polyhedral pseudomanifold'. We prove that S has a polyhedral nonoverlapping unfolding into R^d, so the metric space S is obtained from a closed (usually nonconvex) polyhedral ball in R^d by identifying pairs of boundary faces isometrically. Our existence proof exploits geodesic flow away from a source point v in S, which is the exponential map to S from the tangent space at v. We characterize the `cut locus' (the closure of the set of points in S with more than one shortest path to v) as a polyhedral complex in terms of Voronoi diagrams on facets. Analyzing infinitesimal expansion of the wavefront consisting of points at constant distance from v on S produces an algorithmic method for constructing Voronoi diagrams in each facet, and hence the unfolding of S. The algorithm, for which we provide pseudocode, solves the discrete geodesic problem. Its main construction generalizes the source unfolding for boundaries of 3-polytopes into R^2. We present conjectures concerning the number of shortest paths on the boundaries of convex polyhedra, and concerning continuous unfolding of convex polyhedra. We also comment on the intrinsic non-polynomial complexity of nonconvex polyhedral manifolds.Comment: 47 pages; 21 PostScript (.eps) figures, most in colo
    corecore