Reputation: 11
So I'm trying to use a boundary-based method to do mesh segmentation on a mesh with a random number of small handles. I already have a rough boundary, only need to refine it to make sure it stays below the lowest points of all the tunnels in the mesh. So I need to know where the tunnels are.
I found a few papers computing handle and tunnel loops, which are a bit intimidating given that I don't have a solid topology background.
Upvotes: 1
Views: 355
Reputation: 1057
You can obtain an homotopy/homology basis by using a tree/cotree decomposition of your (manifold) mesh:
The simplest way to compute the spanning trees would be using breadth-first search, which results in decent-looking generator loops, unlike e.g. depth-first search.
If you need the generator loops to be tight, check out "Greedy Optimal Homotopy and Homology Generators" by Jeff Erickson in which they use shortest-path tree and minimum spanning tree for the tree/cotree decomposition. They also describe how to obtain a tight homology basis but the method is no longer "easy".
Upvotes: 0
Reputation: 11
I found no simple way to directly locate handles. However, shape diameter function can reflect whether a vertex is near to a hole or not to a large extent if there's no noise inside of the mesh.
Upvotes: 0
Reputation: 58881
What you want is to know a certain part of the boundary of your triangulated 3D domain. This cannot be done because, in 3D, there is nothing that topologically separates a "hole" from other parts of the boundary. In other words: All boundaries are holes.
Upvotes: 0