postscript.Rd
Saves the screenshot to a file in PostScript or other vector graphics format.
rgl.postscript( filename, fmt = "eps", drawText = TRUE )
Animations can be created in a loop modifying the scene and saving a screenshot to a file. (See example below)
This function is a wrapper for the GL2PS library by Christophe Geuzaine, and has the same limitations as that library: not all OpenGL features are supported, and some are only supported in some formats. See the reference for full details.
GL2PS: an OpenGL to PostScript printing library by Christophe Geuzaine, https://www.geuz.org/gl2ps/, version 1.4.2.
# Create new files in tempdir
savedir <- setwd(tempdir())
x <- y <- seq(-10, 10, length.out = 20)
z <- outer(x, y, function(x, y) x^2 + y^2)
persp3d(x, y, z, col = 'lightblue')
title3d("Using LaTeX text", col = 'red', line = 3)
rgl.postscript("persp3da.ps", "ps", drawText = FALSE)
#> Warning: this build of rgl does not support postscript
#> Warning: Postscript conversion failed
rgl.postscript("persp3da.pdf", "pdf", drawText = FALSE)
#> Warning: this build of rgl does not support postscript
#> Warning: Postscript conversion failed
rgl.postscript("persp3da.tex", "tex")
#> Warning: this build of rgl does not support postscript
#> Warning: Postscript conversion failed
pop3d()
title3d("Using ps/pdf text", col = 'red', line = 3)
3D plot
rgl.postscript("persp3db.ps", "ps")
#> Warning: this build of rgl does not support postscript
#> Warning: Postscript conversion failed
rgl.postscript("persp3db.pdf", "pdf")
#> Warning: this build of rgl does not support postscript
#> Warning: Postscript conversion failed
rgl.postscript("persp3db.tex", "tex", drawText = FALSE)
#> Warning: this build of rgl does not support postscript
#> Warning: Postscript conversion failed
setwd(savedir)
if (FALSE) { # \dontrun{
#
# create a series of frames for an animation
#
open3d()
shade3d(oh3d(), color = "red")
view3d(0, 20)
for (i in 1:45) {
view3d(i, 20)
filename <- paste("pic", formatC(i, digits = 1, flag = "0"), ".eps", sep = "")
rgl.postscript(filename, fmt = "eps")
}
} # }