2,020 research outputs found

    Geodesic-Preserving Polygon Simplification

    Full text link
    Polygons are a paramount data structure in computational geometry. While the complexity of many algorithms on simple polygons or polygons with holes depends on the size of the input polygon, the intrinsic complexity of the problems these algorithms solve is often related to the reflex vertices of the polygon. In this paper, we give an easy-to-describe linear-time method to replace an input polygon P\mathcal{P} by a polygon P\mathcal{P}' such that (1) P\mathcal{P}' contains P\mathcal{P}, (2) P\mathcal{P}' has its reflex vertices at the same positions as P\mathcal{P}, and (3) the number of vertices of P\mathcal{P}' is linear in the number of reflex vertices. Since the solutions of numerous problems on polygons (including shortest paths, geodesic hulls, separating point sets, and Voronoi diagrams) are equivalent for both P\mathcal{P} and P\mathcal{P}', our algorithm can be used as a preprocessing step for several algorithms and makes their running time dependent on the number of reflex vertices rather than on the size of P\mathcal{P}

    Query-points visibility constraint minimum link paths in simple polygons

    Full text link
    We study the query version of constrained minimum link paths between two points inside a simple polygon PP with nn vertices such that there is at least one point on the path, visible from a query point. The method is based on partitioning PP into a number of faces of equal link distance from a point, called a link-based shortest path map (SPM). Initially, we solve this problem for two given points ss, tt and a query point qq. Then, the proposed solution is extended to a general case for three arbitrary query points ss, tt and qq. In the former, we propose an algorithm with O(n)O(n) preprocessing time. Extending this approach for the latter case, we develop an algorithm with O(n3)O(n^3) preprocessing time. The link distance of a qq-visiblevisible path between ss, tt as well as the path are provided in time O(logn)O(\log n) and O(m+logn)O(m+\log n), respectively, for the above two cases, where mm is the number of links
    corecore