if I have a quaternion which describes an arbitrary rotation, how can I get for example only the half rotation or something like 30% of this rotation?
Thanks in advance!
if I have a quaternion which describes an arbitrary rotation, how can I get for example only the half rotation or something like 30% of this rotation?
Thanks in advance!
I believe what you're looking for are exponent and logarithm formulas for quaternions, which can be found on the Wikipedia page on quaternions. The Wikipedia page even gives a formula for raising a quaternion to an arbitrary power, which is exactly what you want. If your original rotation is given by $q$, and you want to take 30% of this rotation, you simply take $q^{0.3}$.
I can't be sure what formula for a general rotation you have, but it should depend upon an angle through which you are rotating. Doesn't your formula look something like $R(\Theta, u)$ where $\Theta$ is the angle of rotation, and $u$ is a unit vector which tells you the axis of rotation?
If so, you just replace $\Theta$ with $p\Theta$ where $p$ is just some decimal form of a percentage.
See here: Wikipedia on quaternions and rotations.
To the benefit of all: One can encode a rotation $T\in SO(3)$ as a quaternion $q+ q_1 i+ q_2 j + q_3 k$ of norm $1$. Here $q=\cos{\theta\over2}$ and $(q_1,q_2,q_3)=\sin{\theta\over2}{\bf a}$, where ${\bf a}$ denotes the unit vector on the axis of $T$ and $\theta$ the rotation angle of $T$. The essential point is that to the composition of two rotations $T_1$, $T_2\in SO(3)$ corresponds the product of the two associated norm-$1$ quaternions.
As to your question: From the given quaternion $(q,{\bf q})$ you can read off the rotation angle $\theta$ (there are some sign conventions to observe) and the axis ${\bf a}$. For $\sqrt{T}$ (or another fraction of $T$) the axis is the same, but you will need a pocket calculator to compute $\cos\theta'$ and $\sin\theta'$, where $\theta'$ denotes the desired fraction of $\theta$.