我已按照本教程通过 Meshlab将 POV-Ray 图形导出到STL
文件。我也尝试过导出到OBJ
格式。从创建 POV-Ray 图形到在 Meshlab 中导出,一切似乎都运行良好。
但是后来我尝试使用包的函数和函数在 R 中渲染图形,问题readSTL
就在这里。readOBJ
rgl
其实导出的STL
文件是空的:
solid STL generated by MeshLab
endsolid vcg
因此,当然,rgl::readSTL
在 R 中不渲染任何内容。
该OBJ
文件不是空的,但它不包含任何面(只有顶点和顶点法线):
####
#
# OBJ File Generated by Meshlab
#
####
# Object blob.obj
#
# Vertices: 8437
# Faces: 0
#
####
vn -0.900372 -0.267658 -0.343060
v -4.000525 2.600000 -0.833225
......
在 R 中运行后rgl::readOBJ
,渲染只是一个白色场景,什么都没有。即使没有脸,我们也可以期望得到一些分数。
也许我在程序的一个步骤中弄错了。你有什么想法:
STL
如何导出到Meshlab中的非空文件?如何
readOBJ
在 R 中获得积分?OBJ
从 Meshlab 导出时如何获取文件中的面?rgl
如果可能的话,你知道另一种从 POV-Ray 到的方法吗?
更新
我找到了一种在OBJ
文件中获取面的方法:而不是像教程中所说的那样在 Meshlab 中进行 Screened Poisson Surface Reconstruction ,而是进行Surface Reconstruction: Ball Pivoting。
但随后会rgl::readOBJ
产生此错误:
Error in order(vlinks[[i]][, 2]) : argument 1 is not a vector
相同的过程允许导出非空STL
文件。但随后会rgl::readSTL
产生此错误:
Error in matrix(NA, 3 * n, 3) : invalid 'nrow' value (too large or NA)
In addition: Warning message:
In matrix(NA, 3 * n, 3) : NAs introduced by coercion to integer range