3

Suppose I have a set of points $P$ in the 2D plane.

Let $(\theta_1, p_1)$ and $(\theta_2, p_2)$ be two axis-pivot rotation, where for each $i \in \{1, 2\}$, $\theta_i$ is a rotation angle and $p_i$ the pivot point of this rotation. I would like to rotate each point of $P$ by an angle of $\theta_1$ around $p_1$, then rotate each resulting point by an angle of $\theta_2$ around $p_2$.

The resulting location of each point of $P$ can easily be computed by calculating the result of the first rotation, then the second.

However, can this be described by a single axis-pivot rotation $(\theta_3, P_3)$?

Semi-related is this question: Composition of two axis-angle rotations

However, it applies to 3D and seems more complicated than it needs to be.

  • I don't know the answer, but if it can be, then the pivot is a fixed point of the composition, so I would first try to find such a fixed point. – saulspatz Feb 27 '18 at 19:45
  • If it was possible to describe it by a single rotation, then the involute of , e.g., a triangle would be a circle. It might be possible for infinitesimal rotations (shall think about). – G Cab Feb 27 '18 at 19:54
  • $G Cab This went way over my head. Can you explain a bit, please? – saulspatz Feb 27 '18 at 20:00
  • Express the rotations as homogeneous $3\times3$ matrices and multiply them together, then decompose the resulting matrix. – amd Feb 27 '18 at 20:30
  • @saulspatz: sorry, my impression was wrong, because we are then to consider the end points of the involute and find a circle between them, having same center as for other couples of points. And that is possible. – G Cab Feb 27 '18 at 22:29

3 Answers3

3

I think the answer is yes, except for an edge case. To do a pivot rotation of angle $\theta$ about some point $a,$ we translate $a$ to the origin, rotate by $\theta,$ and translate the origin back to $a.$ That is $f(x) = A(x-a)+a = Ax +(I-A)a.$ If we have some affine transformation $T(x) = Mx+c,$ where $M$ is a rotation matrix, then $T$ is a pivot rotation provided that c is of the form $(I-M)y,$ which is clearly true if $I-M$ is invertible. Calculating the determinant, we find that $I-M$ is invertible unless $M=I,$ in which case $T$ is a translation.

Now let $f(x) = Ax + (I-A)a, g(x) = Bx +(I-B)b,$ be pivot rotations, so that $A,B$ are non-identity rotations. Then $f\cdot g(x) = ABx + z$ where $z$ is a constant vector. By what has gone before, this is a pivot rotation, except in the case where $A=B^{-1},$ when it is a translation.

saulspatz
  • 53,824
3

A rotation $R(\theta,P)$ can be decomposed as the product of two reflections $P_r$ and $P_s$, about any two lines $r$ and $s$ intersecting at $P$ and forming an angle $\theta/2$ between them: $R(\theta,P)=P_s\circ P_r$.

If you have two rotations $R(\theta_1,P_1)$, $R(\theta_2,P_2)$, and $r$ is line $P_1P_2$, you can then choose other two lines $a$, $b$ such that $$ R(\theta_1,P_1)=P_r\circ P_{a},\quad R(\theta_2,P_2)=P_{b}\circ P_r. $$ It follows that $$ R(\theta_2,P_2)\circ R(\theta_1,P_1)=P_{b}\circ P_r\circ P_r\circ P_{a}= P_{b}\circ P_{a}. $$ If lines $a$ and $b$ intersect at $P_3$, this is indeed a rotation. If instead $a$ and $b$ are parallel, this is a translation: that happens if $\theta_1+\theta_2$ is a multiple of 360°.

  • Thank you for the nice answer. To be sure, is it true that the final rotation is of angle $\theta_1 + \theta_2$, with the pivot being the intersection of $a$ and $b$? – Manuel Lafond Mar 01 '18 at 05:46
  • Yes, that's sure: I didn't provide many details, but I could write them down if needed. – Intelligenti pauca Mar 01 '18 at 13:51
  • Ah thanks, I think that's fine. From this it's not too hard to calculate the $(\theta_3, P_3)$ I was looking for. This is quite an elegant solution to the problem. – Manuel Lafond Mar 01 '18 at 15:04
2

Let $R_i$ be the rotation about the point $p_i = (x_i, y_i)$ with the rotation angle $\theta_i$.

Let $R_\theta = \begin{pmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta\end{pmatrix}$ be the rotation around the origin.

$R_i$ can be expressed as

$$R_i \begin{pmatrix} x \\ y\end{pmatrix} = R_{\theta_i} \begin{pmatrix} x \\ y\end{pmatrix} + (I - R_{\theta_i})\begin{pmatrix} x_i \\ y_i\end{pmatrix} $$

where $I$ is the identity.

Now we have:

\begin{align}R_2R_1 \begin{pmatrix} x \\ y\end{pmatrix} &= R_2 \left(R_{\theta_1} \begin{pmatrix} x \\ y\end{pmatrix} + (I - R_{\theta_1})\begin{pmatrix} x_1 \\ y_1\end{pmatrix}\right)\\ &= R_{\theta_2}R_{\theta_1} \begin{pmatrix} x \\ y\end{pmatrix} + R_{\theta_2}(I - R_{\theta_1})\begin{pmatrix} x_1 \\ y_1\end{pmatrix} + (I - R_{\theta_2})\begin{pmatrix} x_2 \\ y_2\end{pmatrix}\\ &= R_{\theta_1 + \theta_2}\begin{pmatrix} x \\ y\end{pmatrix} + \underbrace{(R_{\theta_2} - R_{\theta_1 + \theta_2})\begin{pmatrix} x_1 \\ y_1\end{pmatrix} + (I - R_{\theta_2})\begin{pmatrix} x_2 \\ y_2\end{pmatrix}}_{=b} \end{align}

For this to be of the form above, the rotation angle is obviously $\theta_1 + \theta_2$, and the pivot point then has to be $(I - R_{\theta_1 + \theta_2})^{-1}b$.

The matrix $I - R_{\theta_1 + \theta_2}$ is indeed invertible when $\theta_1 + \theta_2 \ne 2k\pi$ for $k \in \mathbb{Z}$:

$$\begin{vmatrix} 1 - \cos(\theta_1 + \theta_2) & \sin(\theta_1 + \theta_2) \\ -\sin(\theta_1 + \theta_2) & 1 - \cos(\theta_1 + \theta_2)\end{vmatrix} = 2(1 - \cos(\theta_1 + \theta_2)) \ne 0$$

mechanodroid
  • 47,570