【发布时间】:2015-02-27 09:53:02
【问题描述】:
我有一个使用 R rgl 包生成的 3D 场景。
- 我可以通过 rgl 函数将其保存为 RTL 和 OBJ 格式,但这些函数不支持颜色。
- 我可以将它保存在 WebGL 中,但是我找不到 WebGL 到 .u3d 的转换器,也找不到任何将 WebGL 内容插入 .pdf 文件(使用 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
我真的不知道如何解决。
Here 是重现问题的示例文件。 要重现,只需下载工作目录中的文件,执行 R 并运行:
library(rgl)
load("alps3d.Rdata") #This loads the alps3d variable
plot3d(alps3d)
writePLY("alps3d.ply")
如何将 3d 场景保存为可以使用 LaTeX 以 .pdf 进行迭代的格式?
【问题讨论】:
-
无法从链接站点下载示例文件。您可以再次上传它吗,或者您有其他简单的方法来重现 PLY 的问题吗?
-
@WhiteViking 感谢您通知我。我已经更新了下载链接,现在应该可以使用了。
-
您可以使用
writePLY("alps3d.ply", withNormals = F)避免该错误。对于这个似乎只有平面几何的特殊模型,没有顶点法线并不是什么大问题。因此,您最终会得到一个包含几何和颜色信息的 PLY 文件。但是... MeshLab 不会从 PLY 文件中读取任何颜色信息。所以用MeshLab转U3D也不是可行的办法。 -
我以前用persp3d和rgl.snapshot导出rgl对象,后者可以导出一张图片。对于 3D 电影,我使用了可以导出电影的 movie3d。