繁体   English   中英

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

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

我有一个使用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 

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

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

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

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

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

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 ,允许进行一些手动修改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM