convhulln

N-D convex hull

Syntax

K = convhulln(X)
K = convhulln(X, options)
[K, v] = convhulln(...)

Description

K = convhulln(X) returns the indices K of the points in X that comprise the facets of the convex hull of X. X is an m-by-n array representing m points in N-dimensional space. If the convex hull has p facets then K is p-by-n.

convhulln uses Qhull.

K = convhulln(X, options) specifies a cell array of strings options to be used as options in Qhull. The default options are:

  • {'Qt'} for 2-, 3-. and 4-dimensional input

  • {'Qt','Qx'} for 5-dimensional input and higher.

If options is [], the default options are used. If options is {''}, no options are used, not even the default. For more information on Qhull and its options, see http://www.qhull.org/.

[K, v] = convhulln(...) also returns the volume v of the convex hull.

Visualization

Plotting the output of convhulln depends on the value of n:

  • For n = 2, use plot as you would for convhull.

  • For n = 3, you can use trisurf to plot the output. The calling sequence is

    K = convhulln(X);
    trisurf(K,X(:,1),X(:,2),X(:,3))
  • You cannot plot convhulln output for n > 3.

Examples

The following example illustrates the options input for convhulln. The following commands

X = [0 0; 0 1e-10; 0 0; 1 1];
K = convhulln(X)

return a warning.

Warning: qhull precision warning: 
The initial hull is narrow 
(cosine of min. angle is 0.9999999999999998).
A coplanar point may lead to a wide facet. 
Options 'QbB' (scale to unit box) or 'Qbb' 
(scale last coordinate) may remove this warning. 
Use 'Pp' to skip this warning.

To suppress the warning, use the option 'Pp'. The following command passes the option 'Pp', along with the default 'Qt', to convhulln.

K = convhulln(X,{'Qt','Pp'})

K =

     1     4
     1     2
     4     2

More About

expand all

Algorithms

convhulln is based on Qhull [1]. For information about Qhull, see http://www.qhull.org/. For copyright information, see http://www.qhull.org/COPYING.txt.

References

[1] Barber, C. B., D.P. Dobkin, and H.T. Huhdanpaa, "The Quickhull Algorithm for Convex Hulls," ACM Transactions on Mathematical Software, Vol. 22, No. 4, Dec. 1996, p. 469-483.

Was this topic helpful?