code: def MeshArrows(*inputobj, **options):
      
      s = options.pop("s", None)
      scale = options.pop("scale", 1)
      c = options.pop("c", "gray")
      alpha = options.pop("alpha", 1)
      res = options.pop("res", 12)
  
      mesh, u = _inputsort(inputobj)
      startPoints = mesh.coordinates()
      u_values = np.array([u(p) for p in mesh.coordinates()])
      if not utils.isSequence(u_values[0]):
          printc("~times Error: cannot show Arrows for 1D scalar values!", c=1)
          exit()
      endPoints = mesh.coordinates() + u_values
      if u_values.shape[1] == 2:  # u_values is 2D
          u_values = np.insert(u_values, 2, 0, axis=1)  # make it 3d
          startPoints = np.insert(startPoints, 2, 0, axis=1)  # make it 3d
          endPoints = np.insert(endPoints, 2, 0, axis=1)  # make it 3d
  
      actor = shapes.Arrows(
          startPoints, endPoints, s=s, scale=scale, c=c, alpha=alpha, res=res
      )
      actor.mesh = mesh
      actor.u = u
      actor.u_values = u_values
      return actor
docs: Build arrows representing displacements.
      
      :param float s: cross-section size of the arrow
      :param float rescale: apply a rescaling factor to the length