persp3d.deldir.RdThe deldir() function in the deldir package computes a Delaunay triangulation of a set
of points. These functions display it as a surface.
A "deldir" object, produced by the deldir() function. It must contain z values.
Whether to add surface to existing plot (add = TRUE)
or create a new plot (add = FALSE, the default).
Colors to apply to each vertex in the triangulation. Will be recycled as needed.
See Details below.
Whether to average normals at vertices for a smooth appearance.
User-specified normals at each vertex. Requires smooth = FALSE.
Texture coordinates at each vertex.
See Details below.
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 both as.mesh3d.deldir and persp3d.mesh3d;
in as.mesh3d.deldir they are used as material parameters
in a tmesh3d call.
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)))]
save <- options(rgl.meshColorWarning = FALSE)
# This code is awkward: to work with demo(rglExamples),
# we need auto-printing of the plots. This means we
# have to repeat the test for deldir.
haveDeldir <- checkDeldir()
if (haveDeldir) {
dxyz <- deldir::deldir(x, y, z = z, suppressMsge = TRUE)
persp3d(dxyz, col = col)
}
3D plot
if (haveDeldir) {
open3d()
# Do it without smoothing and with a different orientation.
persp3d(dxyz, col = col, coords = c("z", "x", "y"), smooth = FALSE)
}
3D plot
options(save)