A Julia wrapper around a PyCall wrapper around the qhull Convex Hull library
15 Stars
Updated Last
3 Months Ago
Started In
November 2013


Build Status

A Julia wrapper around a PyCall wrapper around scipy.spatial.ConvexHull, which uses the qhull Convex Hull library. It implements the Polyhedral Computation library interface of Polyhedra.jl.

The qhull library for computing the convex hull of data points seems to be the standard and very widely used.

This module is a quick wrapper around a Python wrapper around the library, as suggested by Miles Lubin.


Low-level interface:

using QHull

p = rand(10,2)
ch = chull(p)
ch.points         # original points
ch.vertices       # indices to line segments forming the convex hull
ch.simplices      # the simplexes forming the convex hull

Using Polyhedra.jl:

using Polyhedra
# Constructs a V-representation of 10 random points in 2 dimension
v = vrep(rand(10, 2))

using QHull
# Constructs a polyhedon from this V-representation with the QHull library
p = polyhedron(v, QHull.Library())
# Removing redundant points, i.e. points which are in the interior of the convex hull
# Show remaining points, i.e. the non-redundant ones
@show vrep(p)
# Show the H-representation, the facets describing the polytope
@show hrep(p)