transformPointsInverse
幾何学的逆変換の適用
構文
説明
例
2 次元幾何学的変換の逆変換の適用
変換を定義する affine2d
オブジェクトを作成します。
theta = 10; tform = affine2d([cosd(theta) -sind(theta) 0; sind(theta) cosd(theta) 0; 0 0 1])
tform = affine2d with properties: T: [3x3 double] Dimensionality: 2
2 次元幾何学的変換のフォワード変換を入力点に適用します。
[X,Y] = transformPointsForward(tform,5,10)
X = 6.6605 Y = 8.9798
前の手順で得た出力点に 2 次元幾何学的変換の逆変換を適用して、元の座標に戻します。
[U,V] = transformPointsInverse(tform,X,Y)
U = 5.0000 V = 10
カスタムの 2 次元変換を使用したパックされた座標の変換
5 つの入力点のパックされた (x,y) 座標を指定します。パックされた座標は 5 行 2 列の行列として格納します。ここで、各点の x 座標は最初の列に、各点の y 座標は 2 番目の列に入れます。
XY = [10 15;11 32;15 34;2 7;2 10];
逆マッピング関数を定義します。この関数はパックされた (x,y) 形式の点を受け入れ、同じ形式の点を返します。
inversefn = @(c) [c(:,1)+c(:,2),c(:,1)-c(:,2)]
inversefn = function_handle with value:
@(c)[c(:,1)+c(:,2),c(:,1)-c(:,2)]
逆マッピング関数を格納する 2 次元幾何学的変換オブジェクト tform
を作成します。
tform = geometricTransform2d(inversefn)
tform = geometricTransform2d with properties: InverseFcn: @(c)[c(:,1)+c(:,2),c(:,1)-c(:,2)] ForwardFcn: [] Dimensionality: 2
幾何学的逆変換を入力点に適用します。
UV = transformPointsInverse(tform,XY)
UV = 5×2
25 -5
43 -21
49 -19
9 -5
12 -8
3 次元幾何学的変換の逆変換の適用
変換を定義する affine3d
オブジェクトを作成します。
tform = affine3d([3 1 2 0;4 5 8 0;6 2 1 0;0 0 0 1])
tform = affine3d with properties: T: [4×4 double] Dimensionality: 3
3 次元幾何学的変換のフォワード変換を入力点に適用します。
[X,Y,Z] = transformPointsForward(tform,2,3,5)
X = 48 Y = 27 Z = 33
前の手順で得た出力点に 3 次元幾何学的変換の逆変換を適用して、元の座標に戻します。
[U,V,W] = transformPointsInverse(tform,X,Y,Z)
U = 2.0000 V = 3 W = 5.0000
カスタムの 3 次元変換を使用したパックされた座標の変換
5 つの入力点のパックされた (x,y,z) 座標を指定します。パックされた座標は 5 行 3 列の行列として格納します。ここで、1 番目、2 番目、3 番目の列には、それぞれ x 座標、y 座標、z 座標を格納します。
XYZ = [5 25 20;10 5 25;15 10 5;20 15 10;25 20 15];
パックされた (x,y,z) 形式の点を受け入れ、同じ形式の点を返す逆マッピング関数を定義します。
inverseFcn = @(c) [c(:,1)+c(:,2),c(:,1)-c(:,2),c(:,3).^2];
この逆マッピング関数を格納する 3 次元幾何学的変換オブジェクト tform
を作成します。
tform = geometricTransform3d(inverseFcn)
tform = geometricTransform3d with properties: InverseFcn: @(c)[c(:,1)+c(:,2),c(:,1)-c(:,2),c(:,3).^2] ForwardFcn: [] Dimensionality: 3
この 3 次元幾何学的変換の逆変換を入力点に適用します。
UVW = transformPointsInverse(tform,XYZ)
UVW = 5×3
30 -20 400
15 5 625
25 5 25
35 5 100
45 5 225
入力引数
tform
— 幾何学的変換
幾何学的変換オブジェクト
幾何学的変換。幾何学的変換オブジェクトとして指定します。
2 次元幾何学的変換の場合、tform
は rigid2d
、affine2d
、projective2d
、geometricTransform2d
、LocalWeightedMeanTransformation2D
、PiecewiseLinearTransformation2D
、または PolynomialTransformation2D
幾何学的変換オブジェクトです。
3 次元幾何学的変換の場合、tform
は affine3d
、rigid3d
、または geometricTransform3d
幾何学的変換オブジェクトです。
x
— 変換される点の x 座標
m 行 n 列または m x n x p の数値配列
変換される点の x 座標。m 行 n 列または m x n x p の数値配列として指定します。x
の次元数は、tform
の次元数に一致します。
データ型: single
| double
y
— 変換される点の y 座標
m 行 n 列または m x n x p の数値配列
変換される点の y 座標。m 行 n 列または m x n x p の数値配列として指定します。y
のサイズは、x
のサイズと一致しなければなりません。
データ型: single
| double
X
— 変換される点の座標
l 行 2 列または l 行 3 列の数値配列
変換される点の座標。l 行 2 列または l 行 3 列の数値配列として指定します。X
の列数は、tform
の次元数に一致します。
最初の列には、変換する各点の x 座標が一覧表示され、2 番目の列には y 座標が一覧表示されます。tform
が 3 次元幾何学的変換を表す場合、X
のサイズは l 行 3 列で、3 番目の列は変換する点の z 座標を一覧表示します。
データ型: single
| double
出力引数
u
— 変換後の点の x 座標
m 行 n 列または m x n x p の数値配列
変換後の点の x 座標。m 行 n 列または m x n x p の数値配列として返されます。u
の次元数は、tform
の次元数に一致します。
データ型: single
| double
v
— 変換後の点の y 座標
m 行 n 列または m x n x p の数値配列
変換後の点の y 座標。m 行 n 列または m x n x p の数値配列として返されます。v
のサイズは、u
のサイズと一致します。
データ型: single
| double
w
— 変換後の点の z 座標
m x n x p の数値配列
変換後の点の z 座標。m x n x p の数値配列として返されます。w
のサイズは、u
のサイズと一致します。
データ型: single
| double
バージョン履歴
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)