はじめに 三次元的な回転や方向を表現する方法として、四元数 (Quaternion) は大変重要なツールです。先日、四元数同士を補間するプログラムを書いていて、ある不具合が起き、原因が分からずしばらく悩んでいました。日本語での情報が少ないようでなので、その件について簡単に紹介したいと思います。 四元数とは 四元数の基本については Wikipedia を参考にして下さい。 コンピュータグラフィクスやゲームプログラミングの文脈で四元数が登場するのは、方向 (Orientation) や回転 (Rotation) を扱うときです。四元数それ自体は方向や回転を扱うためのものではないのですが、単位四元数 (長さが 1 になるように正規化された四元数) は方向や回転を記述するために利用できるということです。 四元数による方向や回転についてはこちらの記事で大変丁寧に解説されています。 四元数同士の補間