我有一个VTK文件,我可以使用pyvista打开它。当我在任何3D查看器应用程序(例如Paraview)中打开此文件时,我可以看到这些点及其值(有许多点分布在X、Y、Z上,每个点都有自己的值)。
在pyvista中,我只能看到点的坐标,不知道如何访问每个坐标处的值(或标签)。
import pyvista as pv
pd = pv.read('data.vtk')
pd.points
# UnstructuredGrid (0x20fef143e28)
# N Cells: 0
# N Points: 80851
# X Bounds: -2.570e+03, 2.550e+03
# Y Bounds: -1.280e+03, 1.280e+03
# Z Bounds: -1.075e+03, 2.048e+02
# N Arrays: 0发布于 2020-09-28 03:40:31
您引用的是point_arrays属性,您可以使用该属性访问与每个点关联的标量。
如果您已经为网格中的每个点指定了一个值,则可以使用point_arrays属性访问它,该属性的行为类似于python字典。例如,在pyvista中生成Sphere时,法线包含在网格中,并可通过以下方式访问:
>>> import pyvista as pv
>>> mesh = pv.Sphere()
>>> mesh.point_arrays['Normals']
pyvista_ndarray([[ 0. , 0. , 1. ],
[ 0. , 0. , -1. ],
[ 0.10811902, 0. , 0.99413794],
...,
[ 0.31232402, -0.06638652, -0.9476532 ],
[ 0.21027282, -0.04469487, -0.97662055],
[ 0.10575636, -0.02247921, -0.99413794]], dtype=float32)有关更多详细信息,请参阅Basic API Usage。
https://stackoverflow.com/questions/63943267
复制相似问题