This question is closely related to this one, but with a key change.
Consider Affine transformations in $\mathbb{R}^2$. There are a number of fundamental such transformations, for example:
- Translation by $\Delta x$ and $\Delta y$
- Scaling (by $w$ in the $x$-direction and $h$ in the $y$-direction)
- Mirror reflection (a special case of scaling where one component is $1$, the other is $-1$)
- Shearing by $\phi$ with respect to some line (typically an axis)
- Rotation by $\theta$ (typically around the origin)
- Homothety (moving each point toward the "homothetic center" by a distance proportional to its original distance from that center)
As is well known, any arbitrary Affine transform can be built from a subset of these "basis" transforms, which form the Affine group. For instance, translations, rotations, and shears suffice to span the full set of Affine transformations.
If one knows that a particular Affine transformation was produced by a particular sequence of component transformations (e.g., first a rotation, then a shear, then a homothety), it is a fairly straightforward problem to write out the (augmented) transformation matrices and use linear algebra to compute the entries in each of the component matrices, as described in the linked question.
But what if you don't know which basic transformations were used and in what order? What if you want to determine a sequence of transformations that produced the observed one?
Of course, because the Affine transformations form a continuous (Lie) group, there is no unique answer: there are in principle an infinite number of sequences of basic transformations that give the observed compound transformation.
Question
Suppose you are given an arbitrary Affine transformation (no matter how complex), described by an augmented transformation matrix ${\bf M}$. How does one find the minimal number of basic transformations (and their mathematical form) and the sequence in which they are performed to equal ${\bf M}$?
For instance, given some complex Affine transform, you might find that it could be produced by a 1) mirror reflection, then 2) rotation by $\theta$, then 3) shear by $\phi$ measured with respect to the $y$ axis, and finally 4) a translation by $(\Delta x, \Delta y)$.
Or.....
you might find that the same complex Affine transformation could be described by a 1) homothety with homothetic center ${\bf c}$ and scale parameter $\lambda = .3$ followed by 2) a translation by $(\Delta x, \Delta y)$.
I'm seeking a "minimal" solution, here the latter... even if it is not unique.
Presumably the approach involves "projecting" the known transformation matrix onto a "basis" of Affine matrices, but how does that also yield the necessary sequence of applications?
Is there a reference paper (or webpage) describing this problem and its solution?