Exactly, I realized about an hour ago that some points weren’t perfectly on the surface. Once I corrected them, everything worked fine. But shouldn’t the algorithm still work even with noisy source data? I tried the same input with Open3D, and it returned an almost identity matrix. That’s why I initially ruled out the idea of having incorrect data points.