persp3d.deldir | R Documentation |
The deldir()
function in the deldir package computes a Delaunay triangulation of a set
of points. These functions display it as a surface.
## 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, ...)
x |
A |
add |
Whether to add surface to existing plot ( |
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 |
texcoords |
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)
}
if (haveDeldir) {
open3d()
# Do it without smoothing and with a different orientation.
persp3d(dxyz, col = col, coords = c("z", "x", "y"), smooth = FALSE)
}
options(save)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.