将 rgl 3D 场景保存到 u3d(用于 .pdf 集成)

Saving rgl 3D scene to u3d (for .pdf integration)

我有一个用 R rgl 包生成的 3D 场景。

真不知道怎么解决

Here 是重现问题的示例文件。 要重现,只需在工作目录中下载文件,执行 R 和 运行:

library(rgl)
load("alps3d.Rdata") #This loads the alps3d variable
plot3d(alps3d)
writePLY("alps3d.ply")

如何将 3d 场景保存为可以使用 LaTeX 合并为 .pdf 的格式?

您应该尝试 writeASY()。它为 Asymptote 编写,它可以生成 PRC 而不是 U3D,但可能已经足够好了。我尝试了您的示例场景,在 Acrobat 中加载结果大约需要 5 分钟 Reader,但它最终加载并运行。

writeASY() 是最近添加到 rgl 的;您需要从 R-Forge 或 Github 副本中获取它。

您可以使用 rgl.postscript,它允许导出为各种格式,包括 pdf。 好吧,结果不是很好,但这应该取决于情节的类型。

> x <- y <- seq(-10, 10, length = 20)
> z <- outer(x, y, function(x, y) x^2 + y^2)
> persp3d(x, y, z, col = 'lightblue')
> rgl.postscript("persp3d.pdf", "pdf")

您还可以导出到 tex,允许进行一些手动修改。