I'm doing a rigid body between point clouds using SVD.
Sometimes the routine produces an incorrect rotation matrix with a Determinant=-1, ie a reflection matrix.

Any idea why ?
Is there a valid way of converting the result into a correct matrix?


1 Answer 1


Take a look on Generalized/constrained Procrustes Problems.

It should be sufficient to update singular values in $\Sigma$.

The $\det(SVD)=-1$ case is discussed in more detail in 1987 paper of Arun, Huang and Blostein: "Least-squares fitting of two 3-D point sets".


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.