376 research outputs found

    An Optimal Algorithm for the Separating Common Tangents of two Polygons

    Get PDF
    We describe an algorithm for computing the separating common tangents of two simple polygons using linear time and only constant workspace. A tangent of a polygon is a line touching the polygon such that all of the polygon lies to the same side of the line. A separating common tangent of two polygons is a tangent of both polygons where the polygons are lying on different sides of the tangent. Each polygon is given as a read-only array of its corners. If a separating common tangent does not exist, the algorithm reports that. Otherwise, two corners defining a separating common tangent are returned. The algorithm is simple and implies an optimal algorithm for deciding if the convex hulls of two polygons are disjoint or not. This was not known to be possible in linear time and constant workspace prior to this paper. An outer common tangent is a tangent of both polygons where the polygons are on the same side of the tangent. In the case where the convex hulls of the polygons are disjoint, we give an algorithm for computing the outer common tangents in linear time using constant workspace.Comment: 12 pages, 6 figures. A preliminary version of this paper appeared at SoCG 201

    Outer Common Tangents and Nesting of Convex Hulls in Linear Time and Constant Workspace

    Get PDF
    We describe the first algorithm to compute the outer common tangents of two disjoint simple polygons using linear time and only constant workspace. A tangent of a polygon is a line touching the polygon such that all of the polygon lies on the same side of the line. An outer common tangent of two polygons is a tangent of both polygons such that the polygons lie on the same side of the tangent. Each polygon is given as a read-only array of its corners in cyclic order. The algorithm detects if an outer common tangent does not exist, which is the case if and only if the convex hull of one of the polygons is contained in the convex hull of the other. Otherwise, two corners defining an outer common tangent are returned

    Partitioning Regular Polygons into Circular Pieces I: Convex Partitions

    Get PDF
    We explore an instance of the question of partitioning a polygon into pieces, each of which is as ``circular'' as possible, in the sense of having an aspect ratio close to 1. The aspect ratio of a polygon is the ratio of the diameters of the smallest circumscribing circle to the largest inscribed disk. The problem is rich even for partitioning regular polygons into convex pieces, the focus of this paper. We show that the optimal (most circular) partition for an equilateral triangle has an infinite number of pieces, with the lower bound approachable to any accuracy desired by a particular finite partition. For pentagons and all regular k-gons, k > 5, the unpartitioned polygon is already optimal. The square presents an interesting intermediate case. Here the one-piece partition is not optimal, but nor is the trivial lower bound approachable. We narrow the optimal ratio to an aspect-ratio gap of 0.01082 with several somewhat intricate partitions.Comment: 21 pages, 25 figure

    An NC1 parallel 3D convex hull algorithm

    Get PDF
    In this paper we present an O(log n) time paridlel algorithm for computing the convex hull of n points in!)?3. This algorithm uses O (nl+a) processors on a CREW PRAM, for any constant O < cr <1. So far, all adequately documented parallel algorithms proposed for this problem use time at least 0(log2! n). In addition, the algorithm presented here is the first parallel algorithm for the three-dimensional convex hull problem that is not based on the serial divide-and-conquer algorithm of Preparat a and Hong, whose crucial operation is the merging of the convex hulls of two linearly separated point sets. The contributions of this paper are therefore (i) an O (log n) time parallel algorithm for the threedimensional convex hull problem, and (ii) a parallel algorithm for this problem that does not follow the traditional divide-and-conquer paradigm.

    Sets of lines and cutting out polyhedral objects

    Get PDF
    AbstractWe study algorithmic questions related to cutting polyhedral shapes with a hot wire cutter. Such cutters are popular manufacturing tools for cutting expanded polystyrene (styrofoam) with a thin, moving heated wire. In particular, we study the question of polyhedral-wise continuity: Can a given object be cut out without disconnecting and then reattaching the wire? In an abstract setting this question translates to properties of sets of lines and segments and therefore becomes suitable for computational geometry techniques. On the combinatorial and algorithmic levels the results and methods are related to two problems: (1) given a set F={f1,…,fk} of polygons and a polygon f, decide if there is a subset of lines in the set of lines not stabbing F that cover f; (2) construct the connectivity graph for free movements of lines that maintain contact with the polyhedral shape. Problem (1) is solved with the dual projection and arrangements of convex and concave x-monotone curves. Problem (2) can be solved with a combination of the skewed projections [6] and hyperbola arrangements proposed by McKenna and O'Rourke [11]. We provide an O(n5) algorithm for constructing a cutting path, if it exists. The complexity of the algorithm is determined by the O(n4) size of the connectivity graph and the cost of solving (2)

    Algorithms for curved schematization

    Get PDF

    On Polygons Excluding Point Sets

    Get PDF
    By a polygonization of a finite point set SS in the plane we understand a simple polygon having SS as the set of its vertices. Let BB and RR be sets of blue and red points, respectively, in the plane such that B∪RB\cup R is in general position, and the convex hull of BB contains kk interior blue points and ll interior red points. Hurtado et al. found sufficient conditions for the existence of a blue polygonization that encloses all red points. We consider the dual question of the existence of a blue polygonization that excludes all red points RR. We show that there is a minimal number K=K(l)K=K(l), which is polynomial in ll, such that one can always find a blue polygonization excluding all red points, whenever k≥Kk\geq K. Some other related problems are also considered.Comment: 14 pages, 15 figure
    • …
    corecore