# Affine Transformation as Rotation

Im trying to do this textbook question which asks me to "express" a motion T(x) = Ax + b in the form T = Rot(P, $$\theta$$) (A is the rotation matrix)

I know that if I draw the transformation, the point P is chosen somewhere on the bisector between x and x', but Im not sure if its also possible to give a precise description of the point P in terms of A and b. is there a way to do this, or is the answer to this question simply to choose a point on the bisector?

• It depends if you want $T(x)$ to be expressed in the new form only for a specific point $x$ or for ANY point. – Aretino Feb 14 at 17:09
• for any point. it should be independent of x or any coordinate – Nicola Zaugg Feb 14 at 17:26

## 2 Answers

Your motion is the composition of a rotation $$R$$ in the plane, given by matrix $$A$$, with a translation $$T$$ by a vector $$b$$, which I'll rename $$\vec t$$ in the following. I'll also call $$O$$ and $$\theta$$ the center and angle of rotation $$R$$.

A rotation $$R$$ with center $$O$$ of angle $$\theta$$ can be obtained by combining two reflections, about any two lines passing through $$O$$ and forming an angle $$\theta/2$$ between them. A translation $$T$$ of vector $$\vec t$$ can be obtained by combining two reflections, about any two lines perpendicular to $$\vec t$$ and at a distance $$t/2$$ between them.

We can then choose reflection lines so that two of them be the same: take line $$a$$ passing through $$O$$ and perpendicular to $$\vec t$$, line $$b$$ parallel to $$a$$ and at a distance $$\vec t/2$$ from it, line $$c$$ which is obtained by rotating $$a$$ around $$O$$ by an angle $$-\theta/2$$ (see diagram). We have: $$T=P_b\circ P_a \quad\text{and}\quad R=P_a\circ P_c,$$ so that: $$T\circ R=P_b\circ P_a\circ P_a\circ P_c=P_b\circ P_c.$$ Hence your transformation is the same as $$P_b\circ P_c$$, that is a rotation of angle $$\theta$$, around a center $$P$$ which is the intersection of lines $$b$$ and $$c$$.

Your idea of using the bisector of $$\mathbf x$$ and $$T(\mathbf x)$$ has potential. Taking two known vectors, such as the standard basis vectors $$\mathbf e_1$$ and $$\mathbf e_2$$, you can find the center of the rotation by intersecting the two bisectors. Now, $$T(\mathbf e_i)$$ is just $$\mathbf a_i+\mathbf b$$, where $$\mathbf a_i$$ is the $$i$$th column of $$A$$, but after that the calculations look like they get a bit messy.

Fortunately, there’s another, simpler way to find the center of rotation $$\mathbf p$$: it is a fixed point of $$T$$, that is, it satisfies the equation $$A\mathbf p+\mathbf b=\mathbf p$$, or $$(I-A)\mathbf p=\mathbf b$$. Since $$A$$ is a rotation, if $$A\ne I$$ then $$I-A$$ is nonsingular, so $$\mathbf p=(I-A)^{-1}\mathbf b$$. (If $$A=I$$, we have a pure translation, which can’t be reinterpreted as a rotation about some finite point.)

The angle of this rotation about $$\mathbf p$$ is the same as that of the rotation represented by $$A$$. There are a few ways to show this, but a straightforward way is to look at $$T$$ as the composition of a translation $$P$$ to $$\mathbf p$$, some rotation $$R$$ about the origin, and then a translation back: $$T = P^{-1}\circ R\circ P$$. The translations are invertible, so we must have $$R = P\circ T\circ P^{-1}$$. Thus, for an arbitrary vector $$\mathbf x$$, $$R[\mathbf x] = (A(\mathbf x+\mathbf p)+\mathbf b)-\mathbf p = A\mathbf x + (A-I)\mathbf p + \mathbf b = A\mathbf x - \mathbf b + \mathbf b = A\mathbf x.$$ If you don’t happen to know the rotation angle, there are standard ways to extract it from the rotation matrix $$A$$.