三角网格模型面积、体积计算
import vtk
# 三角网格模型面积、体积计算
cubeSource = vtk.vtkCubeSource() # 四边形
cubeSource.Update()
triFilter = vtk.vtkTriangleFilter() # 可以实现多边形网格数据向三角形网格数据转换
triFilter.SetInputData(cubeSource.GetOutput())
triFilter.Update()
massProp = vtk.vtkMassProperties() # 以实现三角网格的表面积和体积计算,但是要求网格必须是封闭的三角形网格数据
massProp.SetInputData(triFilter.GetOutput())
massProp.Update()
vol = massProp.GetVolume() # 整个网格的体积
area = massProp.GetSurfaceArea() # 整个网格的表面积
maxArea = massProp.GetMaxCellArea() # 最大单元面积
minArea = massProp.GetMinCellArea() # 最小单元面积
print('Volume:', vol)
print('SurfaceArea:', area)
print('Max Cell Area:', maxArea)
print('Min Cell Area:', minArea)
mapper = vtk.vtkPolyDataMapper()
mapper.SetInputData(triFilter.GetOutput())
actor = vtk.vtkActor