Why do I multiply two matrices together to find their Rigid Body Transform Using SVD?

165 Views Asked by At

Given two $N\times M$ matrices $A,B$ where I wish to find the best mapping of $A\to B$ using rotation and translation I can use Least-Squares SVD to find the rotation and translation matrices. Via:

$H= A^T * B$

$SVD(H)\to U,S,V^T$

Rotation $=V*U^T$

Translation $=B-R*A^T$

What does the matrix $H$ represent? If $A=B$ then Matrix $H$ should be the identity matrix, so is $H$ really just some kind of difference matrix then? Can anyone elaborate further?