我目前有一个可视化从OBJ文件中获取的vtkpoint的代码:
poly = vtkPolyData()
poly.SetPoints(points) //points from obj file
sphere = vtkSphereSource()
sphere.SetRadius(.7)
sphere.SetThetaResolution(4)
sphere.SetPhiResolution(4)
glyph = vtkGlyph3D()
glyph.SetSourceConnection(sphere.GetOutputPort())
glyph.SetInputData(poly)
mapper = vtkPolyDataMapper()
mapper.SetInputConnection(glyph.GetOutputPort())
self.actor = vtkActor()
self.actor.SetMapper(mapper)
self.ren.AddActor(self.actor)
self.vtkWidget.Render()
因此,我的OBJ文件上的每个点都显示为一个球体。但是,我想知道是否有一种方法可以将这些点连接起来并可视化为表面?我已经尝试过vtksurfacereconstruction过滤器和delaunay,但这会产生可怕的结果,甚至没有什么比我需要的要好。
答案 0 :(得分:1)
这通常是使用Delaunay过滤器完成的。
https://www.vtk.org/doc/nightly/html/classvtkDelaunay3D.html https://www.vtk.org/doc/nightly/html/classvtkDelaunay2D.html
并且在大多数情况下效果很好。
您将需要共享数据集以获取其他类型的信息。