Main Content

quat2eul

四元数のオイラー角への変換

説明

eul = quat2eul(quat) は、四元数回転 quat を、対応するオイラー角 eul に変換します。オイラー角回転の既定の順序は "ZYX" です。

eul = quat2eul(quat,sequence) は、四元数をオイラー角に変換します。オイラー角は軸回転シーケンス sequence で指定されます。オイラー角回転の既定の順序は "ZYX" です。

[eul,eulAlt] = quat2eul(___) は、同じ回転 eulAlt を表す別のオイラー角セットも返します。

すべて折りたたむ

quat = [0.7071 0.7071 0 0];
eulZYX = quat2eul(quat)
eulZYX = 1×3

         0         0    1.5708

quat = [0.7071 0.7071 0 0];
eulZYZ = quat2eul(quat,'ZYZ')
eulZYZ = 1×3

    1.5708   -1.5708   -1.5708

入力引数

すべて折りたたむ

単位四元数。n 個の四元数を含む quaternion オブジェクトの n 行 4 列の行列または n 要素ベクトルとして指定します。入力が行列の場合、各行は q = [w x y z] の形式をとる quaternion ベクトルです。ここで、w はスカラー数です。

例: [0.7071 0.7071 0 0]

オイラー角の軸回転シーケンス。以下のいずれかの string スカラーとして指定します。

  • "ZYX" (既定) – 回転角度の順序が z 軸、y 軸、x 軸の順。

  • "ZYZ" – 回転角度の順序が z 軸、y 軸、z 軸の順。

  • "XYZ" – 回転角度の順序が x 軸、y 軸、z 軸の順。

データ型: string | char

出力引数

すべて折りたたむ

オイラー回転角 (ラジアン単位)。オイラー回転角の n 行 3 列の配列として返されます。各行は 1 つのオイラー角のセットを表します。

例: [0 0 1.5708]

別のオイラー回転角の解 (ラジアン単位)。オイラー回転角の n 行 3 列の配列として返されます。各行は 1 つのオイラー角のセットを表します。

例: [0 0 1.5708]

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2015a で導入

すべて展開する