3次元じゃめんどくさいんで、2次元で。
それも、原点回りの回転に限定する。
これは俺なりの理解の仕方だから、証明じゃないんでよろしく。
クォータニオンは極座標と関係がある。(みたい)
原点からの距離と角度で座標を表現するやつだ。
p = r(cosA + i*sinA);
q = r'(cosB + i*sinB); なら、p*q は rr'(cos(A+B) + i*sin(A+B))となり
q をAだけ回転させて長さに r を掛けたものになる。
これは次のように考えることもできる。
q(x, y) とすると q = x*i + y*j とベクトル表記できる。
このとき極座標系ってのは実はもう1つの軸 k を用いた表記であって
p = r(cosA + k*sinA);
q = r'(cosB + k*sinB);
となり、複素数に外積の振る舞いを追加して
i*j = -j*i = k;
j*k = -k*j = i;
k*i = -i*j = j;とすると、p*qは
r(cosA + k*sinA) * (x*i + y*j)で、これを展開してくと
r(xcosA-ysinA)*i + r(xsinA+ycosA)*j となる。
x = r' *(x/r') = r'cosB だから、加法定理を用いて
rr'(cos(A+B)*i + sin(A+B)*j) となり最初と同じ結果になる。

だが、厳密にはおなじではない。後の方は交換法則が成り立たない。まあ、外積を用いてるからあたりまえだ。
交換すると-A の回転になる。

ここで分かるのは p にベクトルを掛ければ k 回りに A だけ回転したベクトルが得られるということ。
ただ、ここで1つ問題があって、長さが r 掛けられてしまうということ。
いま、回転だけを扱いたいので、この r を打ち消す必要がある。
そこで、今の結果に p の共役な値 (1/r)*(cosA - k*sinA) を今度は
逆から掛ける。
= (1/r)*(cos(-A) + k*sin(-A)) で、かつ逆から掛けて逆回転ってことで
さっきの結果をさらに A だけ回転させることになる。
さらに回転しちゃうが、r はなくなった。これでOK。
ってことで、この p がクォータニオンだ。任意の軸 v 回りのクォータニオンは
cos(A/2) + sin(A/2) * v になるのはご存知の通り。

なんで、素直に r で割らないんだ!
って話になると思うが、おそらく、任意軸に拡張すると
r で割るだけではうまくいかないのではないかと。

まあ、専門書読んだことないんで、適当な理解の仕方だ。
31 では、クォータニオンは'使用'って書いただろ?