VTK - 使用矢量数据为vtkStreamTracer线着色

时间:2015-09-27 11:17:08

标签: python visualization vtk

作为作业的一部分,我试图通过混合器可视化粘性液体的流动。为此提供的数据是vtk StructuredPoint文件,包含标量和矢量数据。标量数据告诉我们给定点是否是混频器结构的一部分,矢量数据包含有关液体流动的信息。

我使用流线图形化了流程,使用vtkStreamTracer类创建。当输出传递给vtkPolyDataMapper时,似乎默认使用数据的标量部分为线条着色。

我一直试图找到一种方法来改变这种情况,但我无法做到这一点。我正在尝试使用流向量的大小来确定线的颜色,以便颜色代表液体的速度。 任何提示?我已经在下面列出了可视化代码的相关部分。提前谢谢!

seeds = vtk.vtkPointSource()
seeds.SetRadius(15)
seeds.SetCenter(0,30.5,30.5)
seeds.SetNumberOfPoints(100)

integrator=vtk.vtkRungeKutta45()
streamer = vtk.vtkStreamTracer()
streamer.SetInputConnection(reader.GetOutputPort())
streamer.SetSourceConnection(seeds.GetOutputPort())
streamer.SetIntegrationDirectionToBoth()
streamer.SetIntegrator(integrator)
streamer.SetMaximumPropagation(500)
streamer.SetComputeVorticity(True)


mapper = vtk.vtkPolyDataMapper()
mapper.SetInputConnection(streamer.GetOutputPort())
actor = vtk.vtkActor()
actor.SetMapper(mapper)

1 个答案:

答案 0 :(得分:0)

查看此网站:http://www.uppmax.uu.se/docs/w/index.php/Streamlines 它有一个可能对您有用的Streamlines示例。它使用颜色传递函数,使颜色代表这种情况下的风速,类似于你想要达到的效果。

希望这有帮助!