はじめに クォータニオン(Quatenion, 四元数)は、ゲーム開発プログラミングにおいて、オブジェクトの姿勢や回転を表す1つの手段です。Unityにおいても例えば、transform.rotationがクォータニオンで実装されています。 この記事では、Unityにおけるクォータニオンの構造体(UnityEngine.Quaternion)を理解するために、内部実装を再現・実装します。また、数学に関しては解説記事の紹介に留めます。 UnityのC#部分の実装に関しては、一部のソースコードが公開されていますが、クォータニオンに関しては、dll呼び出しがあるために、内部実装が確認できない箇所もあるので、それを補完しつつ実装していきます。 参考:UnityEngine.QuaternionのC#の実装コード - Unity-Technologies/GitHub 実装するにあたって、Unity