chull               package:grDevices               R Documentation

Compute Convex Hull of a Set of Points

Description:

     Computes the subset of points which lie on the convex hull of the
     set of points specified.

Usage:

     chull(x, y = NULL)

Arguments:

    x, y: coordinate vectors of points. This can be specified as two
          vectors 'x' and 'y', a 2-column matrix 'x', a list 'x' with
          two components, etc, see 'xy.coords'.

Details:

     'xy.coords' is used to interpret the specification of the points.
     The algorithm is that given by Eddy (1977).

     'Peeling' as used in the S function 'chull' can be implemented by
     calling 'chull' recursively.

Value:

     An integer vector giving the indices of the points lying on the
     convex hull, in clockwise order.

References:

     Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) _The New S
     Language_. Wadsworth & Brooks/Cole.

     Eddy, W. F. (1977) A new convex hull algorithm for planar sets.
     _ACM Transactions on Mathematical Software_, *3*, 398-403.

     Eddy, W. F. (1977) Algorithm 523. CONVEX, A new convex hull
     algorithm for planar sets[Z]. _ACM Transactions on Mathematical
     Software_, *3*, 411-412.

See Also:

     'xy.coords','polygon'

Examples:

     require(stats)
     X <- matrix(rnorm(2000), ncol = 2)
     chull(X)
     ## Not run: 
       # Example usage from graphics package
       plot(X, cex = 0.5)
       hpts <- chull(X)
       hpts <- c(hpts, hpts[1])
       lines(X[hpts, ])
     ## End(Not run)

