我遇到了R包rgl
(版本0.95.1441)的问题,特别是我无法重现scene3d rgl
函数文档的示例部分中的代码:
http://www.inside-r.org/packages/cran/rgl/docs/plot3d.rglscene
我在Windows 8下使用版本3.2.4的R和R studio 0.99.892。
open3d()
z <- 2 * volcano # Exaggerate the relief
x <- 10 * (1:nrow(z)) # 10 meter spacing (S to N)
y <- 10 * (1:ncol(z)) # 10 meter spacing (E to W)
persp3d(x, y, z, col = "green3", aspect = "iso")
s <- scene3d()
# Make it bigger
s$par3d$windowRect <- 1.5*s$par3d$windowRect
# and draw it again
plot3d(s)
我可以在调用persp3d
函数后生成3D图像,并且能够将rglscene
对象保存到变量s
中。但是,在执行当前列表的最后一个字符串之后,出现了一个非常窄的窗口,并且无法查看它是否包含任何内容。我怎么解决它?
答案 0 :(得分:2)
s中没有par3d组件。它是s $ rootSubscene的一部分。 (这不是它的记录方式,但它就是这样的。)
如果想要将场景的大小加倍,则需要更改两件事:windowRect和视口。所以这对我有用:
open3d()
z <- 2 * volcano # Exaggerate the relief
x <- 10 * (1:nrow(z)) # 10 meter spacing (S to N)
y <- 10 * (1:ncol(z)) # 10 meter spacing (E to W)
persp3d(x, y, z, col = "green3", aspect = "iso")
s <- scene3d()
# Make it bigger
par3d <- s$rootSubscene$par3d
par3d$windowRect <- 1.5*par3d$windowRect
par3d$viewport <- 1.5*par3d$viewport
s$rootSubscene$par3d <- par3d
# and draw it again
plot3d(s)