3

当我在使用 rgl.open() 并将 bg 设置为白色后,使用 rgl 包在不同的画布(rgl 设备)中绘制多个 3d 图形时,绘图风格似乎与默认风格大不相同。有没有办法设置这个?请看下面的图片。当旋转这两个图表时,您可以获得非常不同的体验。您可以尝试在默认画布中绘制相同的图形,打开一个新的并绘制相同的图片。

默认绘图画布添加画布

此外,有没有办法将坐标的外框从立方体更改为球体?

4

2 回答 2

7

(编辑) 使用open3d()而不是rgl.open()打开新窗口。该文档警告不要将rgl.*呼叫与*3d呼叫混合,我想这是一个例子。这是三个图——默认值rgl.open()、 和open3d()...

library(rgl)
plot3d(1:4,1:4,1:4)
rgl.open()
plot3d(1:4,1:4,1:4)
open3d()
plot3d(1:4,1:4,1:4)

结果并排:

在此处输入图像描述

会话信息:

R Under development (unstable) (2012-12-14 r61321)
Platform: i686-pc-linux-gnu (32-bit)
[locale snipped]
attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     
other attached packages:
[1] rgl_0.92.894
于 2013-01-24T17:10:03.680 回答
1

如果您想在会话之间保持相同的设置,我认为您需要在启动时打开包 'rgl'(请参阅 参考资料?Startup)并指定rgl.materials您想要使用的设置。我从 help(package=rgl) 的索引中搜索了选项设置,但找不到选项设置。工作区中有一个名为的列表对象r3dDefaults,可以对其进行修改。也许:

r3dDefaults$bg$color <- "white"   # Change the value to get something different
# > names(r3dDefaults)
# [1] "userMatrix" "mouseMode"  "FOV"        "bg"         "family"     "material"  

*.r3d命令和rgl.*命令之间的设备行为之间的差异?r3d?open.3d.

关于对球坐标参考的渴望,请参见help(rgl.bg)页面并尝试“sphere=TRUE”参数。(我觉得它不那么令人愉快,但 YMMV。)

rgl.open()
rgl.bg(sphere=TRUE, color=c("grey","blue"), lit=FALSE, back="lines" )
于 2013-01-24T17:04:52.640 回答