<p>这里是一个最小的python原型,从它的c++等价vtk示例(<a href="http://www.vtk.org/Wiki/VTK/Examples/Cxx/Meshes/Decimation" rel="nofollow noreferrer">http://www.vtk.org/Wiki/VTK/Examples/Cxx/Meshes/Decimation</a>)翻译而来,正如<a href="https://stackoverflow.com/users/4299720/mrpedru22">MrPedru22</a>所建议的那样。在</p>
<pre class="lang-py prettyprint-override"><code>from vtk import (vtkSphereSource, vtkPolyData, vtkDecimatePro)
def decimation():
sphereS = vtkSphereSource()
sphereS.Update()
inputPoly = vtkPolyData()
inputPoly.ShallowCopy(sphereS.GetOutput())
print("Before decimation\n"
" -\n"
"There are " + str(inputPoly.GetNumberOfPoints()) + "points.\n"
"There are " + str(inputPoly.GetNumberOfPolys()) + "polygons.\n")
decimate = vtkDecimatePro()
decimate.SetInputData(inputPoly)
decimate.SetTargetReduction(.10)
decimate.Update()
decimatedPoly = vtkPolyData()
decimatedPoly.ShallowCopy(decimate.GetOutput())
print("After decimation \n"
" -\n"
"There are " + str(decimatedPoly.GetNumberOfPoints()) + "points.\n"
"There are " + str(decimatedPoly.GetNumberOfPolys()) + "polygons.\n")
if __name__ == "__main__":
decimation()
</code></pre>