Flipping is a local and efficient operation to construct the convex hull in an incremental fashion. However, it is known that the traditional flip algorithm is not able to compute the convex hull when applied to a polyhedron in R3. Our novel Flip-Flop algorithm is a variant of the flip algorithm. It overcomes the deficiency of the traditional one to always compute the convex hull of a given star-shaped polyhedron with provable correctness. Applying this to construct convex hull of a point set in R3, we develop ffHull, a flip algorithm that allows nonrestrictive insertion of many vertices before any flipping of edges. This is unlike the well-known incremental fashion of strictly alternating between inserting a single vertex and flipping. The new approach is not only simpler and more efficient for CPU implementation but also maps well to the massively parallel nature of the modern GPU. As shown in our experiments, ffHull running on the CPU is as fast as the best-known convex hull implementation, qHull. As for the GPU, ffHull also outperforms all known prior work. From this, we further obtain the first known solution to computing the 2D regular triangulation on the GPU.
I.3.5 [Computer Graphics]: Computational Geometry and Object Modelling - Geometric algorithms I.3.1 [Computer Graphics]: Hardware Architecture - Graphics processors
Lawson's flip, flipping, regular triangulation, Delaunay triangulation, incremental insertion, GPGPU
Animated Poster (click to navigate)
Paper: flipflop.pdf (625K) in I3D 2013.
See TVCG vol. 23(2), 1056-1069, 2017 for latest update.
Poster: flipflop-poster.pdf (398K)
Video: flipflop.mov (22.5M)
Slides: flipflop.pptx (3.0M)
Thesis: Local Transformation (4.11M)