code: def Arrow(start=(0.,0.,0.), direction=(1.,0.,0.), tip_length=0.25,
            tip_radius=0.1, shaft_radius=0.05, shaft_resolution=20):
      
      # Create arrow object
      arrow = vtk.vtkArrowSource()
      arrow.SetTipLength(tip_length)
      arrow.SetTipRadius(tip_radius)
      arrow.SetShaftRadius(shaft_radius)
      arrow.SetShaftResolution(shaft_resolution)
      arrow.Update()
      surf = PolyData(arrow.GetOutput())
      translate(surf, start, direction)
      return surf
docs: Create a vtk Arrow
  
      Parameters
      ----------
      start : np.ndarray
          Start location in [x, y, z]
  
      direction : list or np.ndarray
          Direction the arrow points to in [x, y, z]
  
      tip_length : float, optional
          Length of the tip.
  
      tip_radius : float, optional
          Radius of the tip.
  
      shaft_radius : float, optional
          Radius of the shaft.
  
      shaft_resolution : int, optional
          Number of faces around the shaft
  
      Returns
      -------
      arrow : vtki.PolyData
          Arrow surface.