1,390 research outputs found

    Simple and Robust Boolean Operations for Triangulated Surfaces

    Full text link
    Boolean operations of geometric models is an essential issue in computational geometry. In this paper, we develop a simple and robust approach to perform Boolean operations on closed and open triangulated surfaces. Our method mainly has two stages: (1) We firstly find out candidate intersected-triangles pairs based on Octree and then compute the inter-section lines for all pairs of triangles with parallel algorithm; (2) We form closed or open intersection-loops, sub-surfaces and sub-blocks quite robustly only according to the cleared and updated topology of meshes while without coordinate computations for geometric enti-ties. A novel technique instead of inside/outside classification is also proposed to distinguish the resulting union, subtraction and intersection. Several examples have been given to illus-trate the effectiveness of our approach.Comment: Novel method for determining Union, Subtraction and Intersectio

    Space-Time Trade-offs for Stack-Based Algorithms

    Get PDF
    In memory-constrained algorithms we have read-only access to the input, and the number of additional variables is limited. In this paper we introduce the compressed stack technique, a method that allows to transform algorithms whose space bottleneck is a stack into memory-constrained algorithms. Given an algorithm \alg\ that runs in O(n) time using Θ(n)\Theta(n) variables, we can modify it so that it runs in O(n2/s)O(n^2/s) time using a workspace of O(s) variables (for any so(logn)s\in o(\log n)) or O(nlogn/logp)O(n\log n/\log p) time using O(plogn/logp)O(p\log n/\log p) variables (for any 2pn2\leq p\leq n). We also show how the technique can be applied to solve various geometric problems, namely computing the convex hull of a simple polygon, a triangulation of a monotone polygon, the shortest path between two points inside a monotone polygon, 1-dimensional pyramid approximation of a 1-dimensional vector, and the visibility profile of a point inside a simple polygon. Our approach exceeds or matches the best-known results for these problems in constant-workspace models (when they exist), and gives the first trade-off between the size of the workspace and running time. To the best of our knowledge, this is the first general framework for obtaining memory-constrained algorithms

    Efficient Geometric Algorithms in the EREW-PRAM

    Get PDF

    Linear-Time Algorithms for Geometric Graphs with Sublinearly Many Edge Crossings

    Full text link
    We provide linear-time algorithms for geometric graphs with sublinearly many crossings. That is, we provide algorithms running in O(n) time on connected geometric graphs having n vertices and k crossings, where k is smaller than n by an iterated logarithmic factor. Specific problems we study include Voronoi diagrams and single-source shortest paths. Our algorithms all run in linear time in the standard comparison-based computational model; hence, we make no assumptions about the distribution or bit complexities of edge weights, nor do we utilize unusual bit-level operations on memory words. Instead, our algorithms are based on a planarization method that "zeroes in" on edge crossings, together with methods for extending planar separator decompositions to geometric graphs with sublinearly many crossings. Incidentally, our planarization algorithm also solves an open computational geometry problem of Chazelle for triangulating a self-intersecting polygonal chain having n segments and k crossings in linear time, for the case when k is sublinear in n by an iterated logarithmic factor.Comment: Expanded version of a paper appearing at the 20th ACM-SIAM Symposium on Discrete Algorithms (SODA09

    Detecting Weakly Simple Polygons

    Full text link
    A closed curve in the plane is weakly simple if it is the limit (in the Fr\'echet metric) of a sequence of simple closed curves. We describe an algorithm to determine whether a closed walk of length n in a simple plane graph is weakly simple in O(n log n) time, improving an earlier O(n^3)-time algorithm of Cortese et al. [Discrete Math. 2009]. As an immediate corollary, we obtain the first efficient algorithm to determine whether an arbitrary n-vertex polygon is weakly simple; our algorithm runs in O(n^2 log n) time. We also describe algorithms that detect weak simplicity in O(n log n) time for two interesting classes of polygons. Finally, we discuss subtle errors in several previously published definitions of weak simplicity.Comment: 25 pages and 13 figures, submitted to SODA 201

    Approximate Euclidean shortest paths in polygonal domains

    Get PDF
    Given a set P\mathcal{P} of hh pairwise disjoint simple polygonal obstacles in R2\mathbb{R}^2 defined with nn vertices, we compute a sketch Ω\Omega of P\mathcal{P} whose size is independent of nn, depending only on hh and the input parameter ϵ\epsilon. We utilize Ω\Omega to compute a (1+ϵ)(1+\epsilon)-approximate geodesic shortest path between the two given points in O(n+h((lgn)+(lgh)1+δ+(1ϵlghϵ)))O(n + h((\lg{n}) + (\lg{h})^{1+\delta} + (\frac{1}{\epsilon}\lg{\frac{h}{\epsilon}}))) time. Here, ϵ\epsilon is a user parameter, and δ\delta is a small positive constant (resulting from the time for triangulating the free space of P\cal P using the algorithm in \cite{journals/ijcga/Bar-YehudaC94}). Moreover, we devise a (2+ϵ)(2+\epsilon)-approximation algorithm to answer two-point Euclidean distance queries for the case of convex polygonal obstacles.Comment: a few updates; accepted to ISAAC 201
    corecore