docs: def create_triangular_prism(p1, p2, p3, height):
      '''
      Return a Mesh which is a triangular prism whose base is the triangle
      p1, p2, p3. If the vertices are oriented in a counterclockwise
      direction, the prism extends from behind them.
  
      '''
      from blmath.geometry import Plane
  
      base_plane = Plane.from_points(p1, p2, p3)
      lower_base_to_upper_base = height * -base_plane.normal # pylint: disable=invalid-unary-operand-type
      vertices = np.vstack(([p1, p2, p3], [p1, p2, p3] + lower_base_to_upper_base))
  
      faces = np.array([
          [0, 1, 2],  # base
          [0, 3, 4], [0, 4, 1],  # side 0, 3, 4, 1
          [1, 4, 5], [1, 5, 2],  # side 1, 4, 5, 2
          [2, 5, 3], [2, 3, 0],  # side 2, 5, 3, 0
          [5, 4, 3],  # base
      ])
  
      return Mesh(v=vertices, f=faces)