code: def make_quad(points, size_u, size_v):
      
      # Start with generating a zig-zag shape in row direction and then take its reverse
      new_points = make_zigzag(points, size_v)
      new_points.reverse()
  
      # Start generating a zig-zag shape in col direction
      forward = True
      for row in range(0, size_v):
          temp = []
          for col in range(0, size_u):
              temp.append(points[row + (col * size_v)])
          if forward:
              forward = False
          else:
              forward = True
              temp.reverse()
          new_points += temp
  
      return new_points
docs: Converts linear sequence of input points into a quad structure.
  
      :param points: list of points to be ordered
      :type points: list, tuple
      :param size_v: number of elements in a row
      :type size_v: int
      :param size_u: number of elements in a column
      :type size_u: int
      :return: re-ordered points
      :rtype: list