R: Select a rectangle in an RGL scene

select3d {rgl} | R Documentation

## Select a rectangle in an RGL scene

### Description

This function allows the user to use the mouse to select a region in an RGL scene.

### Usage

    rgl.select3d(button = c("left", "middle", "right"))
    select3d(...)

### Arguments

`button` | Which button to use for selection.
`...` | Button argument to pass to `rgl.select3d`

### Details

This function selects 3-dimensional regions by allowing the user to use a mouse to draw a rectangle showing the projection of the region onto the screen. It returns a function which tests points for inclusion in the selected region.

If the scene is later moved or rotated, the selected region will remain the same, no longer corresponding to a rectangle on the screen.

### Value

Returns 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.

### Author(s)

Ming Chen / Duncan Murdoch

### See Also

`selectpoints3d`, `locator`

### Examples

    # 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)
       rgl.pop()
       points3d(x[keep], y[keep], z[keep], color = 'red')
       points3d(x[!keep], y[!keep], z[!keep])
     }
    }

[Package rgl version 0.99.9 Index]