Applications of random sampling in computational geometry, II
Discrete & Computational Geometry - Selected papers from the fourth ACM symposium on computational geometry, Univ. of Illinois, Urbana-Champaign, June 6 8, 1988
Voronoi diagrams—a survey of a fundamental geometric data structure
ACM Computing Surveys (CSUR)
Optimal parallel randomized algorithms for three-dimensional convex hulls and related problems
SIAM Journal on Computing
The quickhull algorithm for convex hulls
ACM Transactions on Mathematical Software (TOMS)
Convex hulls of finite sets of points in two and three dimensions
Communications of the ACM
Coverage for robotics – A survey of recent results
Annals of Mathematics and Artificial Intelligence
Faster output-sensitive parallel algorithms for 3D convex hulls and vector maxima
Journal of Parallel and Distributed Computing
Parallel algorithms for geometric problems
Parallel algorithms for geometric problems
Star splaying: an algorithm for repairing delaunay triangulations and convex hulls
SCG '05 Proceedings of the twenty-first annual symposium on Computational geometry
Parallel algorithms for higher-dimensional convex hulls
SFCS '94 Proceedings of the 35th Annual Symposium on Foundations of Computer Science
gHull: a three-dimensional convex hull algorithm for graphics hardware
I3D '11 Symposium on Interactive 3D Graphics and Games
Editorial: Foreword to special section
Computers and Graphics
SMI 2012: Full GPU accelerated convex hull computation
Computers and Graphics
Flip-flop: convex hull construction via star-shaped polyhedron in 3D
Proceedings of the ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games
gHull: A GPU algorithm for 3D convex hull
ACM Transactions on Mathematical Software (TOMS)
Hi-index | 0.00 |
In this paper, we present a novel parallel algorithm for computing the convex hull of a set of points in 3D using the CUDA programming model. It is based on the QuickHull approach and starts by constructing an initial tetrahedron using four extreme points, discards the internal points, and distributes the external points to the four faces. It then proceeds iteratively. In each iteration, it refines the faces of the polyhedron, discards the internal points, and redistributes the remaining points for each face among its children faces. The refinement of a face is performed by selecting the furthest point from its associated points and generating three children triangles. In each iteration, concave edges are swapped, and concave vertices are removed to maintain convexity. The face refinement procedure is performed on the CPU, because it requires a very small fraction of the execution time (approximately 1%), and the intensive point redistribution is performed in parallel on the GPU. Our implementation outpaced the CPU-based Qhull implementation by 30 times for 10 million points and 40 times for 20 million points.