メインコンテンツ

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

quatrotate

ベクトルを四元数で回転する

説明

n = quatrotate(q,r) は、四元数q による初期ベクトル r の受動回転に従った結果のベクトルを計算し、最終ベクトル n を返します。四元数がまだ正規化されていない場合、関数はそれを正規化します。

Aerospace Toolbox は、スカラー優先規則を使用して定義された四元数を使用します。この関数は、すべての四元数入力を正規化します。

すべて折りたたむ

この例では、1 行 3 列のベクトルを 1 行 4 列の四元数で回転する方法を示します。

q = [1 0 1 0];
r = [1 1 1];
n = quatrotate(q, r)
n = 1×3

    -1     1     1

この例では、2 つの 1 行 3 列のベクトルを 1 行 4 列の四元数で回転する方法を示します。

q = [1 0 1 0];
r = [1 1 1; 2 3 4];
n = quatrotate(q, r)
n = 2×3

    -1     1     1
    -4     3     2

この例では、1 行 3 列のベクトルを 2 つの 1 行 4四元数で回転する方法を示します。

q = [1 0 1 0; 1 0.5 0.3 0.1];
r = [1 1 1];
n = quatrotate(q, r)
n = 2×3

   -1.0000    1.0000    1.0000
    0.8519    1.4741    0.3185

この例では、複数のベクトルを複数の四元数で回転させる方法を示します。

q = [1 0 1 0; 1 0.5 0.3 0.1];
r = [1 1 1; 2 3 4];
n = quatrotate(q, r)
n = 2×3

   -1.0000    1.0000    1.0000
    1.3333    5.1333    0.9333

入力引数

すべて折りたたむ

m 四元数を含む m 行 4 列の行列、または単一の 1 行 4四元数の四元数として指定された四元数または四元数のセット。各要素は実数でなければなりません。

q は最初の列にスカラー番号を指定する必要があります。

データ型: double | single

回転する初期ベクトルまたはベクトルのセット。m ベクトルを含む m 行 3 列の行列、または単一の 1 行 3 列の配列として指定します。各要素は実数でなければなりません。

データ型: double | single

出力引数

すべて折りたたむ

最終ベクトルは、m 行 3 列の行列として返されます。

詳細

すべて折りたたむ

参照

[1] Stevens, Brian L., Frank L. Lewis. Aircraft Control and Simulation, 2nd Edition. Hoboken, NJ: John Wiley & Sons, 2003.

[2] Diebel, James. "Representing Attitude: Euler Angles, Unit Quaternions, and Rotation Vectors." Stanford University, Stanford, California, 2006.

バージョン履歴

R2006b で導入