Description Usage Arguments Details Value Author(s) See Also Examples
This function allows the user to use the mouse to select a region in an RGL scene.
1 2 3 4 | rgl.select3d(button = c("left", "middle", "right"),
dev = cur3d(), subscene = currentSubscene3d(dev))
select3d(...)
selectionFunction3d(proj, region = proj$region)
|
button |
Which button to use for selection. |
dev, subscene |
The rgl device and subscene to work with |
... |
Button argument to pass to |
proj |
An object returned from |
region |
Corners of a rectangular region in the display. |
select3d
and rgl.select3d
select 3-dimensional regions by allowing the
user to use a mouse to draw a rectangle showing
the projection of the region onto the screen. They return
a function which tests points for inclusion in the selected region.
selectionFunction3d
constructs such a test function given
coordinates and current transformation matrices.
If the scene is later moved or rotated, the selected region will remain the same, though no longer corresponding to a rectangle on the screen.
All of these return a function f(x, y, z)
which tests whether each
of the points (x, y, z)
is in the selected region, returning
a logical vector. This function accepts input in a wide
variety of formats as it uses xyz.coords
to interpret its parameters.
Ming Chen / Duncan Murdoch
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | # Allow the user to select some points, and then redraw them
# in a different color
if (interactive()) {
x <- rnorm(1000)
y <- rnorm(1000)
z <- rnorm(1000)
open3d()
points3d(x, y, z)
f <- select3d()
if (!is.null(f)) {
keep <- f(x, y, z)
pop3d()
points3d(x[keep], y[keep], z[keep], color = 'red')
points3d(x[!keep], y[!keep], z[!keep])
}
}
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.