Sampling the transformation matrix

92 Views Asked by At

I have a rigid 3D homogeneous transformation matrix 4*4 which includes Rotation (Roll, Yaw and pitch) plus the translation(X,Y and Z).

I want to split this transformation into N small and equal transformations where:

T_Orjinal = T.T.T.....T

Is it theoretically OK to just extract the angles and translation values from T_orjinal and divide them by N then construct the T matrix from them? If not, how can I achieve that?

1

There are 1 best solutions below

0
On BEST ANSWER

Subdividing the rotation angle the way you propose works, but the translation is more complicated. W.l.o.g. suppose that $T$ is of the form $$\left[\begin{array}{c|c}R & \mathbf t \\ \hline \mathbf 0^T & 1\end{array}\right].$$ Then $$ T^2 = \left[\begin{array}{c|c} R^2 & \mathbf t+R\mathbf t \\ \hline \mathbf 0^T & 1\end{array}\right] \\ T^3 = \left[\begin{array}{c|c} R^2 & \mathbf t+R\mathbf t+R^2\mathbf t \\ \hline \mathbf 0^T & 1\end{array}\right] \\ \vdots \\ T^n = \left[\begin{array}{c|c} R^n & \left(\sum_{k=0}^{n-1} R^k\right)\mathbf t\\ \hline \mathbf 0^T & 1\end{array}\right].$$ So, $\mathbf t= \left(\sum_{k=0}^{n-1} R^k\right)^{-1}\mathbf t_{\text{orig}}$, assuming that the matrix is nonsingular.

Off the top of my head, I can’t think of a way to simplify this sum of powers of $R$. Since $(R-I)\left(\sum_{k=0}^{n-1} R^k\right)=R^n-I$, it’s tempting to say that $\left(\sum_{k=0}^{n-1} R^k\right)^{-1}=(R^n-I)^{-1}(R-I)$, but every 3-D rotation has $1$ as an eigenvalue and $R^n$ is a rotation (the rotation part of the original matrix), so unfortunately $R^n-I$ is singular.