首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能用rgl R包的plot3d()函数绘制rglscene对象

不能用rgl R包的plot3d()函数绘制rglscene对象
EN

Stack Overflow用户
提问于 2016-04-14 20:30:35
回答 1查看 494关注 0票数 0

我遇到了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 0.99.892。

代码语言:javascript
复制
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中。但是,在执行当前清单的最后一个字符串之后,出现了一个非常窄的窗口,无法查看它是否包含任何内容。我怎么才能修好它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-14 23:32:23

在s中没有par3d组件,它是s$rootSubscene的一部分。(这不是文件记载的方式,而是事实。)

如果你想把场景的大小翻一番,你需要改变两件事: windowRect和视口。所以这对我来说很管用:

代码语言:javascript
复制
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)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36633390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档