我正在使用 vtk 库构建地震动态地图。
我已经做了一个静态的,(见这里:https ://github.com/yacobuk/QuakeCloud和这里:http ://www.youtube.com/watch?v=4HVdTcI_ozI )所以我知道基本的想法是有效的,但现在我想尝试显示随着时间的推移发生的地震。
我有一些代码示例向我展示了如何更新框架,以及如何添加/删除对象,但我一直在弄清楚如何启动一个实例,跟踪它一段时间,然后删除它。
基本的添加/删除代码如下所示:
for point_and_mag in pm.points_mag:
time.sleep(0.5)
mag = point_and_mag[1]
point = point_and_mag[0]
if mag > 2:
pointCloud = VtkPointCloud(pm)
pointCloud.addPoint(point, math.log(mag)*10)
renderer.AddActor(pointCloud.vtkActor)
renderer.ResetCamera()
renderWindow.Render()
time.sleep(0.3)
renderer.RemoveActor(pointCloud.vtkActor)
renderer.ResetCamera()
renderWindow.Render()
但是当然,这一次只允许一个对象(pointCloud.vtkActor
via的一个实例renderer.AddActor(pointCloud.vtkActor)
等待一段时间,然后将其删除renderer.RemoveActor(pointCloud.vtkActor)
如何添加一些演员(我将使用 10 分钟的间隔,当时有多达 5 次地震),用计数器标记它,在每次循环迭代时增加计数器,当它达到5次迭代,去掉actor?
这里有更多关于这个问题的背景信息:Python/vtk - set each point size individual in a vtkPolyData object?