Main Content

tform2trvec

同次変換から並進ベクトルを抽出

説明

trvec = tform2trvec(tform) は、並進ベクトル trvec の直交座標表現を、同次変換 tform から抽出します。tform の回転コンポーネントは無視されます。入力の同次変換は、変換について左から掛ける形式になっている必要があります。

すべて折りたたむ

tform = [1 0 0 0.5; 0 -1 0 5; 0 0 -1 -1.2; 0 0 0 1];
trvec = tform2trvec(tform)
trvec = 1×3

    0.5000    5.0000   -1.2000

入力引数

すべて折りたたむ

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

2 次元同次変換行列の形式は次のとおりです。

T=[r11r12t1r21r22t2001]

3 次元同次変換行列の形式は次のとおりです。

T=[r11r12r13t1r21r22r23t2r31r32r33t30001]

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

出力引数

すべて折りたたむ

並進ベクトルの直交座標表現。tform が 3×3×n の配列の場合は n 行 2 列の行列として返され、tform が 4×4×n の配列の場合は n 行 3 列の行列として返されます。n は並進ベクトルの数です。各ベクトルの形式は [x y] または [x y z] です。

例: [0.5 6 100]

詳細

すべて折りたたむ

同次変換行列

同次変換行列は、直交回転と並進で構成されます。

2 次元変換

2 次元変換には、z 軸についての回転 θ (

Rz(θ)=[cosθsinθsinθcosθ]

) および x 軸と y 軸に沿った並進 (

t=[xy]

) が含まれているため、次の形式の 2 次元変換行列になります。

T=[Rt01×21]=[I2t01×21]·[R001×21]

3 次元変換

3 次元変換には、x 軸、y 軸、および z 軸についての 3 つの回転 (

Rx(ϕ)=[1000cosϕsinϕ0sinϕcosϕ],Ry(ψ)=[cosψ0sinψ010sinψ0cosψ],Rz(θ)=[cosθsinθ0sinθcosθ0001]

) に関する情報が含まれており、乗算後には xyz 軸についての回転 (

Rxyz=Rx(ϕ)Ry(ψ)Rz(θ)=[cosϕcosψcosθsinϕsinθcosϕcosψsinθsinϕcosθcosϕsinψsinϕcosψcosθ+cosϕsinθsinϕcosψsinθ+cosϕcosθsinϕsinψsinψcosθsinψsinθcosψ]

) になります。また、x 軸、y 軸、および z 軸に沿った並進 (

t=[xyz]

) が含まれています。したがって、次の形式の 3 次元変換行列になります。

T=[Rt01x31]=[I3t01x31]·[R001x31]

拡張機能

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

バージョン履歴

R2015a で導入

すべて展開する

参考

| |