transformPointsForward
フォワード幾何学的変換の適用
構文
説明
例
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
フォワード幾何学的変換を入力 (u
,v
) の点に適用します。
[X,Y] = transformPointsForward(tform,5,10)
X = 6.6605 Y = 8.9798
カスタムの 2 次元変換を使用した座標配列の変換
変換する 5 つの点の x 座標と y 座標のベクトルを指定します。
x = [10 11 15 2 2]; y = [15 32 34 7 10];
逆マッピング関数とフォワード マッピング関数を定義します。どちらの関数もパックされた (x,y) 形式の点を受け入れ、同じ形式の点を返します。
inversefn = @(c) [c(:,1).^2,sqrt(c(:,2))]; forwardfn = @(c) [sqrt(c(:,1)),c(:,2).^2];
逆マッピング関数とオプションのフォワード マッピング関数を格納する 2 次元幾何学的変換オブジェクト tform
を作成します。
tform = geometricTransform2d(inversefn,forwardfn)
tform = geometricTransform2d with properties: InverseFcn: @(c)[c(:,1).^2,sqrt(c(:,2))] ForwardFcn: @(c)[sqrt(c(:,1)),c(:,2).^2] Dimensionality: 2
幾何学的逆変換を入力点に適用します。
[u,v] = transformPointsInverse(tform,x,y)
u = 1×5
100 121 225 4 4
v = 1×5
3.8730 5.6569 5.8310 2.6458 3.1623
フォワード幾何学的変換を変換後の点 u
と v
に適用します。
[x,y] = transformPointsForward(tform,u,v)
x = 1×5
10 11 15 2 2
y = 1×5
15.0000 32.0000 34.0000 7.0000 10.0000
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 次元幾何学的変換のフォワード変換を入力点 (u
,v
,w
) に適用します。
[X,Y,Z] = transformPointsForward(tform,2,3,5)
X = 48 Y = 27 Z = 33
カスタムの 3 次元変換を使用した座標配列の変換
変換する 5 つの点の x 座標、y 座標、z 座標のベクトルを指定します。
x = [3 5 7 9 11]; y = [2 4 6 8 10]; z = [5 9 13 17 21];
パックされた (x,y,z) 形式の点を受け入れ、同じ形式の点を返す逆マッピング関数とフォワード マッピング関数を定義します。
inverseFcn = @(c)[c(:,1).^2,c(:,2).^2,c(:,3).^2]; forwardFcn = @(c)[sqrt(c(:,1)),sqrt(c(:,2)),sqrt(c(:,3))];
これらの逆マッピング関数とフォワード マッピング関数を格納する 3 次元幾何学的変換オブジェクト tform
を作成します。
tform = geometricTransform3d(inverseFcn,forwardFcn)
tform = geometricTransform3d with properties: InverseFcn: @(c)[c(:,1).^2,c(:,2).^2,c(:,3).^2] ForwardFcn: @(c)[sqrt(c(:,1)),sqrt(c(:,2)),sqrt(c(:,3))] Dimensionality: 3
この 3 次元幾何学的変換の逆変換を入力点に適用します。
[u,v,w] = transformPointsInverse(tform,x,y,z)
u = 1×5
9 25 49 81 121
v = 1×5
4 16 36 64 100
w = 1×5
25 81 169 289 441
フォワード幾何学的変換を変換後の点 u
、v
および w
に適用します。
[x,y,z] = transformPointsForward(tform,u,v,w)
x = 1×5
3 5 7 9 11
y = 1×5
2 4 6 8 10
z = 1×5
5 9 13 17 21
入力引数
tform
— 幾何学的変換
幾何学的変換オブジェクト
幾何学的変換。幾何学的変換オブジェクトとして指定します。
2 次元幾何学的変換の場合、tform
は rigid2d
、affine2d
、projective2d
、または geometricTransform2d
幾何学的変換オブジェクトです。
3 次元幾何学的変換の場合、tform
は affine3d
、rigid3d
、または geometricTransform3d
幾何学的変換オブジェクトです。
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
U
— 変換される点の座標
l 行 2 列または l 行 3 列の数値配列
変換される点の座標。l 行 2 列または l 行 3 列の数値配列として指定します。U
の列数は、tform
の次元数に一致します。
最初の列には、変換する各点の x 座標が一覧表示され、2 番目の列には y 座標が一覧表示されます。tform
が 3 次元幾何学的変換を表す場合、U
のサイズは l 行 3 列で、3 番目の列は変換する点の z 座標を一覧表示します。
データ型: single
| double
出力引数
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
z
— 変換後の点の z 座標
m x n x p の数値配列
変換後の点の z 座標。m x n x p の数値配列として返されます。z
のサイズは、x
のサイズと一致します。
データ型: 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)