First a very simple approach, (Delaunay) triangulate half the positions moved and use it for both clouds. This can lead to a good result if the movement is not too large.
Triangulation has intersections if negative oriented triangles exist. So, good triangulation for both clouds consists of triangles that are positively oriented in both clouds.
The approach may be similar to that, as mentioned, to create an initial triangulation in cloud A and try to locally eliminate negative oriented triangles in cloud B. Probably, standard flipping can solve the problem.
I think that you can check which points (region) cannot be triangulated well in both clouds, with the intersection of positive oriented triangles on both clouds and searching for points that are not in any intersection triangle. To do this, it is enough (necessary) to take the triangles node for the neighboring region (with neighboring nodes).
source share