I’m looking for a way to integrate object aligment / surface matching in Blender. There are multiple other applications and libraries which do this well already (point cloud library, VTK, meshlab). My client needs it within Blender for a very specific purpose but I can imagine applications for rigging and modelling.
Loose Design Specs:
User guided pre alignment
-drawn line or pattern on surface
Ability to limit/specify areas of mesh
-areas to exclude
-use partial areas for alignment
-can easily use vertex groups + weight paint or sculpt masking for this
Error reporting of alignment quality
Windows, Mac and Linux compatible
I’m open to tackling this several ways
A. Building dll/so to use with ctypes and python
B. A pure python/bpy implementation
C. C implementaiton with a custom blender build with python API exposure in geom utils or mesh utils
Speed is not going to be hugely important because the mesh sizes are going to be in the 100k verts range and using masking/area selection and limiting should keep our data sets manageable.
If some of the above parts aren’t achievable, at a minimum I need a function like the following
(transform_matrix, error) = icp(verts1, verts2, iterations, target_convergence)
Code will be GPL so someone can take the guts and make a nice addon with it
PM me with $ and timeline to see if this is feasible.