A unit cube is centered at $(0,0,0)$ with vertices $(\pm1, \pm1, \pm1)$. What is the standard matrix for a 120 degree rotation about the line joining the points $(-1,-1,-1)$ and $(1,1,1)$?

Know: To get the standard matrix for the rotation, I need to map the original points $(0,0,1), (0,1,0), (1,0,0)$ to their post-rotation position in space. The new coordinates will comprise the rotation matrix. The new points/vectors can be calculated using the Rodrigues Rotation Formula involving cross-products.

However, is there a more organic method that does not involve cross-products?

  • 2
    $\begingroup$ Seems to me that once you draw your mental picture, you see that these are just the three cyclic permutations of the coordinates. So your matrices are the three permutation matrices of determinant $+1$. $\endgroup$ – Lubin Jan 9 '15 at 13:45
  • $\begingroup$ The way I envisioned it a 90 degree rotation would be on cyclic permutation. Is that wrong? $\endgroup$ – user3642365 Jan 9 '15 at 14:47
  • $\begingroup$ @user3642365 It sounds like you're permuting the vertices along a rectilinear axis, rather than what Lubin is saying: permuting the coordinates would be causing a rotation around the vector $(1,1,1)$. $\endgroup$ – rschwieb Jan 9 '15 at 15:31
  • 2
    $\begingroup$ Ah i see. 120 degrees is one "shift", 240 degrees is two "shifts" or one "shift" the other way, and 360 degrees is three shifts which gives us the original $\endgroup$ – user3642365 Jan 9 '15 at 18:18
  • $\begingroup$ @user3642365 Right $\endgroup$ – rschwieb Jan 11 '15 at 2:09

Concentrating on just the first octant, we can see that a rotation by $\frac{2\pi}{3}$ (counterclockwise of course, with respect to the plane through the tips of $i,j,k$ (this is normal to $(1,1,1)$) sends $i$ to $j$, $j$ to $k$ and $k$ to $i$, where $i,j,k$ are my names for the standard basis. This plane cuts the first octant at an equilateral triangle, and the rotation is just permuting the vertices.

Writing this as a matrix on the left of column vectors, we would have then

$$T=\begin{bmatrix}0&0&1 \\1&0&0\\0&1&0\end{bmatrix}$$

As you can see:




So it is indeed the transformation that permutes $i,j,k$ cyclically.

  • $\begingroup$ the plane $x+y+z = 0$ cuts the unit cube in a regular hexagon of length $\sqrt 2$ called the petri polygon. $\endgroup$ – abel Jan 9 '15 at 15:24

I don't know whether you'll find this approach to be more "organic", but here's one that does not involve cross products:

The matrix for a $120^\circ$ rotation about the $z$-axis is given by $$ R = \frac 12 \pmatrix{-1 & \sqrt{3}&0\\-\sqrt 3 & -1&0\\0&0&2} $$ One way to get the desired matrix is to take this matrix and apply a "change of basis". That is, select an $x,y,z$-axis corresponding to this new rotation.

Of course, our new $z$-axis will be the unit vector in the $(1,1,1)$ direction. For $x,y$ axes, it suffices to take any two orthogonal directions in the normal plane. In particular, we can take the unit vectors in the $(1,-1,0)$ and $(1,1,-2)$ directions.

Let $U$ be the matrix whose columns form this orthonormal basis (in x,y,z order). That is, $$ U = \pmatrix{ 1/\sqrt 2 & 1/\sqrt 6 & 1/\sqrt 3\\ -1/\sqrt 2 & 1/\sqrt 6 & 1/\sqrt 3\\ 0 & -2/\sqrt 6 & 1/\sqrt 3 } $$ The matrix of the desired rotation will be given by $$ A = URU^T = \\ \frac 12 \pmatrix{ 1/\sqrt 2 & 1/\sqrt 6 & 1/\sqrt 3\\ -1/\sqrt 2 & 1/\sqrt 6 & 1/\sqrt 3\\ 0 & -2/\sqrt 6 & 1/\sqrt 3 } \pmatrix{-1 & \sqrt{3}&0\\-\sqrt 3 & -1&0\\0&0&2} \pmatrix{ 1/\sqrt 2 & 1/\sqrt 6 & 1/\sqrt 3\\ -1/\sqrt 2 & 1/\sqrt 6 & 1/\sqrt 3\\ 0 & -2/\sqrt 6 & 1/\sqrt 3 }^T $$ where $T$ denotes the matrix transpose.

Note: there are two $120^\circ$ rotations, each corresponding to a "clockwise" or "counterclockwise" rotation. To get the opposite rotation, begin with $$ R = \frac 12 \pmatrix{-1 & -\sqrt{3}&0\\ \sqrt 3 & -1&0\\0&0&2} $$


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.