docs: def qhalf(options, halfspaces, interior_point):
      """
      Similar to qvoronoi command in command-line qhull.
  
      Args:
          option:
              An options string. Up to two options separated by spaces
              are supported. See Qhull's qhalf help for info. Typically
              used options are:
              Fp
          halfspaces:
              List of Halfspaces as input.
          interior_point:
              An interior point (see qhalf documentation)
  
      Returns:
          Output as a list of strings.
          E.g., ['3', '4', '     1      1         0 ', '     1     -1      2 ',
          '    -1      1      2 ', '     1      1      2 ']
      """
      points = [list(h.normal) + [h.offset] for h in halfspaces]
      data = [[len(interior_point), 1]]
      data.append(map(repr, interior_point))
      data.append([len(points[0])])
      data.append([len(points)])
      data.extend([map(repr, row) for row in points])
      prep_str = [" ".join(map(str, line)) for line in data]
      output = getattr(hull, "qhalf")(options, "\n".join(prep_str))
      return list(map(str.strip, output.strip().split("\n")))