writeASY

0th

Percentile

Write Asymptote code for an rgl scene

Asymptote is a language for 3D graphics that is highly integrated with LaTeX. This is an experimental function to write an Asymptote program to approximate an rgl scene.

Usage
writeASY(scene = scene3d(),
         title = "scene", 
         outtype = c("pdf", "eps", "asy", "latex", "pdflatex"), 
         prc = TRUE, 
         runAsy = "asy %filename%", 
         defaultFontsize = 12,
         width = 7, height = 7,
         ppi = 100,
         ids = NULL, 
         ver244 = FALSE)
Arguments
scene

rgl scene object

outtype

What type of file to write? See Details.

prc

Whether to produce an interactive PRC scene.

title

The base of the filename to produce.

runAsy

Code to run the Asymptote program.

defaultFontsize

The default fontsize for text.

width, height

Width and height of the output image, in inches.

ppi

“Pixels per inch” to assume when converting line widths and point sizes (which rgl measures in pixels).

ids

If not NULL, write out just these rgl objects.

ver244

Asymptote version 2.44 had a definition for its “light()” function that was incompatibly changed in some later version. (The new version is seen in version 2.49, but may have arrived earlier.). Setting ver244 = TRUE makes writeASY use the older definition.

Details

Asymptote is both a language describing a 2D or 3D graphic, and a program to interpret that language and produce output in a variety of formats including EPS, PDF (interactive or static), etc.

The interactive scene produced with prc = TRUE requires outtype = "pdf", and (as of this writing) has a number of limitations:

  • As far as we know, only Adobe Acrobat Reader of a sufficiently recent version can display these scenes.

  • Current versions ignore lighting settings.

Value

The filename of the output file is returned invisibly.

Note

This function is currently under development and limited in the quality of output it produces. Arguments will likely change.

There are a number of differences between the interactive display in Asymptote and the display in rgl. In particular, many objects that are a fixed size in rgl will scale with the image in Asymptote. Defaults have been chosen somewhat arbitrarily; tweaking will likely be needed.

Material properties of surfaces are not yet implemented.

References

J. C. Bowman and A. Hammerlindl (2008). Asymptote: A vector graphics language, TUGBOAT: The Communications of the TeX Users Group, 29:2, 288-294.

See Also

scene3d saves a copy of a scene to an R variable; writeWebGL, writePLY, writeOBJ and writeSTL write the scene to a file in various other formats.

Aliases
  • writeASY
Examples
# NOT RUN {
x <- rnorm(20)
y <- rnorm(20)
z <- rnorm(20)
plot3d(x, y, z, type = "s", col = "red")
olddir <- setwd(tempdir())
writeASY(title = "interactive")  # Produces interactive.pdf
writeASY(title = "noninteractive", prc = FALSE) # Produces noninteractive.pdf
setwd(olddir)
# }
Documentation reproduced from package rgl, version 0.100.50, License: GPL

Community examples

Looks like there are no examples yet.