0

I have two 3D points cloud with correspondances between points. I'm trying to find the best affine transformation between this two cloud, and I want to obtain finally: - Rotation - Shear - Scale - Translation

Curently i'm using Coherent point drift, but i know there is a better solution with probably mean square (probably procustes analysis) but with this solution I don't know how it is possible to extract more than only scale and rotation.

And there is a librairie to do this easily in python3 ?

Thank you in advance.

  • Does this answer your question? [How to find affine transformation matrix between two sets of 3D points?](https://stackoverflow.com/questions/56166088/how-to-find-affine-transformation-matrix-between-two-sets-of-3d-points) – Joe May 10 '20 at 18:54
  • Is there such a matrix that transforms all? Or are you looking for a best fit? – Joe May 10 '20 at 18:56
  • You could also try a 9-dimensional optimization where each coefficient of the matrix is optimized. – Joe May 10 '20 at 18:56
  • Hi @Joe, thank you for your quick answer ! I saw this first link and yes that's really interesting, i found that too https://lucidar.me/en/mathematics/calculating-the-transformation-between-two-set-of-points/ But I have a new question .. How can we estimate shearing ? I find many answers for rotation/translation/scaling but no one for shearing. – Nicolas Loiseau May 10 '20 at 19:11
  • https://stackoverflow.com/questions/18362043/shear-matrix-as-a-combination-of-basic-transformation – Joe May 11 '20 at 04:23
  • That's the inverse: https://www.ocf.berkeley.edu/~fricke/projects/israel/paeth/rotation_by_shearing.html – Joe May 11 '20 at 04:27
  • https://en.wikipedia.org/wiki/Singular_value_decomposition – Joe May 11 '20 at 04:30

0 Answers0