1
$\begingroup$

EDIT

Lets assume my transformation does the following mapping:

\begin{align*} x = -y \\ y = -x \\ z = -z \end{align*}

Which produces this transformation matrix $R_t$:

$$ \begin{pmatrix} 0 & -1 & 0 \\ -1 & 0 & 0 \\ 0 & 0 & -1 \end{pmatrix} $$

A rotation around the $x$-axis, $R_{x}$ in one coordinate system should equal a rotation around the negative $y$-axis, $R_{-y}$, in the other coordinate system. Why is this relation not satisfied?

$I = R_x^{-1}*R_t*R_{-y}$


I'm a bit confused, so bear with me if I don't make total sense. I have two sets of rotations, $R_{1,k}$ and $R_{2,k}$, $k =1,\dots,N$ expressed in different coordinate systems. I want to find the transformation, $R_t$ between these coordinate systems, such that

$I = R_{2,k}^{-1} * R_t * R_{1,k}$

If $R_{1,k}$ represents the same rotation as $R_{2,k}$. I'm doing an optimization approach, using the above function as a cost function. I'm not getting the results I expecting. I know for a fact that $R_1$ and $R_2$ represent the same rotations and that the transformation between the coordinate systems is constant. Even then, I receive different $R_t$ depending on how $R_1$ and $R_2$ looks.

What is it Im doing wrong? Is it even possible to find such a transformation?

Help is greatly appreciated!

$\endgroup$
  • $\begingroup$ I guess you really mean "I have one set of rotations expressed in two different coordinate systems."? That's what the context seems like. I guess it would also make sense as "two sets of matrices representing one set of rotations in two different coordinates." $\endgroup$ – rschwieb Jul 10 '13 at 13:17
  • $\begingroup$ Yes,thats a much better explanation, thank you! $\endgroup$ – Eric Jul 10 '13 at 14:08
0
$\begingroup$

Solving the equation $I = R_{2,k}^{-1} * R_t * R_{1,k}$ for $R_t$, you would conclude that $R_{2,k}*R_{1,k}^{-1} = R_t$.

$\endgroup$
  • $\begingroup$ The problem is, I get different $R_t$ for different $k$, even though the transformation should be the same between each pair of matrices. $\endgroup$ – Eric Jul 10 '13 at 14:10
  • $\begingroup$ @Eric I believe you! But how will your equation hold unless they all agree? It looks like there is something you may be assuming or missing that is causing this problem. $\endgroup$ – rschwieb Jul 10 '13 at 15:37
  • $\begingroup$ Yeah, I guess I'm the problem! I've edited my original post with an example. Maybe you'll be able to see where my assumptions are not correct. Thank you! $\endgroup$ – Eric Jul 10 '13 at 17:13
0
$\begingroup$

When we say a rotation around the x-axis in one system is the same as a rotation around the negative y-axis in the other system, what this really means is that you can transform your coordinates from the first system to the second, do your rotation around the negative y-axis, and then transform the result back to the first system, and what you end up with (the result of applying three transformation matrices) is the same thing you could have gotten by just rotating around the x-axis in the original coordinates.

In other words,

$$ R_x = R_t^{-1} R_{-y}\, R_t. $$

Equivalently,

$$ I = R_x^{-1} R_t^{-1} R_{-y}\, R_t. $$

In your particular case, since $R_t^{-1} = R_t$, you could just as well write

$$ I = R_x^{-1} R_t\, R_{-y}\, R_t^{-1}. $$

That is why $R_x^{-1} R_t\, R_{-y}$ is not coming out equal to the identity matrix. You need another factor of $R_t$.

Finding $R_t$ via this equation is more difficult than it would be if $R_t$ appeared only once. You might be better off looking for the axis of rotation of each of your known rotations, and compute a matrix that transforms three of these axes in the first coordinate system (not all in the same plane) to the corresponding rotation axes in the other system.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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