RenderScript 四元数関数

概要

次の関数は四元数を処理します。

まとめ

関数
rsQuaternionAdd 2 つの四元数を足し算する
rsQuaternionConjugate 四元数を共役する
rsQuaternionDot 2 つの四元数のドット積
rsQuaternionGetMatrixUnit 四元数から回転行列を取得する
rsQuaternionLoadRotate 回転四元数を作成する
rsQuaternionLoadRotateUnit 任意の単位ベクトルに関する回転を表す四元数
rsQuaternionMultiply 四元数にスカラーまたは他の四元数を乗算する
rsQuaternionStandardize 四元数を正規化する
rsQuaternionSet 四元数を作成する
rsQuaternionSlerp 2 つの四元数間の球面線形補間

関数

rsQuaternionAdd : 2 つの四元数を加算する

void rsQuaternionAdd(rs_quaternion* q, const rs_quaternion* rhs);
パラメータ
q追加先のデスティネーション四元数。
右側の追加する四元数。

2 つの四元数を加算します。つまり、*q += *rhs;

rsQuaternionConjugate : 四元数を共役する

void rsQuaternionConjugate(rs_quaternion* q);
パラメータ
q変更する四元数。

四元数を共役します。

rsQuaternionDot : 2 つの四元数のドット積

float rsQuaternionDot(const rs_quaternion* q0, const rs_quaternion* q1);
パラメータ
Q0第 1 四元数。
q1第 2 四元数。

2 つの四元数のドット積を返します。

rsQuaternionGetMatrixUnit : 四元数から回転行列を取得する

void rsQuaternionGetMatrixUnit(rs_matrix4x4* m, const rs_quaternion* q);
パラメータ
結果の行列。
q正規化された四元数。

正規化された四元数から回転行列を計算します。

rsQuaternionLoadRotate : 回転四元数を作成する

void rsQuaternionLoadRotate(rs_quaternion* q, float rot, float x, float y, float z);
パラメータ
qデスティネーションの四元数。
腐った回転させる角度。
xベクトルの X コンポーネント。
yベクトルの Y コンポーネント。
zベクトルの Z コンポーネント。

任意のベクトルを中心とする回転を表す四元数を読み込みます(単位である必要はありません)。

rsQuaternionLoadRotateUnit : 任意の単位ベクトルの回転を表す四元数

void rsQuaternionLoadRotateUnit(rs_quaternion* q, float rot, float x, float y, float z);
パラメータ
qデスティネーションの四元数。
腐った回転させる角度(ラジアン単位)。
xベクトルの X コンポーネント。
yベクトルの Y コンポーネント。
zベクトルの Z 成分。

任意の単位ベクトルを中心とする回転を表す四元数を読み込みます。

rsQuaternionMultiply : 四元数にスカラーまたは他の四元数を乗算する

void rsQuaternionMultiply(rs_quaternion* q, const rs_quaternion* rhs);
void rsQuaternionMultiply(rs_quaternion* q, float scalar);
パラメータ
qデスティネーションの四元数。
スカラー四元数を乗算するスカラーです。
右側の変換先の四元数に乗算する四元数。

四元数にスカラーを乗算するか、別の四元数(*q = *q * scalar;*q = *q * *rhs; など)を乗算します。

rsQuaternionCommonize : 四元数を正規化する

void rsQuaternionnormalize(rs_quaternion* q);
パラメータ
q正規化する四元数。

四元数を正規化します。

rsQuaternionSet : 四元数を作成する

void rsQuaternionSet(rs_quaternion* q, const rs_quaternion* rhs);
void rsQuaternionSet(rs_quaternion* q, float w, float x, float y, float z);
パラメータ
qデスティネーションの四元数。
w必要があります。
xX コンポーネント。
yY コンポーネント。
zZ コンポーネント。
右側のソース四元数。

4 つの成分から、または別の四元数から四元数を作成します。

rsQuaternionSlerp : 2 つの四元数間の球面線形補間

void rsQuaternionSlerp(rs_quaternion* q, const rs_quaternion* q0, const rs_quaternion* q1, float t);
パラメータ
q補間から得られた結果の四元数。
Q0最初の入力四元数。
q12 番目の入力四元数。
t補間値。

2 つの四元数間の球面線形補間を実行します。