View source: R/rglcontroller.R
| vertexControl | R Documentation |
This is a function to produce actions in a web display. A
playwidget or Shiny
input control (e.g. a sliderInput control)
sets a value which controls attributes of a selection of vertices.
vertexControl(value = 0, values = NULL, vertices = 1, attributes,
objid = tagged3d(tag), tag,
param = seq_len(NROW(values)) - 1, interp = TRUE)
value |
The value to use for input (typically |
values |
A matrix of values, each row corresponding to an input value. |
vertices |
Which vertices are being controlled? Specify |
attributes |
A vector of attributes of a vertex,
from |
objid |
A single RGL object id. |
tag |
An alternate way to specify |
param |
Parameter values corresponding to each row of |
interp |
Whether to interpolate between rows of |
This function
modifies attributes of vertices in a single
object. The attributes are properties of each vertex
in a scene; not all are applicable to all objects. In order,
they are: coordinates of the vertex "x", "y", "z", color
of the vertex "red", "green", "blue", "alpha", normal at the vertex
"nx", "ny", "nz", radius of a sphere at the vertex
"radius", origin within a texture "ox", "oy" and
perhaps "oz", texture coordinates "ts", "tt".
Planes are handled specially. The coefficients a, b, c
in the planes3d or clipplanes3d
specification are controlled
using "nx", "ny", "nz", and d is handled as
"offset". The vertices argument is interpreted
as the indices of the planes when these attributes are set.
If only one attribute of one vertex is specified, values may
be given as a vector and will be treated as a one-column matrix. Otherwise
values must be given as a matrix with ncol(values) == max(length(vertices),
length(attributes)). The vertices and attributes vectors will be recycled to the same length, and entries from column j of values will be applied to
vertex vertices[j], attribute attributes[j].
The value argument is translated into a row (or two rows if
interp = TRUE) of values
by finding its location in param.
A list of class "rglControl" of cleaned up parameter
values, to be used in an RGL widget.
Duncan Murdoch
saveopts <- options(rgl.useNULL = TRUE)
theta <- seq(0, 6*pi, length.out = 100)
xyz <- cbind(sin(theta), cos(theta), theta)
plot3d(xyz, type="l")
id <- spheres3d(xyz[1,,drop=FALSE], col="red")
widget <- rglwidget(width=500, height=300) %>%
playwidget(vertexControl(values=xyz,
attributes=c("x", "y", "z"),
objid = id, param=1:100),
start = 1, stop = 100, rate=10)
if (interactive() || in_pkgdown_example())
widget
options(saveopts)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.