title: Animating a mayavi points3d plot
body: <p>I'm trying to make a video of the trajectories of particles. However, somehow my scene never updates. Here's a very simple example:</p>
  
  <pre><code>from __future__ import absolute_import, division, print_function
  from mayavi import mlab
  import numpy as np
  import math
  
  alpha = np.linspace(0, 2*math.pi, 100)  
  
  xs = np.cos(alpha)
  ys = np.sin(alpha)
  zs = np.zeros_like(xs)
  
  mlab.points3d(0,0,0)
  plt = mlab.points3d(xs[:1], ys[:1], zs[:1])
  
  @mlab.animate(delay=100)
  def anim():
      f = mlab.gcf()
      while True:
          for (x, y, z) in zip(xs, ys, zs):
              print('Updating scene...')
              plt.mlab_source.x[0] = x
              plt.mlab_source.y[0] = y
              plt.mlab_source.z[0] = z
              f.scene.render()
              yield
  
  
  anim()
  mlab.show()
  </code></pre>
  
  <p>If I run this script, it shows a window with the two points and the animation GUI. It also prints a continous stream of "Updating Scene..." messages on the terminal. However, the scene doesn't show any movement at all.</p>
  
  <p>What am I doing wrong?</p>
  
  <p>Python 2.7, Mayavi 4.1, VTK 5.8</p>