使用不同的字形显示vtkPoints的子集

时间:2011-09-27 08:37:05

标签: python numpy vtk

我正在尝试使用VTK使用色彩映射值在3D中显示一些时间序列数据。 我有两个不同类型物体的单一3D位置阵列,比如锥体和球体。这些立场是穿插的。我还有一个2D数组,其中包含这些对象的时间序列数据。位置数组中的第n个条目与时间序列数组中的第n行相对应。 (所有这些都是numpy数组)。

现在我想要一个锥体和球体的动画显示(使用python-vtk),它们的颜色根据时间序列数组中的条目而变化。目前我通过将每个阵列分成两个来实现它 - 一个用于锥体,一个用于球体。但理想情况下,我想通过一个coneGlyph和球体条目通过一个球体字形管道位置数组的锥形条目,并直接设置所有位置的时间序列值。如果可能的话,这样做的方法是什么?

Intended data flow for vtk animation

1 个答案:

答案 0 :(得分:0)

我通过存储两种对象的索引(即cone_indices和sphere_indices)绕过了这个问题。我还创建了具有圆锥位置和球体位置的vtkPoints对象。这些用于为各个类创建vtkPolyData。在timer类的update方法中,我使用这些索引数组为每种类型获取该时间点的数据,并将标量值分配给点数据。

conePoints.GetPointData().SetScalars(coneData)
spherePoints.GetPointData().SetScalars(sphereData)
使用索引数组的numpy数组查找足够快。