我有一个使用R rgl包生成的3D场景.
我可以保存为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场景?
你应该尝试 writeASY()。它是为 Asymptote 编写的,它可以生成 PRC 而不是 U3D,但可能已经足够好了。我尝试了您的示例场景,在 Acrobat Reader 中加载结果大约需要 5 分钟,但它最终加载并运行。
writeASY() 是 rgl 的最新新增内容;您需要从 R-Forge 或 Github 副本中获取它。