unfortunately i have found no solution for my other problem, so I will have to live with that.

But in my quest for the shortest adequate representation of 3D rotations for my diploma thesis I ran into some questions, I can´t answer myself. I will

ask my prof, but I try here too, because I expect that the practical understanding of quaternions and rotations is actually better in the gaming community.

If you are interested: my project is about motion capturing, formulated as an optimization problem with approximate 25 degrees of freedom. So it is really important

to have short representations for rotations (matrices are no option).

My question:

Looking at this wikipedia quote:

It can be shown that no two-parameter coordinate system can avoid such degeneracy. We can avoid such problems by embedding the sphere in three-dimensional space and parameterizing it with three Cartesian coordinates (here

w,x,y),

So analogous we can´t represent a rotation in 3D with 3 values, but...

Points on the sphere satisfy the constraint

w^{2}+x^{2}+y^{2}= 1, so we still have just two degrees of freedom though there are three coordinates.

We can note that one coordinate is always redundant, because w^2 = 1 - x^2 - y^2. Why bother about the w ? Isn´t it a bad approach to store redundant values, which can be inferred easily ?

Actually if we look at quaternion representation there is a compact axis-angle representation hidden in the four values. Actually the first three values x,y,z denote a vector which acts as a rotational axis. The angle is encoded as the axis length. Maximally short and elegant if you ask me.

Back up:

The point (

w,x,y,z) represents a rotation around the axis directed by the vector (x,y,z) by an angle

We have an axis-angle representation realised by now, with actually three values rather than four and to my best knowledge, axis angle representations do not suffer from gimbal lock. But why is it stated on a regular basis, that there is no gimbal lock free representation with three values and why is a redundant value stored in the quaternion representation ?

I am sure someone can shed some light in my dark

Cheers,

Frederik