小编Art*_*tur的帖子

使用Python从vtk文件中的数据绘制轮廓图

我有一组存储在VTK文件中的数据,它代表一个带有数组中标量点数据的域的切割.我正在尝试生成所述标量的等高线图,使其看起来有点像使用ParaView制作的附图.我宁愿坚持使用vtk库而不是使用其他东西,比如Matplotlib,因为我认为它们会产生更好的可视化效果.预览我想要实现的目标.

我在网上看过几个例子,但没有一个对我有效(没有错误被抛出,我最终得到的只是背景的空渲染),所有我能做的就是表面图数据(例如:这里).

这是我所拥有的代码的当前版本(非常类似于成功生成曲面图的代码):

# import data
reader = vtk.vtkDataSetReader()
reader.SetFileName('inputDataFiles/k_zCut.vtk')
reader.ReadAllVectorsOn()
reader.ReadAllScalarsOn()
reader.Update()

# access data
data = reader.GetOutput()
d = data.GetPointData()
array=d.GetArray('k')

# create the filter
contours = vtk.vtkContourFilter()
contours.SetInput(reader.GetOutput())
contours.GenerateValues(5,1.,5.)

# create the mapper
mapper = vtk.vtkPolyDataMapper()
mapper.SetInput(contours.GetOutput())
mapper.ScalarVisibilityOff()
mapper.SetScalarRange(1., 5.)

# create the actor
actor = vtk.vtkActor()
actor.SetMapper(mapper)

# create a rendering window and renderer
ren = vtk.vtkRenderer()
ren.SetBackground( 0.329412, 0.34902, 0.427451 ) #Paraview blue

# Assign actor to the renderer
ren.AddActor(actor)

renWin = …
Run Code Online (Sandbox Code Playgroud)

python vtk python-2.7

7
推荐指数
1
解决办法
4159
查看次数

使用 Python 和具有多个向量场的 tvtk 将数据保存到 VTK

我试图保存对应于相同结构网格的三组向量(速度、湍流强度和速度波动的标准偏差)。理想情况下,我希望它们成为同一个 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')
Run Code Online (Sandbox Code Playgroud)

我花了几个小时寻找如何添加多个向量或标量场的示例,但失败了,所以我想我会在这里问。任何指导将不胜感激。

谢谢,

阿图尔

python vtk mayavi

5
推荐指数
1
解决办法
1677
查看次数

标签 统计

python ×2

vtk ×2

mayavi ×1

python-2.7 ×1