Main Content

tform2eul

同次変換からオイラー角を抽出

説明

eul = tform2eul(tform) は、同次変換 tform から回転コンポーネントを抽出し、それをオイラー角 eul として返します。tform の並進コンポーネントは無視されます。入力の同次変換は、変換について左から掛ける形式になっている必要があります。オイラー角回転の既定の順序は "ZYX" です。

eul = tform2eul(tform, sequence) は、指定した回転シーケンス sequence を使用して、同次変換 tform からオイラー角 eul を抽出します。オイラー角回転の既定の順序は "ZYX" です。

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

すべて折りたたむ

tform = [1 0 0 0.5; 0 -1 0 5; 0 0 -1 -1.2; 0 0 0 1];
eulZYX = tform2eul(tform)
eulZYX = 1×3

         0         0    3.1416

tform = [1 0 0 0.5; 0 -1 0 5; 0 0 -1 -1.2; 0 0 0 1];
eulZYZ = tform2eul(tform,'ZYZ')
eulZYZ = 1×3

         0   -3.1416    3.1416

入力引数

すべて折りたたむ

同次変換。n 個の同次変換からなる 4×4×n の行列として指定します。入力の同次変換は、変換について左から掛ける形式になっている必要があります。

例: [0 0 1 0; 0 1 0 0; -1 0 0 0; 0 0 0 1]

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

  • "ZYX" (既定)

  • "ZYZ"

  • "ZXY"

  • "ZXZ"

  • "YXY"

  • "YZX"

  • "YXZ"

  • "YZY"

  • "XYX"

  • "XYZ"

  • "XZX"

  • "XZY"

それぞれの文字は対応する軸を示します。たとえば、シーケンスが "ZYX" である場合、指定された 3 つのオイラー角は順に z 軸回りの回転、y 軸回りの回転、および x 軸回りの回転として解釈されます。この回転を点に適用すると、軸回転が 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 で導入

すべて展開する