Learn R Programming

rgl (version 0.97.0)

persp3d.deldir: 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

"persp3d"(x, ...) "plot3d"(x, ...) "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.
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.
...
Additional parameters to pass to plot3d.mesh3d and tmesh3d for plotting.

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.

Examples

Run this code
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)
}

Run the code above in your browser using DataLab