Main Content

euler

四元数をオイラー角 (ラジアン) に変換

説明

eulerAngles = euler(quat,rotationSequence,rotationType) は四元数 quat を、オイラー角を表す N 行 3 列の行列に変換します。

すべて折りたたむ

"ZYX" 回転シーケンスを使用して、四元数の座標系の回転をオイラー角 (ラジアン) に変換します。

quat = quaternion([0.7071 0.7071 0 0]);
eulerAnglesRandians = euler(quat,"ZYX","frame")
eulerAnglesRandians = 1×3

         0         0    1.5708

入力引数

すべて折りたたむ

オイラー角に変換する四元数。quaternion オブジェクト、または任意の次元の quaternion オブジェクトの配列として指定します。

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

  • "YZY"

  • "YXY"

  • "ZYZ"

  • "ZXZ"

  • "XYX"

  • "XZX"

  • "XYZ"

  • "YZX"

  • "ZXY"

  • "XZY"

  • "ZYX"

  • "YXZ"

回転シーケンスは、軸を中心とした回転の順序を定義します。たとえば、"YZX" という回転シーケンスを指定した場合、次のようになります。

  1. 最初の回転は、y 軸を中心にして行われます。

  2. 2 番目の回転は、新しい z 軸を中心にして行われます。

  3. 3 番目の回転は、新しい x 軸を中心にして行われます。

データ型: char | string

回転のタイプ。"point" または "frame" として指定します。

点の回転では、座標系は静的であり、点が移動します。座標系の回転では、点は静的であり、座標系が移動します。点の回転と座標系の回転は同等の角変位を定義しますが、方向は逆です。

Frame Rotation and Point Rotation

データ型: char | string

出力引数

すべて折りたたむ

オイラー角表現 (ラジアン)。N 行 3 列の数値行列として返されます。ここで、Nquat 引数内の四元数の数です。

eulerAngles の行ごとに、最初の要素は回転シーケンス内の最初の軸に対応し、2 番目の要素は回転シーケンス内の 2 番目の軸に対応し、3 番目の要素は回転シーケンス内の 3 番目の軸に対応します。

オイラー角表現のデータ型は、quat の基となるデータ型と同じです。

データ型: single | double

拡張機能

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

バージョン履歴

R2019b で導入