我有一个包含3D模型的vtk文件,
我想提取点坐标和面片。
以下是一个最小工作示例:
这里的
我尝试过:
但是
如果您有任何建议,请告诉我。
我想提取点坐标和面片。
以下是一个最小工作示例:
import vtk
import numpy
from vtk.util.numpy_support import vtk_to_numpy
reader = vtk.vtkPolyDataReader()
reader.SetFileName('test.vtk')
reader.Update()
polydata = reader.GetOutput()
points = polydata.GetPoints()
array = points.GetData()
numpy_nodes = vtk_to_numpy(array)
这里的
numpy_nodes
包含了所有点的x、y、z坐标,但我无法找到与该模型相关联的面对应的列表。我尝试过:
facets= polydata.GetPolys()
array = facets.GetData()
numpy_nodes = vtk_to_numpy(array)
但是
numpy_nodes
只是一个1D数组,而我期望得到一个2D数组(大小为3 * 面数),其中第一维包含相应面的点的编号(就像.ply文件中一样)。如果您有任何建议,请告诉我。
vtk_to_numpy
在vtk中存在。 - normanius