5,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

    Faster ASV decomposition for orthogonal polyhedra using the Extreme Vertices Model (EVM)

    Get PDF
    The alternating sum of volumes (ASV) decomposition is a widely used technique for converting a B-Rep into a CSG model. The obtained CSG tree has convex primitives at its leaf nodes, while the contents of its internal nodes alternate between the set union and difference operators. This work first shows that the obtained CSG tree T can also be expressed as the regularized Exclusive-OR operation among all the convex primitives at the leaf nodes of T, regardless the structure and internal nodes of T. This is an important result in the case in which EVM represented orthogonal polyhedra are used because in this model the Exclusive-OR operation runs much faster than set union and difference operations. Therefore this work applies this result to EVM represented orthogonal polyhedra. It also presents experimental results that corroborate the theoretical results and includes some practical uses for the ASV decomposition of orthogonal polyhedra.Postprint (published version

    Relative Convex Hull Determination from Convex Hulls in the Plane

    Full text link
    A new algorithm for the determination of the relative convex hull in the plane of a simple polygon A with respect to another simple polygon B which contains A, is proposed. The relative convex hull is also known as geodesic convex hull, and the problem of its determination in the plane is equivalent to find the shortest curve among all Jordan curves lying in the difference set of B and A and encircling A. Algorithms solving this problem known from Computational Geometry are based on the triangulation or similar decomposition of that difference set. The algorithm presented here does not use such decomposition, but it supposes that A and B are given as ordered sequences of vertices. The algorithm is based on convex hull calculations of A and B and of smaller polygons and polylines, it produces the output list of vertices of the relative convex hull from the sequence of vertices of the convex hull of A.Comment: 15 pages, 4 figures, Conference paper published. We corrected two typing errors in Definition 2: ISI_S has to be defined based on OSO_S, and IEI_E has to be defined based on OEO_E (not just using OO). These errors appeared in the text of the original conference paper, which also contained the pseudocode of an algorithm where ISI_S and IEI_E appeared as correctly define

    Threadable Curves

    Get PDF
    We define a plane curve to be threadable if it can rigidly pass through a point-hole in a line L without otherwise touching L. Threadable curves are in a sense generalizations of monotone curves. We have two main results. The first is a linear-time algorithm for deciding whether a polygonal curve is threadable---O(n) for a curve of n vertices---and if threadable, finding a sequence of rigid motions to thread it through a hole. We also sketch an argument that shows that the threadability of algebraic curves can be decided in time polynomial in the degree of the curve. The second main result is an O(n polylog n)-time algorithm for deciding whether a 3D polygonal curve can thread through hole in a plane in R^3, and if so, providing a description of the rigid motions that achieve the threading.Comment: 16 pages, 12 figures, 12 references. v2: Revised with brief addendum after Mikkel Abrahamsen pointed us to a relevant reference on "sweepable polygons." v3: Major revisio

    Regression Depth and Center Points

    Get PDF
    We show that, for any set of n points in d dimensions, there exists a hyperplane with regression depth at least ceiling(n/(d+1)). as had been conjectured by Rousseeuw and Hubert. Dually, for any arrangement of n hyperplanes in d dimensions there exists a point that cannot escape to infinity without crossing at least ceiling(n/(d+1)) hyperplanes. We also apply our approach to related questions on the existence of partitions of the data into subsets such that a common plane has nonzero regression depth in each subset, and to the computational complexity of regression depth problems.Comment: 14 pages, 3 figure
    • …
    corecore