1
votes

I have an object in 2D space, that is rotated/scaled around. Normally I would find the transformation matrix straightforwardly:

  1. Translate by origin
  2. Rotate
  3. Scale
  4. Translate by -origin
  5. Translate by original position

Given an original object position at (0,0), I can easily get the new location as a vector by multiplying that by the transformation matrix.

However, for this problem I don't have the original position. I only have the final position.

How can I construct the same transformation matrix, when I only have the already-multiplied vector, not the original position?

I still have the transformation point, rotation and scale.

1
You need to know the transformation of three non-colinear vectors to reconstruct the transformation matrix. Can you get that? - Lutz Lehmann

1 Answers

0
votes

Not sure if I am telling you anything new but you use the inverses of the matrices applied in reverse order to find the original point(s) that was(were) transformed. Not entirely sure that this is what you are looking for but if so then there is a solution below.

Below is an example for 2D transformations. The method is easily extended for 3D

enter image description here

as you know the vector t and the rotation R and the scale s the inverses are easily calculated and applied.