【发布时间】:2014-05-31 21:31:02
【问题描述】:
我将 rgl 包与 R 一起使用,并尝试为我的 3D 绘图设置抗锯齿选项。以下命令都返回相同的图,但没有抗锯齿:
plot3d(X1,X2,X3, size=4)
plot3d(X1,X2,X3, size=4, antialias)
plot3d(X1,X2,X3, size=4, antialias=4)
plot3d(X1,X2,X3, size=4, rgl.antialias=3)
如何正确设置该选项?我已经阅读了 rgl 的手册,但我找不到任何线索。我知道我可以使用 cairo 绘图,但据我所知,这不会给我交互式 3D 绘图,因此我可以旋转它。
谢谢!!
【问题讨论】:
-
见
?rgl_material。您可能需要point_antialias = TRUE,但您也可以根据需要添加line_antialias = TRUE。 -
@BryanHanson,首先感谢您的提示。我查看了 rgl.material 并设置了您提到的两个选项。但是,point_antialias 只会将点从正方形变为圆形,并且第一行没有明显的效果(因为我在这个图中没有线条)。所以轴(立方体)不受 line_antialias 的影响,问题仍然存在。 Gnuplot 可以提供完全抗锯齿的交互式 3D 绘图,R 不行吗?
-
也许看看
?par3d中的第一个参数,这可能会使抗锯齿通用化。我通常将这些东西分段绘制,例如在抗锯齿参数肯定有效的地方制作我自己的轴。我不确定是什么控制了盒子的外观 - 文档暗示前面的提示应该有效。另外,请尝试使用type = s,它将绘制球体而不是圆形。 -
@BryanHanson,我想我明白了,感谢您对 ?par3d 的提示。 par3d 具有作为 ReadOnly 的 antialias 参数,但是 open3d 可以访问它。要获得完整的抗锯齿 3d 绘图,必须先使用 open3d(antialias=4) 或 4 以外的任何其他度数。然后再添加绘图。
-
太棒了!继续您的项目...
标签: r antialiasing rgl