Unique affine transformation, sending $P_1$ to $P'_1$, $P_2$ to $P'_2$, $P_3$ to $P'_3$ where $\| P_i P_j \| = \| P'_i P'_j \| $

17 Views Asked by At

Given three points in $3d$ space $\{ P_i, i = 1, 2, 3 \} $, and corresponding three points $\{ P'_i, i = 1, 2, 3 \} $ that are their images, respectively, such that $\| P_i P_j \| = \| P'_i P'_j \| , j \gt i $. I want to find the unique affine transformation that sends $P_i$ to $P'_i$, i = 1,2,3.

My approach:

Since the lengths between the points is preserved under this transformation, then it is a shift plus rotation. Therefore, we can assume that the transformation is given by

$ f(r) = R (r - P_1) + P'_1 $

where $R$ is a rotation matrix in $3d$.

Substituting the two remaining images, we get

$ P'_2 = R (P_2 - P_1) + P'_1 $

$ P'_3 = R (P_3 - P_1) + P'_1 $

So that

$ (P'_2 - P'_1) = R (P_2 - P_1) $

$ (P'_3 - P'_1) = R (P_3 - P_1) $

Since $R$ is a rotation matrix then from the properties of the cross product on vectors, it follows that

$ (P'_2 - P'_1) \times (P'_3 - P'_1) = R \bigg( (P_2 - P_1) \times (P_3 - P_1) \bigg) $

Hence, letting,

$ A = [ (P'_2 - P'_1) , (P'_3 - P'_1) , (P'_2 - P'_1) \times (P'_3 - P'_1) ] $

$ B = [ (P_2 - P_1) , (P_3 - P_1) , (P_2 - P_1) \times (P_3 - P_1) ] $

Then

$ A = R B $

Hence, the matrix $R$ can be determined uniquely and exactly as

$ R = A B^{-1} $

That's all.

I would appreciate if someone could read through the above analysis, and verify my findings.

Thank you all.