Remeshing is necessary to get a mesh quality good enough to run further geometry processing algorithms through without choking, such as our hyperbolic metric computation. I have an algorithm for remeshing that is pretty painful.
compute metric on mesh while mesh is broken: flag broken edges fix broken edges in blender export mesh compute metric on mesh is mesh broken?
I wonder if I can really fully automate this. The types of geometric configurations I see fall into a few typical cases, most commonly is a valence-3 vertex forming a sharp spike. But there are sometimes some artifacts that are just noise and need to be burned with fire. Here’s a typical case that seems like it should be easy to automatically fix with edge-flip and edge-collapse:
Another complication is if landmarks have already been marked on a mesh that is remeshed: if landmark vertices were removed, then the landmark must be re-marked, which is more time consuming. An automated remesh method could potentially keep track of this if it does some nice operations that respect topology of the landmarks, but if we’re blasting chunks of the mesh away and resurfacing, then it becomes a little more difficult.
For the time being, I am pushing forward manually. Notes to self follow below:
# convert xyz-points into a python list to copy-paste into blender asc2idx -m mesh.off -p broken_verts.asc -f2
Here’s a helper function to run in the blender console with a list generated with the above command-line tool to select the vertices:
By the way, Blender doesn’t have an OFF import-export plugin by default so here’s one that I have that parses simple OFF files: blender-off-addon.