둘 이상의 벡터 필드가있는 파이썬과 TVTK를 사용하여 VTK에 데이터 저장
문제
동일한 구조화 된 그리드 (속도, 난류 강도 및 속도 변동의 표준 편차)에 해당하는 3 세트의 벡터 수량을 저장하려고합니다.이상적으로, 나는 그들이 동일한 VTK 파일의 일부가되도록하고, 지금까지 나는 그 중 하나를 파일로 하나의 파일로 얻을 수있었습니다 :
sg = tvtk.StructuredGrid(dimensions=x.shape, points=pts)
sg.point_data.vectors = U
sg.point_data.vectors.name = 'U'
write_data(sg, 'vtktestWake.vtk')
.
하나의 벡터 또는 스칼라 필드를 더 추가하는 방법의 예를 보여주는 몇 시간을 지나서 몇 시간 동안 보냈지 만 실패했으나 내가 여기서 묻는 것 같아요.어떤지도가 가장 높이 평가 될 것입니다.
감사합니다
Artur
해결책
몇 가지 파기 후에 나는 이 이 예제.add_array
메소드를 사용하여 추가 데이터 필드를 추가해야합니다.
from tvtk.api import tvtk, write_data
import numpy as np
data = np.random.random((3,3,3))
data2 = np.random.random((3,3,3))
i = tvtk.ImageData(spacing=(1, 1, 1), origin=(0, 0, 0))
i.point_data.scalars = data.ravel()
i.point_data.scalars.name = 'scalars'
i.dimensions = data.shape
# add second point data field
i.point_data.add_array(data2.ravel())
i.point_data.get_array(1).name = 'field2'
i.point_data.update()
write_data(i, 'vtktest.vtk')
. 제휴하지 않습니다 StackOverflow