18
$\begingroup$

I imagine this question has a straightforward answer, but I haven't been able to think of it on my own.

It's well-accepted that you can represent a rotation in three-space with a unit quaternion. In other words, any rotation can be represented by some object of the form $q = a\textbf{i} + b\textbf{j} + c\textbf{k} + d$, where $|q|=1$. In computer graphics, these are usually represented as four-tuples $(a, b, c, d)$.

I've seen it claimed that all four of these numbers are needed. For example, from this discussion of rotations in Clifford algebra:

It is almost but not quite possible to represent a rotor in three dimensions using only three numbers, not four, because it is almost possible to infer the scalar piece using the normalization condition (equation 10).

I'm curious about the "not quite" here. Given the three imaginary/bivector terms, and the fact that the result has to have a norm of 1, shouldn't it always be possible to solve for the real/scalar term? The only ambiguity I can think of is the sign (since taking the norm involves squaring), but I thought the sign of the scalar part didn't affect the rotation, since applying the rotation involves multiplying the scalar part in twice.

So: why can't we represent these rotors with only three terms? In other words, why do we need to record the real part of the quaternion as well as the imaginary part, instead of solving for it later from the imaginary part and the normalization condition? Or in other other words—why isn't a rotation uniquely determined by the imaginary part of the quaternion (and knowing that the norm has to be 1)?

$\endgroup$
7
  • 3
    $\begingroup$ @Barb, please don’t use comments for answers. Answers can be downvoted, comments cannot. $\endgroup$
    – Carsten S
    Commented Apr 23, 2022 at 10:38
  • $\begingroup$ @CarstenS what do you mean? $\endgroup$
    – Barb
    Commented Apr 23, 2022 at 13:38
  • 3
    $\begingroup$ @Barb, comments are meant for improving the question. Answers should be posted as answers. $\endgroup$
    – Carsten S
    Commented Apr 23, 2022 at 13:43
  • $\begingroup$ @CarstenS I know that I'm am asking you the question, why are you reiterating that at me? Would you like me to re-frame the question in a different way with less words so you comprehend it? $\endgroup$
    – Barb
    Commented Apr 23, 2022 at 13:47
  • 3
    $\begingroup$ @Barb, your original comment seemed not aimed at improving the question. Please do not write such comments. If you think that what you wrote answered the question, then write it as an answer. $\endgroup$
    – Carsten S
    Commented Apr 23, 2022 at 13:55

6 Answers 6

14
$\begingroup$

The overall sign of the whole quaternion makes no difference, i.e., the quaternions $q=d+\mathbf{v}$ and $-q=-(d+\mathbf{v})=-d-\mathbf{v}$ represent the same rotation. The problem here is that you can't change the sign of the real part $d$ only, while leaving the vector part $\mathbf{v}$ unchanged, i.e., $q=d+\mathbf{v}$ and $-\overline{q}=-d+\mathbf{v}$ represent (in general) different rotations.

$\endgroup$
9
$\begingroup$

Swapping the sign of the real part of a quaternion corresponds to negating its conjugate. And it is not generally the case that $$ qpq^{-1}=-\bar qp(-\bar q)^{-1} $$ In the particular case of quaternion rotation by an angle $\theta$, where the real part corresponds to $\cos\frac\theta2$, swapping its sign corresponds to flipping the direction of rotation.

$\endgroup$
8
$\begingroup$
  1. Since an $SO(3)$ element in the axis-angle representation $(\vec{e},\theta)$ is given by$^1$ $\pm$ the unit quaternion $$ \cos\frac{\theta}{2}+(ie_x+je_y+ke_z)\sin\frac{\theta}{2}~\in~U(1,\mathbb{H}), $$ one can actually make the real part non-negative by choosing e.g. the $+$ in $\pm$ and $\theta\in[-\pi,\pi]$ for any given 3D rotation.

  2. Changing the overall sign corresponds to changing the angle $\theta$ to $2\pi+\theta$. Changing only the sign of the real part corresponds to changing the angle $\theta$ to $2\pi-\theta$.

  3. However, the problem is that the restriction $\cos\frac{\theta}{2}\geq 0$ together with the $+$ branch are not stable under composition of 3D rotations on the quaternionic side.

--

$^1$ The $\pm$ ambiguity goes away if we consider the double cover $$Spin(3)~\cong~ SU(2)~\cong~ U(1,\mathbb{H}).$$

$\endgroup$
5
$\begingroup$

The group $SO(3)$ of rotations in $\mathbb{R}^3$ is a $3$-dimensional manifold, but it doesn't embed in $\mathbb{R}^3$. Topologically, it's homeomorphic to (and diffeomorphic to) projective space $\mathbb{RP}^3$, which is the quotient of the sphere $S^3$ by the map $x \to -x$. (In particular, this is where the normalization $|q| = 1$ comes in.) That means that it almost embeds in $\mathbb{R}^3$: Taking three coordinates works locally, and this parametrization works as long as you don't move from a point $x$ to $-x$.

$\endgroup$
3
$\begingroup$

From a certain perspective it is because rotations form a group; since the unit pure quaternions don't form a group under multiplication you are forced to include 1. Of course as mentioned in the answer by anomaly and others, there is a surjective homomorphism from the group of unit quaternions to $\mathrm{SO}(3)$ obtained by conjugation restricted to the pure quaternions.

$\endgroup$
1
$\begingroup$

Building on anomaly's answer in an extremely concrete way, this is what causes Gimbal lock. Because $SO(3)$ doesn't quite embed in $\mathbb{R}^3$, you always end up with points somewhere where the mapping fails.

Also note that the answer to "Why can't we represent these rotors with only three terms?" is "You can, sort of." Euler angles do just this, for instance, but with the caveat that they fail (as they must) at the poles.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .