Is there a conventional order for a geometric transformation's operations?

698 Views Asked by At

I'm trying to wrap my head around geometric transformations of 3D points (represented as 4x4 matrices) and understanding how to compose and decompose them.

In particular I've encountered, in order of increasing generality:

Rigid (aka Euclidean) Transforms - rotation and translation Similarity Transforms - rotation, translation, uniform scaling Affine Transforms - rotation, translation, scaling, shearing Homography (aka Perspective, Projective) Transforms - additionally does not necessarily maintain pairs of parallel lines.

(I'm hoping my understanding of that taxonomy is accurate so far, if not please correct me)

For a rigid transformation (when represented at a matrix [R | t]) the operation is rotated FOLLOWED by translation.

For a similarity transformation is doesn't matter when the scaling happens because it's a diagonal matrix so it commutes with all other matrices.

But when I think about an affine transform or homography is there a conventional order that the parts of the transform take place? How do I gain some intuition for this just looking at the matrix?

Perhaps a related question is how to decompose these different types or transforms into their components (rotation, scale, shear, translation) and more importantly what is the order associated with that decomposition and why? Is it unique?

1

There are 1 best solutions below

0
On

There is no specific order, this is application-dependent and situations are various.

For instance, a rotation $R$ around an arbitrary center $c$ would be applied by

  • translating $c$ to the origin ($-c$ translation),

  • rotating around the origin,

  • translating back to $c$.

Hence

$$p'=R(p-c)+c=Rp-Rc+c=Rp+t$$

or

$$p'=R(p-c)+c=R(p-c+R^{-1}c)=R(p+t).$$