title: ValueError: truth value of array is ambiguous
body: <p>The code:</p>
  
  <pre><code>    import numpy as np
      import matplotlib.pyplot as plt
      from mpl_toolkits.mplot3d import Axes3D
  
      r = np.linspace(0.02, 0.98, 10)
      theta = np.linspace(0, 2*np.pi)
      rgrid, thetagrid = np.meshgrid(r, theta)
  
      xgrid, ygrid = rgrid*np.cos(thetagrid), rgrid*np.sin(thetagrid)
  
      def get_zvalue(r):
          if r&lt;0.03:
              return 0
          elif r&gt;0.02:
              delta_s = 0.02/np.sqrt(1-(r-0.02)**2)
              return delta_s + get_zvalue(r-0.02)
  
      zsurface = get_zvalue(r)
  
  
  
      fig = plt.figure()
      ax = fig.gca(projection='3d')
      surf = ax.plot_surface(xgrid, ygrid, zsurface)
      plt.savefig("Hoops.png")
  </code></pre>
  
  <p>The error:</p>
  
  <pre><code>    ValueError: The truth value of an array with more than one element is 
      ambiguous. Use a.any() or a.all()
  </code></pre>
  
  <p>The ValueError is triggered by the line, "if r&lt;0.03:" in the function get_zvalue. I haven't done much with numpy and don't know what to make of this error. Is there any other way to create the zsurface array without getting the error?</p>