180度の回転がうまくいかない

mikoto形式のボーン読み込みは概ねできたのだが、
ボーンの第3の点(H点)が親と反対側についたときに生じる
Z軸に対する180度回転を含む回転がうまく解決できない。
mikotoに記述されているクォータニオンと違う値になって
あらぬ方向に曲がってしまう。
180度回転のときは外積から回転軸を特定できないので
特別処理が必要なのはわかったのだが、
具体的に使う値がわからず。

ToDo

後でDirectXのD3DXQuaternionRotationAxisの動作を確認する。
たぶんこの関数の返り値と同じものを返すようにすればうまくいく。