我已经跟踪this tutorial通过Meshlab将POV-Ray图形导出到STL
文件。我还尝试导出为OBJ
格式。从POV-Ray图形的创建到Meshlab中的导出,一切似乎都能正常工作。
但是之后我尝试使用readSTL
包的函数readOBJ
和rgl
渲染R中的图形,问题就在这里。
实际上,导出的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
后,渲染只是一个白色场景,没有任何内容。即使没有面子,我们也可以获得一些积分。
也许我在这个程序的一个步骤中弄错了。你有任何想法:
如何导出到Meshlab中的非空STL
文件?
如何在R中获得readOBJ
的积分?
从Meshlab导出时如何获取OBJ
文件中的面孔?
你知道从POV-Ray到rgl
的另一种方式,如果可能的话保留颜色吗?
我找到了一种方法来获取OBJ
文件中的面孔:而不是在Meshlab中进行屏蔽泊松表面重建,如tuto所述,我做< em>表面重建: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