【问题标题】:How to set the antialias property for rgl in R?如何在 R 中为 rgl 设置抗锯齿属性?
【发布时间】: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


【解决方案1】:

rgl 包确实允许完全抗锯齿,但这必须使用open3d 命令而不是plot3d 命令来设置。因此,对于有问题的情况并假设 4 度 AA,首先调用open3d(antialias=4)。接下来调用绘图命令plot3d(X1,X2,X3, size=4),将出现完整的AA绘图。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-20
    • 2010-12-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多