code: def FlatArrow(line1, line2, c="m", alpha=1, tipSize=1, tipWidth=1):
      
      if isinstance(line1, Actor):
          line1 = line1.coordinates()
      if isinstance(line2, Actor):
          line2 = line2.coordinates()
          
      sm1, sm2 = np.array(line1[-1]), np.array(line2[-1])
  
      v = (sm1-sm2)/3*tipWidth
      p1 = sm1+v
      p2 = sm2-v
      pm1 = (sm1+sm2)/2
      pm2 = (np.array(line1[-2])+np.array(line2[-2]))/2
      pm12 = pm1-pm2
      tip = pm12/np.linalg.norm(pm12)*np.linalg.norm(v)*3*tipSize/tipWidth + pm1
      
      line1.append(p1)
      line1.append(tip)
      line2.append(p2)
      line2.append(tip)
      resm = max(100, len(line1))
      
      actor = Ribbon(line1, line2, alpha=alpha, c=c, res=(resm, 1)).phong()
      settings.collectable_actors.pop()
      settings.collectable_actors.append(actor)
      return actor
docs: Build a 2D arrow in 3D space by joining two close lines.
  
      .. hint:: |flatarrow| |flatarrow.py|_