Suppose I want to perform translate in the following order:

  1. Scale by $S$
  2. Rotate by matrix $R_1$
  3. Rotate by matrix $R_2$
  4. Translate by $T%$.

When I apply the matrix, should the overall transformation matrix be:

$M = T \times R_1^{-1} \times R_2^{-1} \times S$


$M = T \times R_2^{-1} \times R_1^{-1} \times S$ ?

I always thought the transformations should be applied in reverse, so it should be the second case. But I'm told that it's the first case instead. Is there a special need to reverse the order of rotation apart from taking the inverse too?

By the way, why must I take the inverse matrix for rotation?

  • $\begingroup$ Matrices can be row or column major which flips the order that you would apply them in. There's no need to inverse any rotations to accomplish a rotation. $\endgroup$ Jan 14 '18 at 4:30
  • 2
    $\begingroup$ Whoever told you the first case is confused and you are too. The overall transformation matrix, assuming it will be applied to the left of a column vector, should be $M=TR_2R_1S$. $\endgroup$
    – user106
    Jan 14 '18 at 11:48

Your Answer

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

Browse other questions tagged or ask your own question.