I would like to draw 3D arrows in my plot3d plot using the rgl library as mentioned for example here.
But apparently arrows3d is not part of the package, is it deprecated or future music as ??arrows3D
returns:
No vignettes or demos or help files found with alias or concept or title matching ‘arrows3D’ using fuzzy matching.
The latest rgl
(version 0.95.1470, available only on R-forge at the moment; see How do I install the latest version of rgl? for how to get it) has a function arrow3d()
modelled after the heplots::arrow3d
function, but expanded quite a bit.
It can draw arrows like the heplots
function (i.e. made up of line segments), or as flat polygons, or as extrusions of polygons, or as rotations of polygons. The ?arrow3d
help example currently does this:
xyz <- matrix(rnorm(300), ncol = 3)
plot3d(xyz)
arrow3d(xyz[1,], xyz[2,], type = "extrusion", col = "red")
arrow3d(xyz[3,], xyz[4,], type = "flat", col = "blue")
arrow3d(xyz[5,], xyz[6,], type = "rotation", col = "green")
arrow3d(xyz[7,], xyz[8,], type = "lines", col = "black")
arrow3d(spriteOrigin = xyz[9:12,], col = "purple")
which produces this output:
Normally it draws just one arrow per call, but if you ask for 3D sprites (as in the purple
example) it can draw multiple copies of the same arrow.