# How does one use the qhull optional package?

Has anyone used the qhull optional package? I'm not so sure on how to use it. Is there a tutorial on this?

How does one use the qhull optional package?

1

First, you can install it by typing:

```
$ sage -i qhull
```

Then, i do not think that there in an interface with `qhull`

inside Sage. So, you have to use it from a shell, as if you installed it on your OS:

```
$ sage -sh
```

To get help and examples, just type:

```
(sage-sh) user@machine:~$ qhull
```

And then, you can try one of the examples:

```
(sage-sh) user@machine:~$ rbox y 1000 W0 | qhull
Convex hull of 1004 points in 3-d:
Number of vertices: 4
Number of facets: 4
Statistics for: rbox y 1000 W0 | qhull
Number of points processed: 4
Number of hyperplanes created: 5
Number of distance tests for qhull: 11001
CPU seconds to compute hull (after input): 0
```

To get informations about `rbox`

, just type:

```
(sage-sh) user@machine:~$ rbox
```

**EDIT** : `qhull`

is shipped with `scipy`

(and also with `matplotlib`

from version 1.4), so you could benefit from their Cython interface to use `qhull`

features within Sage (Delaunay triangulation, Voronoi tesselation, convex hull), see this page.

0

I'll expand on tmonteil's last comment: there is an interface to qhull included on scipy!

For example, this code computes the hull of a random set of **2D** points:

```
import numpy as np
from scipy.spatial import ConvexHull
points = np.random.rand(30, 2) # 30 random points in 2-D
hull = ConvexHull(points)
```

and this code plots it:

```
my_plot = point2d(points)
for simplex in hull.simplices:
my_plot += line2d([points[v,:] for v in simplex])
my_plot
```

While this code computes the hull of a random set of **3D** points:

```
import numpy as np
from scipy.spatial import ConvexHull
points = np.random.rand(30, 3) # 30 random points in 3-D
hull = ConvexHull(points)
```

and this code plots it:

```
my_plot = point3d(points)
for simplex in hull.simplices:
my_plot += line3d([points[simplex[-1],:]]+[points[v,:] for v in simplex])
my_plot
```

Asked: **
2013-06-18 14:22:00 -0600
**

Seen: **600 times**

Last updated: **Jan 26 '17**

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.

Sorry. Deleted my post. I misread your question about installing, whereas you asked about *using*.