code: def build_pos_grid(start, end, nstep, mesh=False):
      
      # Build X and Y arrays
      dx = end[0] - start[0]
      if dx < 0:
          nstart = end
          end = start
          start = nstart
      dx = -dx
      stepx = dx / nstep
      # Perform linear fit to find exact line that connects start and end
      xarr = np.arange(start[0], end[0] + stepx / 2.0, stepx)
      yarr = np.interp(xarr, [start[0], end[0]], [start[1], end[1]])
  
      # create grid of positions
      if mesh:
          xa, ya = np.meshgrid(xarr, yarr)
          xarr = xa.ravel()
          yarr = ya.ravel()
  
      return xarr, yarr
docs: Return a grid of positions starting at X,Y given by 'start', and ending
      at X,Y given by 'end'. The grid will be completely filled in X and Y by
      every 'step' interval.