rgl.user2window | R Documentation |
This function converts from 3-dimensional user coordinates to 3-dimensional window coordinates.
rgl.user2window(x, y = NULL, z = NULL, projection = rgl.projection())
rgl.window2user(x, y = NULL, z = 0, projection = rgl.projection())
rgl.projection(dev = cur3d(), subscene = currentSubscene3d(dev))
x , y , z |
Input coordinates. Any reasonable way of defining the
coordinates is acceptable. See the function |
projection |
The RGL projection to use |
dev , subscene |
The RGL device and subscene to work with |
These functions convert between user coordinates and window coordinates.
Window coordinates run from 0 to 1 in X, Y, and Z. X runs from 0 on the left to 1 on the right; Y runs from 0 at the bottom to 1 at the top; Z runs from 0 foremost to 1 in the background. RGL does not currently display vertices plotted outside of this range, but in normal circumstances will automatically resize the display to show them. In the example below this has been suppressed.
The coordinate conversion functions produce a matrix with columns corresponding to the X, Y, and Z coordinates.
rgl.projection()
returns a list containing the following components:
model |
the modelview matrix |
projection |
the projection matrix |
viewport |
the viewport vector |
See par3d
for more details.
Ming Chen / Duncan Murdoch
select3d
open3d()
points3d(rnorm(100), rnorm(100), rnorm(100))
if (interactive() || !.Platform$OS == "unix") {
# Calculate a square in the middle of the display and plot it
square <- rgl.window2user(c(0.25, 0.25, 0.75, 0.75, 0.25),
c(0.25, 0.75, 0.75, 0.25, 0.25), 0.5)
par3d(ignoreExtent = TRUE)
lines3d(square)
par3d(ignoreExtent = FALSE)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.