title: Mayavi: interpolate face colors in triangular_mesh
body: <p>I have pieced together the
  following code to plot a triangular mesh with the colors specified by an
  additional scalar function:</p>
  
  <pre><code>#! /usr/bin/env python
  import numpy as np
  from mayavi import mlab
  
  # Create cone
  n = 8
  t = np.linspace(-np.pi, np.pi, n)
  z = np.exp(1j*t)
  x = z.real.copy()
  y = z.imag.copy()
  z = np.zeros_like(x)
  triangles = [(0, i, i+1) for i in range(n)]
  x = np.r_[0, x]
  y = np.r_[0, y]
  z = np.r_[1, z]
  t = np.r_[0, t]
  
  # These are the scalar values for each triangle
  f = np.mean(t[np.array(triangles)], axis=1)
  
  # Plot it
  mesh = mlab.triangular_mesh(x, y, z, triangles,
                              representation='wireframe',
                              opacity=0)
  cell_data = mesh.mlab_source.dataset.cell_data
  cell_data.scalars = f
  cell_data.scalars.name = 'Cell data'
  cell_data.update()
  
  mesh2 = mlab.pipeline.set_active_attribute(mesh,
          cell_scalars='Cell data')
  mlab.pipeline.surface(mesh2)
  
  mlab.show()
  </code></pre>
  
  <p>This works reasonably well. However, instead of having every triangle
  with a uniform color and sharp transitions between the triangles, I'd
  much rather have a smooth interpolation over the entire surface.</p>
  
  <p>Is there a way to do that?</p>