R: Plot a Delaunay triangulation.

persp3d.deldir {rgl} | R Documentation

## Plot a Delaunay triangulation.

### Description

The `deldir()` function in the deldir package computes a Delaunay triangulation of a set of points. These functions display it as a surface.

### Usage

    ## S3 method for class 'deldir'
    plot3d(x, ...)
    ## S3 method for class 'deldir'
    persp3d(x, ..., add = FALSE)
    ## S3 method for class 'deldir'
    as.mesh3d(x, col = "gray", coords = c("x", "y", "z"),
        smooth = TRUE, normals = NULL, texcoords = NULL, ...)

### Arguments

`x` | A `"deldir"` object, produced by the `deldir()` function. It must contain `z` values.
`add` | Whether to add surface to existing plot (`add = TRUE`) or create a new plot (`add = FALSE`, the default).
`col` | Colors to apply to each vertex in the triangulation. Will be recycled as needed.
`coords` | See Details below.
`smooth` | Whether to average normals at vertices for a smooth appearance.
`normals` | User-specified normals at each vertex. Requires `smooth = FALSE`.
`texcoords` | Texture coordinates at each vertex.
`...` | See Details below.

### Details

These functions construct a `mesh3d` object corresponding to the triangulation in `x`. The `plot3d` and `persp3d` methods plot it.

The `coords` parameter allows surfaces to be plotted over any coordinate plane. It should be a permutation of the column names `c("x", "y", "z")` from the `"deldir"` object. The first will be used as the x coordinate, the second as the y coordinate, and the third as the z coordinate.

The `...` parameters in `plot3d.deldir` are passed to `persp3d.deldir`; in `persp3d.deldir` they are passed to `as.mesh3d.deldir`; in `as.mesh3d.deldir` they are used as material parameters in a `tmesh3d` call.

### Examples

    x <- rnorm(200, sd = 5)
    y <- rnorm(200, sd = 5)
    r <- sqrt(x^2 + y^2)
    z <- 10 * sin(r)/r
    col <- cm.colors(20)[1 + round(19*(z - min(z))/diff(range(z)))]
    if (requireNamespace("deldir", quietly = TRUE)) {
      dxyz <- deldir::deldir(x, y, z = z, suppressMsge = TRUE)
      persp3d(dxyz, col = col)
      open3d()
      # Do it without smoothing and with a different orientation.
      persp3d(dxyz, col = col, coords = c("z", "x", "y"), smooth = FALSE)
    }

[Package rgl version 0.99.9 Index]