docs: def angled_path(size, angle=0):
      """
      Generates a set of lines across an image, with the given angle.
      :param size: The size of the image
      :param angle: The angle of the lines.
      :return: A set of generators, each generator represents a line and yields a set of (x,y) coordinates.
      All the lines go left to right.
      """
      # y coordinates are inverted in images, so this allows for users to input more intuitive angle values.
      angle = -angle
      if angle % 180 == 0:
          yield from horizontal_path(size)
          return
      if angle % 180 == 90:
          yield from vertical_path(size)
          return
      width, height = size
      slope = tan(radians(angle))
      start_y = 0 if slope > 0 else height - 1
      for x in range(width-1, 0, -1):
          yield draw_line((x, start_y), size, slope)
      for y in range(height):
          yield draw_line((0, y), size, slope)