144 research outputs found

    The Geodesic Edge Center of a Simple Polygon

    Get PDF
    The geodesic edge center of a polygon is a point c inside the polygon that minimizes the maximum geodesic distance from c to any edge of the polygon, where geodesic distance is the shortest path distance inside the polygon. We give a linear-time algorithm to find a geodesic edge center of a simple polygon. This improves on the previous O(n log n) time algorithm by Lubiw and Naredla [European Symposium on Algorithms, 2021]. The algorithm builds on an algorithm to find the geodesic vertex center of a simple polygon due to Pollack, Sharir, and Rote [Discrete & Computational Geometry, 1989] and an improvement to linear time by Ahn, Barba, Bose, De Carufel, Korman, and Oh [Discrete & Computational Geometry, 2016]. The geodesic edge center can easily be found from the geodesic farthest-edge Voronoi diagram of the polygon. Finding that Voronoi diagram in linear time is an open question, although the geodesic nearest edge Voronoi diagram (the medial axis) can be found in linear time. As a first step of our geodesic edge center algorithm, we give a linear-time algorithm to find the geodesic farthest-edge Voronoi diagram restricted to the polygon boundary

    Convex Hulls: Complexity and Applications (a Survey)

    Get PDF
    Computational geometry is, in brief, the study of algorithms for geometric problems. Classical study of geometry and geometric objects, however, is not well-suited to efficient algorithms techniques. Thus, for the given geometric problems, it becomes necessary to identify properties and concepts that lend themselves to efficient computation. The primary focus of this paper will be on one such geometric problems, the Convex Hull problem

    The Visibility Center of a Simple Polygon

    Get PDF
    We introduce the visibility center of a set of points inside a polygon - a point c_V such that the maximum geodesic distance from c_V to see any point in the set is minimized. For a simple polygon of n vertices and a set of m points inside it, we give an O((n+m) log (n+m)) time algorithm to find the visibility center. We find the visibility center of all points in a simple polygon in O(n log n) time. Our algorithm reduces the visibility center problem to the problem of finding the geodesic center of a set of half-polygons inside a polygon, which is of independent interest. We give an O((n+k) log (n+k)) time algorithm for this problem, where k is the number of half-polygons

    I/O-efficient algorithm for constrained Delaunay triangulation with applications to proximity search

    Get PDF
    Master'sMASTER OF SCIENC

    On some geometric optimization problems.

    Get PDF
    An optimization problem is a computational problem in which the objective is to find the best of all possible solutions. A geometric optimization problem is an optimization problem induced by a collection of geometric objects. In this thesis we study two interesting geometric optimization problems. One is the all-farthest-segments problem in which given n points in the plane, we have to report for each point the segment determined by two other points that is farthest from it. The principal motive for studying this problem was to investigate if this problem could be solved with a worst-case time-complexity that is of lower order than O(n 2), which is the time taken by the solution of Duffy et al. (13) for the all-closest version of the same problem. If h be the number of points on the convex hull of the point set, we show how to do this in O(nh + n log n) time. Our solution to this problem has also triggered off research into the hitherto unexplored problem of determining the farthest-segment Voronoi Diagram of a given set of n line segments in the plane, leading to an O(n log n) time solution for the all-farthest-segments problem (12). For the second problem, we have revisited the problem of computing an area-optimal convex polygon stabbing a set of parallel line segments studied earlier by Kumar et al. (30). The primary motive behind this was to inquire if the line of attack used for the parallel-segments version can be extended to the case where the line segments are of arbitrary orientation. We have provided a correctness proof of the algorithm, which was lacking in the above-cited version. Implementation of geometric algorithms are of great help in visualizing the algorithms, we have implemented both the algorithms and trial versions are available at www.davinci.newcs.uwindsor.ca/ ∼asishm.Dept. of Computer Science. Paper copy at Leddy Library: Theses & Major Papers - Basement, West Bldg. / Call Number: Thesis2006 .C438. Source: Masters Abstracts International, Volume: 45-01, page: 0349. Thesis (M.Sc.)--University of Windsor (Canada), 2006

    Algorithms for Geometric Facility Location: Centers in a Polygon and Dispersion on a Line

    Get PDF
    We study three geometric facility location problems in this thesis. First, we consider the dispersion problem in one dimension. We are given an ordered list of (possibly overlapping) intervals on a line. We wish to choose exactly one point from each interval such that their left to right ordering on the line matches the input order. The aim is to choose the points so that the distance between the closest pair of points is maximized, i.e., they must be socially distanced while respecting the order. We give a new linear-time algorithm for this problem that produces a lexicographically optimal solution. We also consider some generalizations of this problem. For the next two problems, the domain of interest is a simple polygon with n vertices. The second problem concerns the visibility center. The convention is to think of a polygon as the top view of a building (or art gallery) where the polygon boundary represents opaque walls. Two points in the domain are visible to each other if the line segment joining them does not intersect the polygon exterior. The distance to visibility from a source point to a target point is the minimum geodesic distance from the source to a point in the polygon visible to the target. The question is: Where should a single guard be located within the polygon to minimize the maximum distance to visibility? For m point sites in the polygon, we give an O((m + n) log (m + n)) time algorithm to determine their visibility center. Finally, we address the problem of locating the geodesic edge center of a simple polygon—a point in the polygon that minimizes the maximum geodesic distance to any edge. For a triangle, this point coincides with its incenter. The geodesic edge center is a generalization of the well-studied geodesic center (a point that minimizes the maximum distance to any vertex). Center problems are closely related to farthest Voronoi diagrams, which are well- studied for point sites in the plane, and less well-studied for line segment sites in the plane. When the domain is a polygon rather than the whole plane, only the case of point sites has been addressed—surprisingly, more general sites (with line segments being the simplest example) have been largely ignored. En route to our solution, we revisit, correct, and generalize (sometimes in a non-trivial manner) existing algorithms and structures tailored to work specifically for point sites. We give an optimal linear-time algorithm for finding the geodesic edge center of a simple polygon

    In pursuit of linear complexity in discrete and computational geometry

    Get PDF
    Many computational problems arise naturally from geometric data. In this thesis, we consider three such problems: (i) distance optimization problems over point sets, (ii) computing contour trees over simplicial meshes, and (iii) bounding the expected complexity of weighted Voronoi diagrams. While these topics are broad, here the focus is on identifying structure which implies linear (or near linear) algorithmic and descriptive complexity. The first topic we consider is in geometric optimization. More specifically, we define a large class of distance problems, for which we provide linear time exact or approximate solutions. Roughly speaking, the class of problems facilitate either clustering together close points (i.e. netting) or throwing out outliers (i.e pruning), allowing for successively smaller summaries of the relevant information in the input. A surprising number of classical geometric optimization problems are unified under this framework, including finding the optimal k-center clustering, the kth ranked distance, the kth heaviest edge of the MST, the minimum radius ball enclosing k points, and many others. In several cases we get the first known linear time approximation algorithm for a given problem, where our approximation ratio matches that of previous work. The second topic we investigate is contour trees, a fundamental structure in computational topology. Contour trees give a compact summary of the evolution of level sets on a mesh, and are typically used on massive data sets. Previous algorithms for computing contour trees took Θ(n log n) time and were worst-case optimal. Here we provide an algorithm whose running time lies between Θ(nα(n)) and Θ(n log n), and varies depending on the shape of the tree, where α(n) is the inverse Ackermann function. In particular, this is the first algorithm with O(nα(n)) running time on instances with balanced contour trees. Our algorithmic results are complemented by lower bounds indicating that, up to a factor of α(n), on all instance types our algorithm performs optimally. For the final topic, we consider the descriptive complexity of weighted Voronoi diagrams. Such diagrams have quadratic (or higher) worst-case complexity, however, as was the case for contour trees, here we push beyond worst-case analysis. A new diagram, called the candidate diagram, is introduced, which allows us to bound the complexity of weighted Voronoi diagrams arising from a particular probabilistic input model. Specifically, we assume weights are randomly permuted among fixed Voronoi sites, an assumption which is weaker than the more typical sampled locations assumption. Under this assumption, the expected complexity is shown to be near linear
    corecore