幾何学では、球面線形補間(一般的にslerpと略される)は、球面上の2点間を補間する関数であり、開始点からの球面距離は補間パラメータとともに均一に変化します。コンピュータグラフィックスでは、抽象的な3次元球面上の四元数として表現される3次元回転のアニメーションのために、ケン・シューメイクによって普及しました。[ 1 ]補間パラメータが時間を表す場合、球面線形補間は、終点間の大円弧に沿った一定速度の動き、または2つの3次元回転間の滑らかで均一な変化をもたらします。
Slerp には、四元数にも、弧が埋め込まれている空間の次元にも依存しない幾何学的公式があります。この公式は、Glenn Davis による対称重み付き和であり、曲線上の任意の点が両端の線形結合でなければならないという事実に基づいています。p 0とp 1を弧の最初と最後の点とし、t をパラメータ ( 0 ≤ t ≤ 1 ) とします。弧が張る角度として Ω を計算すると、 cos Ω = p 0 ⋅ p 1となり、これは原点から両端への単位ベクトルのn次元内積です。すると、幾何学的公式は次のようになります。
対称性は、slerp( p 0 , p 1 ; t ) = slerp( p 1 , p 0 ; 1 − t )という事実にある。Ω → 0の極限では、この式は線形補間の対応する対称式に帰着する。
スラープパスは、実際には平面上の線分に沿ったパスの球面幾何学における等価物であり、大円は球面測地線である。

一般的なスラープ公式よりも馴染み深いのは、端点ベクトルが垂直である場合で、この場合の公式はp 0 cos θ + p 1 sin θです。θ = t π /2とし、三角関数の恒等式cos θ = sin( π /2 − θ )を適用すると、これがスラープ公式になります。一般的な公式の係数1/sin Ωは正規化です。なぜなら、 p 0に対して Ω の角度にあるベクトルp 1は、垂直な ⊥ p 0にsin Ωの長さで投影されるからです。
slerp のいくつかの特殊なケースでは、より効率的な計算が可能です。円弧をラスタ画像に描画する場合、好ましい方法はBresenhamの円アルゴリズムの何らかのバリエーションです。特殊なパラメータ値 0 と 1 での評価は、それぞれp 0とp 1を自明に得ます。また、二分法、つまり 1 / 2 での評価は、正規化された( p 0 + p 1 )/2に簡略化されます。アニメーションでよく見られるもう 1 つの特殊なケースは、固定端と等しいパラメータステップでの評価です。p k −1とp kが2 つの連続する値であり、c がそれらの内積の 2 倍 (すべてのステップで一定) である場合、次の値p k +1は、反射p k +1 = cp k − p k −1です。
slerp を単位四元数に適用すると、四元数パスは標準的な方法で 3D 回転のパスにマッピングされます。効果は、固定された回転軸を中心とした均一な角速度の回転です。初期終点が単位四元数である場合、slerp は3D 回転のリー群SO(3)と、その普遍的な単位四元数の被覆群S 3の両方の1 パラメータ部分群のセグメントを与えます。slerp は、四元数の終点間の最も直線的で最短のパスを与え、2Ω の角度の回転にマッピングします。ただし、被覆が二重 ( qと −qが同じ回転にマッピングされる) であるため、回転パスは「短い方法」(180° 未満) または「長い方法」(180° 以上) のいずれかになります。ドット積cos Ωが負の場合、一方の端を負にすることで長い経路を防ぐことができ、それによって−90° ≤ Ω ≤ 90°が保証されます。
Slerpには、すべて指数関数を用いた四元数代数による表現も含まれています。四元数の実数べき乗は、四元数指数関数( e qと表記)によって定義され、微積分、複素解析、行列代数でおなじみのべき級数で表されます。
単位四元数q を、単位 3 ベクトルvを用いて、バーソル形式cos Ω + v sin Ωで書き、四元数の二乗v 2が −1 に等しいこと (オイラーの公式の四元数版を意味する) に注意すると、e v Ω = qおよびq t = cos t Ω + v sin t Ωとなります。ここで注目すべき識別はq = q 1 q 0 −1であり、 qの実部はcos Ωで、これは上で使用した幾何内積と同じです。以下に、slerp の 4 つの同等の四元数表現を示します。
両端が固定されていると仮定した場合、slerp( q 0 , q 1 ; t )のtに関する導関数は、関数値のlog( q 1 q 0 −1 ) 倍になります。この場合、四元数の自然対数は 3D角速度ベクトルの半分になります。初期接線ベクトルは、曲線に沿って各接線に平行移動されます。したがって、曲線は確かに測地線です。
四元数スラープ曲線上の任意の点における接空間では、指数写像の逆変換によって曲線は線分に変換されます。点を通らないスラープ曲線は、その点の接空間において線分に変換されません。
クォータニオンスラープは、ベジェ曲線のド・ カステリョーアルゴリズムのようなアフィン構成を模倣することで、滑らかなアニメーション曲線を構築するためによく使用されます。球面はアフィン空間ではないため、構築された曲線自体は完全に満足のいくものであっても、アフィン構成の一般的な特性が適用できない場合があります。たとえば、ド・カステリョーアルゴリズムはアフィン空間で曲線を分割するために使用できますが、これは球面では機能しません。
2値スラープは、多数の単位四元数の間を補間するように拡張できますが、[ 2 ]拡張するとスラープアルゴリズムの固定実行時間が失われます。