# Transformation Matrices [duplicate]

Assuming that I have a set of points in a co-ordinate system (I know their coordinates), then I use a combination of transformations (Rotation, Scaling, Shearing and Translation) to get it to a new system (where again, I know the new co-ordinates), How do I find out the values of shearing, rotation, scaling and translation? Any method other than Iwasawa?

What I have tried:

The only thing I've realized is that if I have set of old coordinates and a set of new co-ordinates,

$$[Old] \times Transformation Matrix = [New]$$ $$Transformation Matrix = [Old] ^{-1}[New]$$ This gives me the cumulative Transformation matrix, how do I break it down to tell me what the shear, rotation, scale and translation was?

-

## marked as duplicate by joriki, Zhen Lin, William, D'oh, QuixoticSep 9 '12 at 15:20

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

–  joriki May 10 '12 at 12:58
Both of these are in the search results for "rotation shear scaling". Please take a bit more care checking whether your question has been asked before before posting it. –  joriki May 10 '12 at 12:59

## 1 Answer

The translation, of course, will not be expressed in the matrix, but rather it is given by adding a fixed vector to all the old coordinates.

Now supposing your old and new coordinates share the same origin (after translation), you can compute the matrix $M$ for which transforms old coordinates to new: $[x_1\dots x_n]M=[y_1\dots y_n]$. I'm pretty sure the conditions you want make $M$ nonsingular, so the polar decomposition of $M$ will tell you what rotation and what stretching has occurred.

I don't know about shear explicitly: is it just the result of stretching going at different rates in different directions?

-