4

I'm trying to find the rotation matrix for when rotating around a point that is not origin. I read another post and the post had said that we can think about moving the point back to the origin, but I think the question may have been about 2D. (or referring to a situation where the point is (a,b,0) where a,b != 0) I'm not sure how the method will apply to 3D situation or a situation where the point is (a,b,c) where all of a,b,c are nonzero. I would really appreciate help!

  • 1
    The idea is essentially the same: if $x \in \Bbb R^3$ is a column vector and $R$ is a $3 \times 3$ rotation matrix, then the block matrix $$ \pmatrix{R & x\0 & 1} $$ corresponds to the rotation associated with $R$ (about the origin) followed by a translation by $x$. If $x \neq 0$ and $R \neq I$, then this composition can be represented as a rotation about a point not equal to the origin. – Ben Grossmann Mar 07 '22 at 06:57
  • In 3D, a vector orthogonal matrix of a rotation is not a rotation around a point, but around an axis. It means that for an affine rotation, if a point is fixed, then there is a whole line of fixed points. – mathcounterexamples.net Mar 07 '22 at 08:44

1 Answers1

3

Suppose that $R$ is a $3 \times 3$ rotation matrix (corresponding to a rotation about the origin) and that we'd like to perform the same rotation, but centered at the point $v = (a,b,c) \in \Bbb R^3$. This transformation can be implemented by the formula $$ T(x) = R(x - v) + v = Rx + (v - Rv). $$ In other words, the transformation amounts to a the rotation $R$ about the origin followed by a translation by $v - Rv$. Thus, this transformation can be represented in homogeneous coordinates by the block matrix $$ M = \pmatrix{R & v-Rv\\ 0_{1 \times 3} & 1}. $$

Ben Grossmann
  • 234,171
  • 12
  • 184
  • 355