Main Content

isTranslation

幾何学的変換が純粋な平行移動かどうかの判別

説明

TF = isTranslation(tform) は、tform によって指定された剛体変換またはアフィン変換が純粋な平行移動かどうかを判定します。

すべて折りたたむ

純粋な平行移動を定義する affine2d オブジェクトを作成します。

A = [ 1  0  0
      0  1  0
     40 40  1 ];

tform = affine2d(A)
tform = 

  affine2d with properties:

                 T: [3x3 double]
    Dimensionality: 2

変換が純粋な平行移動かどうかをチェックします。

tf = isTranslation(tform)
tf =

     1

次元ごとに異なる倍率を定義する affine3d オブジェクトを作成します。

Sx = 1.2;
Sy = 1.6;
Sz = 2.4;
tform = affine3d([Sx 0 0 0; 0 Sy 0 0; 0 0 Sz 0; 0 0 0 1]);
tf = 

  affine3d with properties:

                 T: [4x4 double]
    Dimensionality: 3

変換が純粋な平行移動かどうかをチェックします。tform はオブジェクトをスケールするので、

tf = isTranslation(tform)
tf =

     0

予想どおり、スケーリングによって入力ボリュームのサイズと形状が変更されるため、変換は純粋な平行移動ではありません。

入力引数

すべて折りたたむ

幾何学的変換。affine2daffine3d、または rigid2d 幾何学的変換オブジェクトとして指定します。

出力引数

すべて折りたたむ

幾何学的変換が純粋な平行移動。true または false として返されます。

データ型: logical

詳細

すべて折りたたむ

平行移動変換

平行移動変換は、イメージのサイズ、形状、または方向を変更することなく、イメージをシフトします。2 次元平行移動は、以下の形式の行列 T によって表されます。

 [1 0 0;
  0 1 0;
  e f 1];

3 次元平行移動は、以下の形式の行列によって表されます。

 [1 0 0 0;
  0 1 0 0;
  0 0 1 0;
  j k l 1];

バージョン履歴

R2013a で導入