R: Compute smallest convex hull that encloses a set of points
convhulln
R Documentation
Compute smallest convex hull that encloses a set of points
Description
Returns an index matrix to the points of simplices
(“triangles”) that form the smallest convex simplicial
complex of a set of input points in N-dimensional space. This
function interfaces the Qhull library.
Usage
convhulln(p, options = "Tv")
Arguments
p
An n-by-dim matrix. The rows of p represent
n points in dim-dimensional space.
An m-by-dim index matrix of which each row
defines a dim-dimensional “triangle”. The indices
refer to the rows in p. If the option FA is
provided, then the output is a list with entries
hull containing the matrix mentioned above, and area
and vol with the generalised area and volume of the hull
described by the matrix. When applying convhulln to a 3D object,
these have the conventional meanings: vol is the volume of
enclosed by the hull and area is the total area of the
facets comprising the hull's surface. However, in 2D the facets of
the hull are the lines of the perimeter. Thus area is the
length of the perimeter and vol is the area enclosed.
Note
This is a port of the Octave's (http://www.octave.org)
geometry library. The Octave source was written by Kai Habel.
# example convhulln
# ==> see also surf.tri to avoid unwanted messages printed to the console by qhull
ps <- matrix(rnorm(3000), ncol=3) # generate points on a sphere
ps <- sqrt(3)*ps/drop(sqrt((ps^2) %*% rep(1, 3)))
ts.surf <- t(convhulln(ps)) # see the qhull documentations for the options
## Not run:
rgl.triangles(ps[ts.surf,1],ps[ts.surf,2],ps[ts.surf,3],col="blue",alpha=.2)
for(i in 1:(8*360)) rgl.viewpoint(i/8)
## End(Not run)