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

AF7*_*AF7 11 r raster rgl u3d

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

  • 我可以通过rgl函数将它保存为RTL和OBJ格式,但这些函数不支持颜色.
  • 我可以将它保存在WebGL中,但是我找不到WebGL到.u3d转换器,也没有任何方法可以在.pdf文件中插入WebGL内容(用LaTeX生成).
  • 我可以保存为PLY格式,然后导出到.u3d(例如使用Meshlab),但它给我以下错误:

    Error in if (sum(normals[1:3, it[j, i]] * normal) < 0) normals[, it[j,  : 
    missing value where TRUE/FALSE needed 
    
    Run Code Online (Sandbox Code Playgroud)

哪个我真的不知道怎么解决.

是一个重现问题的示例文件.要重现只需在工作目录中下载文件,执行R并运行:

library(rgl)
load("alps3d.Rdata") #This loads the alps3d variable
plot3d(alps3d)
writePLY("alps3d.ply")
Run Code Online (Sandbox Code Playgroud)

如何以可以使用LaTeX在.pdf中迭代的格式保存3d场景?

use*_*330 3

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

writeASY() 是 rgl 的最新新增内容;您需要从 R-Forge 或 Github 副本中获取它。

  • 这很有用@user2554330。如果您已经看过它,能否请您指导我们获取有关如何在 LaTeX 文档中使用 writeASY() 的输出以确保完整性的资源?(除非现在这更像是一个 LaTeX 问题?)我见过的标准渐近线文档和帮助页面看起来并没有完全涵盖所需的内容,而且我使用 http://tex 的建议遇到了很多编译错误.stackexchange.com/questions/111655/simple-way-to-switch-inline-asymptote-figures-on-and-off (2认同)