Доступ Pyvista к значениям файла VTK
У меня есть файл 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
1 ответ
Вы имеете в виду
point_arrays
свойство, которое можно использовать для доступа к скалярам, связанным с каждой точкой.
Если вы присвоили значение каждой точке в сетке, вы можете получить к нему доступ с помощью
point_arrays
свойство, которое ведет себя как словарь Python. Например, при создании
Sphere
в пределах
pyvista
, нормали включены в сетку и доступны с помощью:
>>> 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)
Дополнительные сведения см. В разделе " Базовое использование API".