##### Ninja Library - マトリクス関数

# njInterpolateQuaternion

二つのクォータニオンを補完したクォータニオンを算出

### 書式

> `void njInterpolateQuaternion( qua1, qua2, rate, qua )
> const NJS_QUATERNION *qua1
> const NJS_QUATERNION *qua2
> Float rate
> NJS_QUATERNION *qua
> `

### 引数

> qua1 | クォータニオン1
> qua2 | クォータニオン2
> rate | 補完レイト(0〜1)
> qua | 結果のクォータニオンの格納先

### 戻り値

> なし

### 解説

> 与えられた二つのクォータニオンを rate の位置で補完したクォータニオンを 求めます。

> rate の範囲は 0 〜 1 で、0 のとき qua1、1 のとき qua2 に一致します。

> qua1 の回転状態から、qua2 の回転状態へは、ある一つのベクトル Ｎ の 周りのある角度θの回転で至ることができます。

> （ただし、θは０〜１８０度とします。）

> qua に返される回転は、qua1 の回転状態から、ベクトルＮの周りにθ以下の 角度で回転した回転状態に対応するクォータニオンです。

> そのときの回転角度をf(rate) で表すと、

> f(rate) | :単調増加関数
> f(0) | =0
> f(1) | =θ

> となります。

> Ninja で扱うクォータニオンは長さが１でなければなりません。 従って、qua1, qua2 の長さは１でなければなりません。 結果の qua は自動的に長さが１になります。

### 参照

> njCreateQuaternion() | 与えられた回転軸の周りの回転を表すクォータニオンを作成
> njQuaternionEx() | クォータニオン表現で回転を施す。

njInterpolateQuaternion

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000