如何使用vtk来将附件的VTU
非结构化文件(python)草化?理想情况下,我想定义区域(xmin=-9, xmax=9)
和(ymin=-9, ymax=9)
以及像素数(例如,每个方向上的(256,256)
),然后将该区域提取到像素网格上并存储在文件中(填充空心区域)。
这是我将文件读入polyData的方式
import vtk
# Read the source file.
reader = vtk.vtkXMLUnstructuredGridReader()
reader.SetFileName("internal.vtu")
reader.Update()
polydata = reader.GetOutput()
如何将polydata
转换为具有上述详细信息的文件?
谢谢
from vtkplotter import *
import numpy as np
g = load('internal.vtu')
g.pointColors("p", cmap='terrain')
pts = g.points()
field = g.getPointArray('U')
ars = Arrows(pts-field/5, pts+field/5, c='k')
zpr = np.linspace(-15,15, num=25)
probes = np.c_[np.zeros_like(zpr)-10, np.zeros_like(zpr), zpr]
str_lns = streamLines(g, probes, activeVectors='U', maxPropagation=60, lw=2)
str_lns.pointColors(cmap='jet')
str_lns.GetProperty().LightingOff()
str_lns.mapper().SetResolveCoincidentTopologyToPolygonOffset()
show(g, ars, Points(probes), str_lns, elevation=90)
vol = interpolateToVolume(g, dims=(50,2,50), bounds=(-9,9,0,0,-9,9))
# vol.imagedata() # retrieves the vtkImageData obj
lego = vol.legosurface(cmap='terrain')
show(lego, newPlotter=True, elevation=90)