I am doing a R&d project for my uni and I am struggling with understandin the algorithm prsented in this work at page 147-148: http://alumni.media.mit.edu/~aries/papers/johnson_phd.pdf
I have a couple of question, the first is, can anyone try to explain it differently or maybe make a more practical example?
Secondly, are there anymore ways of blending multiple quaternions according to a weight?
What I am trying to do, basically, is to store a certain amount of quaternions describing the rotation from the neutral pose to a certain pose. Then, according to weights associated to each quaternion, get a new pose. Of course the way I find the weights ensure some constraint, for example if one of those weights is 1, then all of the others will be 0.
The thing that confuses me the most about blenidng quaternions is how do I deal with the non-commutativity? I mean, if I blend i.e. 9 vectors, doesn't matter the order as long each of them get multiplied by its weights, although with quaternion that is going to be important, right?
To deal with it I was thinking that every time I store a position of a new quaternion I should do that starting from the previous position, so while blending I can follow the order in which I stored the quaternions.
Thank you for your help!
I have read the algorithm you pointed out as well as other specific parts of the thesis needed to understand it.
In order to fully undertand that algorithm you probably need to develop a basic understanding of differential geometry, in particular you must familiarize yourself with concepts such as Lie group and tangent space. My advice is that, since you are already familiar with quaternions, you can begin by undertanding the Lie group $SO(3)$ (the set of three dimensional rotations) and the Lie group $SU(2)$ (the set of unit quaternions). The role of the exponential map and the principal logarithm are related to those concepts. Such concepts are quite sophisticated and might take some time to fully understand them.
The first chapters of the thesis as well as the appendix do a good job on providing an intuitive introduction to quaternion's topology, tanget space, Lie group, Lie algebra, etc. Give a second read to those chapters and ask more specific questions about things you don't undertand.
Other topic to learn is RBF interpolation. That topic is completely independent to the above topic. There is a lot of resources online covering that topic, RBF is related to a huge number of mathematical fields and have many applications. Again my advice is to follow the references provided by the thesis and ask specific questions here.
Going to your question about "blending" quaternions. It will be best if you can share with us the blending algorithm so we can fully understand it. But based on what I have read in the thesis you are doing something like this:
$$\bar Q = P \exp(\sum_i^N{a_i \log(P^* Q_i) })$$
Where $\bar Q$ is the blended quaternion, $P$ is the mean quaternion (can be the identity), $Q_i$ are the input quaternions and $a_i$ are the weights.
In that expression the order in which the input quaternions $Q_i$ are processed is not relevant. The reason is that the quaternion's principal logarithm forms a linear vector space, so the sumation is actually a linear combination of 3D vectors, which is commutative.