コンピューター上で3次元のオブジェクトを回転させるとき、3次元回転操作のコンパクトな表現としてクォータニオンがよく使われます。
クォータニオン(四元数)は19世紀に生まれた概念です。数学者ハミルトンが、3次元回転を表現するために複素数を拡張してクォータニオンを考案しました。数学では3次元回転の表現としてベクトルや行列がよく使われるため、クォータニオンはさほど注目されてきませんでした。しかし、コンピューターの3次元グラフィックスの発展により再評価されるようになりました。クォータニオンを使うと、行列よりもメモリ効率が良く計算も高速になるためです。
iOSのAccelerateフレームワークには、クォータニオンを扱えるsimdモジュールがあります。simdを活用すると、iOSアプリで3次元オブジェクトの計算がしやすくなります。また、クォータニオンは回転の軌跡を補間する際にも有用です。これによって、滑らかな回転アニメーションが実現できます。
このトークでは、まずクォータニオンを基本から解説して、simdモジュールを使ったクォータニオンの使い方を述べます。そして、3次元オブジェクトを回転させ、SceneKitで実際に描画するコードを紹介します。3次元グラフィックスの基礎を知りたいiOSアプリ開発者におすすめのトークです。