0
$\begingroup$

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?

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

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$.

enter image description here

$\endgroup$
0
$\begingroup$

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$.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.