Quickhull is a well known algorithm to calculate the convex hull from a set of points. During a lab course in computational geometry I have implemented the Quickhull algorithm for its application in 3D space and wrote a little demo application.
The calculation of the convex hull is written from scratch and based on the algorithm by Barber et al. "The Quickhull Algorithm for Convex Hulls". It's an iterative algorithm that roughly works as follows:
You can find a more detailed explanation of this particular algorithm in the original paper.
There are a few robust libraries such as CGAL, qhull or the more recent generic boost::geometry library that implement the quickhull algorithm, even for higher dimensions. My demo application implements the convex hull calculation from scratch. However, it was built mainly for documentation purposes and for me experimenting with it. Source code is freely available under MIT license. The demo app is written for Mac OS X 10.6 as I also took the opportunity to test mixing OpenGL with Apple's AppKit using more modern approaches, i.e. GUI overlays using CoreAnimation.
Here is a short guide how to use the demo app:
If you don't have the opportunity to test it yourself on a Mac, checkout this short screen capture video: