R: Compute Convex Hull of a Set of Points

chull {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)

[Package grDevices version 2.8.1 Index]