Rotations in 3D Space

Unlike the two dimensional case, we will see that in three dimensions, the product of two normal vectors, \(\v{ab}\) with a third arbitrary vector \(\v{d}\) does not generally result in a rotation, as the arbitrary vector \(\v{d}\) does not necessarily lie on the same plane as \(\v{a}\) and \(\v{b}\). Instead we will need to right and left multiply by \(\v{ab}\) and its reverse \(\v{ba}\). We introduce the concept of a rotor \( \v{R} = \v{ab} = e^{\v{P}\frac{\theta}{2}} \) and its reverse as \( \v{\tilde{R}} = \v{ba} = e^{-\v{P}\frac{\theta}{2}} \) to see that we can rotate the component of \(\v{d}\) which lies on the plane while leaving the component of \(\v{d}\) which is perpendicular to the plane unaffected:

\[ \v{\tilde{R}dR} = \v{d_\parallel}e^{\v{P}\theta} + \v{d_\perp} \]

where \(\v{d_\parallel}\) and \(\v{d_\perp}\) are the components of \(\v{d}\) parallel and perpendicular to the plane \(\v{P}\) respectively.

The Magnitude-squared of a Vector

In three dimensional space, we will continue to assume our one rule that the magnitude squared of a vector is equal to the vector squared:

\[ |\v{a}|^2 = \v{a}^2 \]

But what implications can we draw from this in three dimensions?

The magnitude squared of a 3-D vector in a specific frame

Take the vector \(\v{a}\) and decompose it into an arbitrary reference frame with orthogonal and normal vectors, \(\v{x}\), \(\v{y}\) and \(\v{z}\)

\[ \v{a} = \vcThree{a} \]

and show that \(\v{a}^2\) is just the Pythagorean length based on the specific coordinates.

Solution

\[ \begin{aligned} \v{a}^2 = & (\vcThree{a})(\vcThree{a}) \\ = & a_x\v{x}a_x\v{x} + a_y\v{y}a_y\v{y} + a_z\v{z}a_z\v{z} + \\ & a_y\v{y}a_z\v{z} + a_z\v{z}a_y\v{y} + \\ & a_z\v{z}a_x\v{z} + a_x\v{x}a_z\v{z} + \\ & a_x\v{x}a_y\v{y} + a_y\v{y}a_x\v{x} \\ = & a_x^2 + a_y^2 + a_z^2 + \\ & a_y a_z(\v{yz} - \v{yz}) + \\ & a_z a_x(\v{zx} - \v{zx}) + \\ & a_x a_y(\v{xy} - \v{xy}) \\ = & a_x^2 + a_y^2 + a_z^2 \\ \end{aligned} \]

which is the definition of the inner product for a vector with coordinates \((a_x, a_y, a_z)\) with itself. That is,

\[ \v{a}^2 = \v{aa} = \v{a} \cdot \v{a} \]

This result is independent of the basis vectors of the chosen frame, which implies that the magnitude of a vector remains the same under rotation (we would hope so!), but we will need to wait until we define a rotation to show this properly.

To show that the magnitude squared is the same without a reference frame, we first need to define an arbitrary rotation in three dimensions. To define an arbitrary rotation, we first need to understand more about multiplying vectors in 3D space.

Multiplying Two Vectors

In two dimensions, we were able to define the coordinate-free multiplication of two vectors as

\[ \v{ab} = \v{a} \cdot \v{b} + \v{a} \wedge \v{b} \]

resulting in a scalar value and an area in the plane formed by the two vectors. We want to see if this also holds in three dimensions.

Comparing two and three dimensional vector products in a specific reference frame

We saw that the two-dimensional inner product, when evaluated in an arbitrary reference frame, is:

\[ \v{a} \cdot \v{b} = a_x b_x + a_y b_y \]

and similarly, that the outer product in two dimensions in an arbitrary reference frame is:

\[ \v{a} \wedge \v{b} = (a_x b_y - a_y b_x)\v{xy} \]

so that the product \(\v{ab}\) results in a scalar number and an area on the plane \(\v{xy}\).

Practise your vector algebra by evaluating the three dimensional vector product of \(\v{a}\) and \(\v{b}\) in the specific reference frame with orthonormal base vectors \(\v{x}\), \(\v{y}\) and \(\v{z}\) and compare the result, starting with:

\[ \v{a}\v{b} = (\vcThree{a})(\vcThree{b}) \]

Solution:

\[ \begin{aligned} \v{a}\v{b} = & (\vcThree{a})(\vcThree{b}) \\ = & a_x\v{x}b_x\v{x} + a_y\v{y}b_y\v{y} + a_z\v{z}b_z\v{z} + \\ & a_y\v{y}b_z\v{z} + a_z\v{z}b_y\v{y} + \\ & a_z\v{z}b_x\v{z} + a_x\v{x}b_z\v{z} + \\ & a_x\v{x}b_y\v{y} + a_y\v{y}b_x\v{x} \\ = & a_x b_x + a_y b_y + a_z b_z + \\ & (a_y b_z - a_z b_y)\v{yz} + \\ & (a_z b_x - a_x b_z)\v{zx} + \\ & (a_x b_y - a_y b_x)\v{xy} \\ \end{aligned} \]

Similar to the two-dimensional case, the result is a scalar and some amount of area.

Already in the above solution we see that the scalar part is an inner product of the two vectors, described in that arbitrary reference frame as:

\[ a_x b_x + a_y b_y + a_z b_z \]

while the non-scalar part of the result appears includes the two dimensional outer product \( (a_x b_y - a_y b_x)\v{xy} \) combined with similar but perpendicular components for \(\v{yz}\) and \(\v{zx}\). But the result is still in terms of the coordinates in the chosen arbitrary reference frame.

Choosing a specific frame for the 3D product

Similar to the approach we used in two dimensions, we can actually be quite intentional to choose a very specific reference frame and basis vectors, such that the vector \(\v{a}\) is aligned with \(\v{x}\) and that the plane spanned by \(\v{a}\) and \(\v{b}\) is aligned with the plane \(\v{xy}\) . In this specific frame \(a_z = a_y = b_z = 0\).

Show that with this specific choice of reference frame, the product \(\v{ab}\) reduces to the same result which we had for the two dimensional case,

\[ \v{ab} = |\v{a}||\v{b}|e^{\v{P}\theta} \]

where \(\v{P} = \frac{\v{a} \wedge \v{b}}{|\v{a} \wedge \v{b}|}\).

Solution

In this specific frame we have simply:

\[ \v{a} = |\v{a}|\v{x} \text{ and } \v{b} = |\v{b}|\v{x}e^{\v{xy}\theta} \]

so that again,

\[ \v{ab} = |\v{a}||\v{b}|e^{\v{xy}\theta} = |\v{a}||\v{b}|(\cos\theta + \v{xy}\sin\theta) \]

Because we have chosen a very specific reference frame, we can equally represent the unit area in the plane, \(\v{xy}\), by normalizing the area of \(\v{a} \wedge \v{b}\), as we have chosen the reference frame so that both areas lie on the same plane:

\[ \v{xy} = \frac{\v{a} \wedge \v{b}}{|\v{a} \wedge \v{b}|} = \v{P} \]

so

\[ \v{ab} = |\v{a}||\v{b}|e^{\v{P}\theta} \]

.

So it is also true in three dimensions that,

\[ \v{ab} = \v{a} \cdot \v{b} + \v{a} \wedge \v{b} = |\v{a}||\v{b}|e^{\v{P}\theta}\]

where \(\theta\) is the angle from \(\v{a}\) to \(\v{b}\) and \(\v{P}\) is the unit area in the direction of the rotation, \( \v{P} = \frac{\v{a} \wedge \v{b}}{|\v{a} \wedge \v{b}|} \).

We can decompose this into an arbitrary reference frame as we did above to see that in three dimensions,

\[ \v{a} \cdot \v{b} = |\v{a}||\v{b}|\cos\theta = a_x b_x + a_y b_y + a_z b_z \]

and

\[ \begin{aligned} \v{a} \wedge \v{b} = |\v{a}||\v{b}|\v{P}\sin\theta = & (a_y b_z - a_z b_y)\v{yz} + \\ & (a_z b_x - a_x b_z)\v{zx} + \\ & (a_x b_y - a_y b_x)\v{xy} \\ \end{aligned} \]

Vectors parallel and perpendicular to the plane of rotation

Unlike the two dimensional case where all vectors lie on the plane of rotation, as it is the only plane, in three dimensions the situation is a little more complicated.

First, let us further constrain \(\v{a}\) and \(\v{b}\) to be normal so that

\[ \v{a}^2 = \v{b}^2 = 1 \]

then the product is

\[ \v{ab} = e^{\v{P}\theta} \]

Before we look at the general case of multiplying an arbitrary vector by \(\v{ab}\), we first need to look at two cases: a vector which lies on the plane and one which lies perpendicular to the plane.

Rotating a vector on the plane

Show that if another vector \(\v{d}\) lies on the same plane as \(\v{a}\) and \(\v{b}\), that is, on \(\v{P}\), then just like in the two dimensional case,

\[ \v{dab} = \v{bad} \]

Solution

We can choose a specific reference frame where \(\v{a}\) is aligned with the \(\v{x}\) basis vector, and the plane spanned by \(\v{a}\) and \(\v{b}\) aligned with the plane \(\v{xy}\). In this reference frame, the unit area defined by \(\v{P} = \frac{\v{a} \wedge \v{b}}{|\v{a} \wedge \v{b}|} = \v{xy}\) and so, like the two dimensional case, \(\v{dP} = -\v{Pd}\).

From there, the solution is identical to the two dimensional solution:

\[ \begin{aligned} \v{dab} &= \v{d}e^{\v{P}\theta} \\ &= \v{d}(\cos(\theta) + \v{P}\sin(\theta)) \\ &= (\cos(\theta) - \v{P}\sin(\theta))\v{d} \\ &= (\cos(-\theta) + \v{P}\sin(-\theta))\v{d} \\ &= e^{-\v{P}\theta}\v{d} \\ &= \v{bad} \end{aligned} \]

.

Rotating a vector perpendicular to the plane

Show that if the vector \(\v{d}\) lies perpendicular to the plane \(\v{P}\), that is, perpendicular to both \(\v{a}\) and \(\v{b}\), then, unlike the two dimensional case,

\[ \v{dab} = \v{abd} \]

Solution

Again we choose a specific reference frame where \(\v{a}\) is aligned with the basis vector \(\v{x}\) and the plane spanned by \(\v{a}\) and \(\v{b}\) is aligned with the plane \(\v{xy}\). As above, in this reference frame \(\v{P} = \v{xy}\) and importantly, in this reference frame \(\v{d} = d_z\v{z}\) since it is perpendicular to both \(\v{a}\) and \(\v{b}\). So

\[\v{dP} = d_z\v{zxy} = d_z\v{xyz} = \v{Pd}\]

Then,

\[ \begin{aligned} \v{dab} &= \v{d}e^{\v{P}\theta} \\ &= \v{d}(\cos(\theta) + \v{P}\sin(\theta)) \\ &= (\cos(\theta) + \v{P}\sin(\theta))\v{d} \\ &= e^{\v{P}\theta}\v{d} \\ &= \v{abd} \end{aligned} \]

.

A failed attempt to rotate an arbitrary vector

We can take any arbitrary vector \(\v{d}\) and split it into components which are parallel and perpendicular to the plane of rotation:

\[ \v{d} = \v{d_\parallel} + \v{d_\perp} \]

and then use this to better understand the vector product \(\v{dab}\):

\[ \begin{aligned} \v{dab} &= (\v{d_\parallel} + \v{d_\perp})\v{ab} \\ &= \v{d_\parallel ab} + \v{d_\perp ab} \\ &= \v{d_\parallel}e^{\v{P}\theta} + \v{d_\perp}e^{\v{P}\theta} \end{aligned} \]

Here we have one part of this product, \(\v{d_\parallel}e^{\v{P}\theta}\) which represents a rotation. This can be shown by squaring \(\v{d_\parallel}e^{\v{P}\theta}\) to see not only that the result is a scalar, but that it also the magnitude squared of \(\v{d_\parallel}\):

\[ \begin{aligned} (\v{d_\parallel}e^{\v{P}\theta})^2 &= \v{d_\parallel}e^{\v{P}\theta}\v{d_\parallel}e^{\v{P}\theta} \\ &= \v{d_\parallel}e^{\v{P}\theta}e^{-\v{P}\theta}\v{d_\parallel} \\ &= \v{d_\parallel}^2 \end{aligned} \]

But the other part of the product does not represent a rotation, which we see when we look at its square:

\[ \begin{aligned} (\v{d_\perp}e^{\v{P}\theta})^2 &= \v{d_\perp}e^{\v{P}\theta}\v{d_\perp}e^{\v{P}\theta} \\ &= \v{d_\perp}\v{d_\perp}e^{\v{P}\theta}e^{\v{P}\theta} \\ &= \v{d_\perp}^2e^{\v{P}2\theta} \end{aligned} \]

Not only is it not a rotation, but the result is not a scalar, which brings into question whether the square of \(\v{dab}\), for an arbitrary vector \(\v{d}\), is a scalar and therefore whether the result of \(\v{dab}\) itself is even a vector.

A general rotation in 3D?

Show that the square of \(\v{dab}\) is not a vector.

Solution:

\[ \begin{aligned} (\v{dab})^2 &= \v{dabdab} \\ &= \v{dab}(\v{d_\parallel} + \v{d_\perp})\v{ab} \\ &= \v{dab}\v{d_\parallel}\v{ab} + \v{dab}\v{d_\perp}\v{ab} \\ &= \v{d}\v{d_\parallel}\v{baab} + \v{d}\v{d_\perp}\v{abab} \\ &= \v{d}\v{d_\parallel} + \v{d}\v{d_\perp}e^{2\v{P}\theta} \\ \end{aligned} \]

which is most definitely not a scalar value.

Rotating an arbitrary vector in three dimensions

We saw earlier that

\[ \v{dab} = \v{d_\parallel}e^{\v{P}\theta} + \v{d_\perp}e^{\v{P}\theta} \]

and yet this product is neither a rotation nor even a vector. But if we left multiply by \(\v{ba}\),

\[ \begin{aligned} \v{badab} &= \v{ba}(\v{d_\parallel}e^{\v{P}\theta} + \v{d_\perp}e^{\v{P}\theta}) \\ &= e^{-\v{P}\theta}\v{d_\parallel}e^{\v{P}\theta} + e^{-\v{P}\theta}\v{d_\perp}e^{\v{P}\theta} \\ &= \v{d_\parallel}e^{\v{P}2\theta} + \v{d_\perp} \\ \end{aligned} \]

the result has the component of \(\v{d}\) parallel to the plane being rotated by \(2\theta\), while the perpendicular component of \(\v{d}\) is left unaffected. The fact that this is a rotation can be verified by testing that the square of the result is the same as the square of the original vector:

\[ (\v{badab})^2 = \v{badabbadab} = \v{baddab} = \v{d}^2\v{baab} = \v{d}^2 \]

Since this results in the vector being rotated by \(2\theta\) we will from now on define \(\theta\) as follows:

For any two normal vectors, \(\v{a}\) and \(\v{b}\),

\[ \v{ab} = e^{\v{P}\frac{\theta}{2}} \]

where \( \v{P} = \frac{\v{a} \wedge \v{b}}{|\v{a} \wedge \v{b}|} \) and \(\theta\) is double the angle spanned between \(\v{a}\) and \(\v{b}\), so that rotating an arbitrary vector \(\v{d}\) results in:

\[ \v{badab} = \v{d_\parallel}e^{\v{P}\theta} + \v{d_\perp} \]

The definition of a Rotor

One further simplification we can make is to define a rotor, \(\v{R}\), such that:

\[ \v{R} = \v{ab} = e^{\v{P}\frac{\theta}{2}} \]

and the reverse of \(\v{R}\) with the notation \(\v{\tilde{R}}\), which has the elements of the vector product reversed and hence the reverse orientation:

\[ \v{\tilde{R}} = \v{ba} = e^{-\v{P}\frac{\theta}{2}} \]

so that \(\v{\tilde{R}R} = 1 \).

We can now talk about a rotation as an angle in a plane \(\v{P}\) rather than defining the underlying normal vectors. With this definition of the rotor, the rotation of an arbitrary vector \(\v{d}\) is

\[ \v{\tilde{R}dR} = \v{d_\parallel}e^{\v{P}\theta} + \v{d_\perp} \]

where \(\v{d_\parallel}\) and \(\v{d_\perp}\) are the components of \(\v{d}\) parallel and perpendicular to the plane \(\v{P}\) respectively.

Showing that the magnitude squared of a vector remains the same under rotation is then straight forward:

\[ (\v{\tilde{R}dR})^2 = \v{\tilde{R}dR}\v{\tilde{R}dR} = \v{d}^2\]