I have an open mesh of arbitrary complexity like the example below:
I want to cluster the mesh faces into connected groups of more or less rectangular shape. Also, I need the ability to define the maximum deviation of face-normals within each group, to control the degree of curvature per cluster. I tried to visualize what I want to achieve in the next screenshot.
My final goal is to patch a clean nurbs-surface to every face-cluster to use for surface morphing later on. If I try to patch a surface to the whole mesh, the results are kind of wild, as expected due to the overall shape of the object - see example below:
Do you think my idea to cluster / group the mesh-faces with certain boundary conditions is a good approach to the problem, or are there simpler or more robust ways to achieve the described goals?
If my approach is viable, do you have any tips for implementing it (algorithms, plugins etc.)?
Any suggestions are highly appreciated.