code: def simplex_iterator(scale, boundary=True):
      
  
      start = 0
      if not boundary:
          start = 1
      for i in range(start, scale + (1 - start)):
          for j in range(start, scale + (1 - start) - i):
              k = scale - i - j
              yield (i, j, k)
docs: Systematically iterates through a lattice of points on the 2-simplex.
  
      Parameters
      ----------
      scale: Int
          The normalized scale of the simplex, i.e. N such that points (x,y,z)
          satisify x + y + z == N
  
      boundary: bool, True
          Include the boundary points (tuples where at least one
          coordinate is zero)
  
      Yields
      ------
      3-tuples, There are binom(n+2, 2) points (the triangular
      number for scale + 1, less 3*(scale+1) if boundary=False