The Quickhull Algorithm for Convex Hulls

The Quickhull Algorithm for Convex Hulls

December 1996 | C. BRADFORD BARBER, DAVID P. DOBKIN, HANNU HUHDANPAA
The Quickhull Algorithm is a practical convex hull algorithm that combines the two-dimensional Quickhull Algorithm with the general-dimension Beneath-Beyond Algorithm. It is similar to randomized, incremental algorithms for convex hulls and Delaunay triangulation. The algorithm is efficient, using less memory and running faster for inputs with nonextreme points. It is designed to handle high-dimensional data and is robust to floating-point errors. The algorithm works by processing points in a specific order, using a simplified version of the Beneath-Beyond Theorem to determine visible facets. It creates new facets from visible facets and processes the furthest point of each outside set. The algorithm is implemented with floating-point arithmetic and includes methods to repair geometric errors, such as merging nonconvex facets. The output is a set of "thick" facets that contain all possible exact convex hulls of the input. The algorithm has been tested and shown to perform well in comparison to randomized incremental algorithms, especially in terms of speed and memory usage. It has been implemented for general dimensions and is available as a software package called qhull, which computes convex hulls, Delaunay triangulations, Voronoi diagrams, and halfspace intersections. The algorithm has been used in various applications, including support structures in layered manufacturing, molecular classification, geographic information systems, and robot navigation. The algorithm is robust to imprecise data and arithmetic, and it has been shown to produce accurate results even in high-dimensional spaces. The algorithm is efficient and has been proven to have optimal expected performance for certain input distributions.The Quickhull Algorithm is a practical convex hull algorithm that combines the two-dimensional Quickhull Algorithm with the general-dimension Beneath-Beyond Algorithm. It is similar to randomized, incremental algorithms for convex hulls and Delaunay triangulation. The algorithm is efficient, using less memory and running faster for inputs with nonextreme points. It is designed to handle high-dimensional data and is robust to floating-point errors. The algorithm works by processing points in a specific order, using a simplified version of the Beneath-Beyond Theorem to determine visible facets. It creates new facets from visible facets and processes the furthest point of each outside set. The algorithm is implemented with floating-point arithmetic and includes methods to repair geometric errors, such as merging nonconvex facets. The output is a set of "thick" facets that contain all possible exact convex hulls of the input. The algorithm has been tested and shown to perform well in comparison to randomized incremental algorithms, especially in terms of speed and memory usage. It has been implemented for general dimensions and is available as a software package called qhull, which computes convex hulls, Delaunay triangulations, Voronoi diagrams, and halfspace intersections. The algorithm has been used in various applications, including support structures in layered manufacturing, molecular classification, geographic information systems, and robot navigation. The algorithm is robust to imprecise data and arithmetic, and it has been shown to produce accurate results even in high-dimensional spaces. The algorithm is efficient and has been proven to have optimal expected performance for certain input distributions.
Reach us at info@study.space