'3D Mesh - How to reduce the genus with smallest mesh change?

I have a 3D polygon mesh. It is a closed surface and has several holes (genus >= 2) and I do not know where the holes are.

I am looking for an algorithm to reduces the genus (potentially to 0 to have no holes) while keeping the mesh as close as possible to the original shape. The success criteria for the new mesh would be:

  • genus = 0
  • original mesh is inside the new one (it seems possible to check that each point of the original mesh is inside the new one)
  • and with the smallest volume increase.

I suppose this would be equivalent to filling the “holes” (holes being counted as the genus).

I would be interested in any idea to solve this.



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source