Flip to Regular Triangulation and Convex Hull

Flip is a simple and local operation to transform one triangulation to another. It makes changes only to some neighboring simplices, without considering any attribute or configuration global in nature to the triangulation. Thanks to this characteristic, several flips can be independently applied to different small, non-overlapping regions of one triangulation. Such operation is favored when designing algorithms for data-parallel, massively multithreaded hardware, such as the GPU. However, most existing flip algorithms are designed to be executed sequentially, and usually need some restrictions on the execution order of flips, making them hard to be adapted to parallel computation. In this paper, we present an in depth study of flip algorithms in low dimensions, with the emphasis on the flexibility of their execution order. In particular, we propose a series of provably correct flip algorithms for regular triangulation and convex hull in 2D and 3D, with implementations for both CPUs and GPUs. Our experiment shows that our GPU implementation for constructing these structures from a given point set achieves up to two orders of magnitude of speedup over other popular single-threaded CPU implementation of existing algorithms.

[1]  Herbert Edelsbrunner,et al.  Simulation of simplicity: a technique to cope with degenerate cases in geometric algorithms , 1988, SCG '88.

[2]  Herbert Edelsbrunner,et al.  Incremental topological flipping works for regular triangulations , 1992, SCG '92.

[3]  B. Joe Three-dimensional triangulations from local transformations , 1989 .

[4]  Pierre Alliez,et al.  CGAL - The Computational Geometry Algorithms Library , 2011 .

[5]  Charles L. Lawson,et al.  Transforming triangulations , 1972, Discret. Math..

[6]  J. D. Loera,et al.  Triangulations: Structures for Algorithms and Applications , 2010 .

[7]  Tiow Seng Tan,et al.  A GPU accelerated algorithm for 3D Delaunay triangulation , 2014, I3D '14.

[8]  Jonathan Richard Shewchuk,et al.  Adaptive Precision Floating-Point Arithmetic and Fast Robust Geometric Predicates , 1997, Discret. Comput. Geom..

[9]  Lyuba Alboul Optimising Triangulated Polyhedral Surfaces with Self-intersections , 2003, IMA Conference on the Mathematics of Surfaces.

[10]  David L. Millman,et al.  Parallel geometric algorithms for multi-core computers , 2009, SCG '09.

[11]  Gary H. Meisters,et al.  POLYGONS HAVE EARS , 1975 .

[12]  Tiow Seng Tan,et al.  Flip-flop: convex hull construction via star-shaped polyhedron in 3D , 2013, I3D '13.

[13]  V. T. Rajan Optimality of the Delaunay triangulation in ℝd , 1994, Discret. Comput. Geom..

[14]  Tiow Seng Tan,et al.  Computing 2D Constrained Delaunay Triangulation Using the GPU , 2013, IEEE Transactions on Visualization and Computer Graphics.

[15]  Michael Ian Shamos,et al.  Computational geometry: an introduction , 1985 .

[16]  Ronald L. Graham,et al.  An Efficient Algorithm for Determining the Convex Hull of a Finite Planar Set , 1972, Inf. Process. Lett..

[17]  F. Santos Non-connected toric Hilbert schemes , 2002, math/0204044.

[18]  V. T. Rajan,et al.  Optimality of the Delaunay triangulation in Rd , 1991, SCG '91.

[19]  P. J. Narayanan,et al.  Fast Two Dimensional Convex Hull on the GPU , 2011, 2011 IEEE Workshops of International Conference on Advanced Information Networking and Applications.