我使用vtkcutter
解决了这个问题,但vtkcutter有机会只用一个平面切割我的3D表面。在我的问题中,我需要用许多平面切割我的3D表面,那么如何使用vtkcutter
创建许多平面?
答案 0 :(得分:2)
试试这个(适用于vtkUnstructuredGrid' ugrid')。它在点p01和p02之间创建10个切片,并将切片附加到vtkPolyData的一个实例。它是用python编写的..
polys = vtk.vtkAppendPolyData()
Nslices = 10
p01 = (0,0,0)
p02 = (0,1,0)
for ks in range(Nslices):
p0 = (0,p01[1]+(p02[1]-p01[1])/float(Nslices)*ks,0)
plane = vtk.vtkPlane()
plane.SetNormal(0,1,0)
plane.SetOrigin(p0)
cut = vtk.vtkCutter()
cut.SetInput(ugrid)
cut.SetCutFunction(plane)
cut.Update()
output = cut.GetOutput()
polys.AddInput(output)