Tracing the faces of a convex polyhedron from edges and vertices

128 Views Asked by At

I have a set of vertices and edges that by construction, form a convex polyhedron. I would like to know how to trace out the faces of such a polyhedron i.e. find a list comprised of set of edges that form a single face. Note:

  • Not all faces will be simplicial: they should have at most 4 vertices, but I am not sure of it, and I would like the algorithm to be robust to this
  • Algorithm must not merge facets (I would like all vertices to be part of 3 or more faces)

I thought that I could use the Qhull library for this task, but unfortunately I could not figure out how to not merge facets. Moreover, this library does not take advantage of the fact that I already know a list of edges.

Example of desired output: Cube with square, unmerged facets

Qhull default output, facets are simplicial and merged: Qhull output with merged, simplicial facets