Quickhull2
Quickhull algorithm for computing the convex hull of a collection of 2D points.
Duplicate points are ignored. If the unique input contains one point, the hull contains that point; if it contains two points, the hull contains both points. Collinear input similarly produces the two endpoints of the hull, ordered from the lower to the upper x-coordinate.