rotm2eul
回転行列のオイラー角への変換
説明
例
回転行列のオイラー角への変換
ZYZ 軸順序を使用した回転行列のオイラー角への変換
rotm = [0 0 1; 0 1 0; -1 0 0];
eulZYZ = rotm2eul(rotm,'ZYZ')
eulZYZ = 1×3
-3.1416 -1.5708 -3.1416
入力引数
rotm
— 回転行列
3×3×n の行列
回転行列。n 個の回転行列を含む 3×3×n の行列として指定します。各回転行列はサイズが 3 行 3 列で、正規直交です。入力回転行列は、回転について左から掛ける形式になっていなければなりません。
メモ
わずかに正規直交でない回転行列は、出力が複素数になることがあります。関数に入力する前に、行列を検証することを検討してください。
例: [0 0 1; 0 1 0; -1 0 0]
sequence
— 軸回転シーケンス
"ZYX"
(既定値) | "ZYZ"
| "ZXY"
| "ZXZ"
| "YXY"
| "YZX"
| "YXZ"
| "YZY"
| "XYX"
| "XYZ"
| "XZX"
| "XZY"
オイラー角の軸回転シーケンス。以下のいずれかの string スカラーとして指定します。
"ZYX"
(既定)"ZYZ"
"ZXY"
"ZXZ"
"YXY"
"YZX"
"YXZ"
"YZY"
"XYX"
"XYZ"
"XZX"
"XZY"
それぞれの文字は対応する軸を示します。たとえば、シーケンスが "ZYX"
である場合、指定された 3 つのオイラー角は順に z 軸回りの回転、y 軸回りの回転、および x 軸回りの回転として解釈されます。この回転を点に適用すると、軸回転が x、y、z の順に適用されます。
データ型: string
| char
出力引数
eul
— オイラー回転角
n 行 3 列の行列
オイラー回転角 (ラジアン単位)。オイラー回転角の n 行 3 列の配列として返されます。各行は 1 つのオイラー角のセットを表します。
例: [0 0 1.5708]
eulAlt
— 別のオイラー回転角の解
n 行 3 列の行列
別のオイラー回転角の解 (ラジアン単位)。オイラー回転角の n 行 3 列の配列として返されます。各行は 1 つのオイラー角のセットを表します。
例: [0 0 1.5708]
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
バージョン履歴
R2015a で導入R2023a: 追加のオイラー シーケンスのサポート
rotm2eul
は引数 sequences
について、追加のオイラー シーケンスをサポートしています。以下はサポートされるすべてのオイラー シーケンスです。
"ZYX"
"ZYZ"
"ZXY"
"ZXZ"
"YXY"
"YZX"
"YXZ"
"YZY"
"XYX"
"XYZ"
"XZX"
"XZY"
R2020a: 別のオイラー角の出力
rotm2eul
は、必要に応じて別のオイラー角セット eulAlt
を出力するようになりました。これも元の出力オイラー角 eul
と同じ回転を表します。したがって、点の回転に eul
または eulAlt
を使用しても結果の点は同じになります。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)