Main Content

isSimilarity

Determine if transformation is similarity transformation

Description

example

TF= isSimilarity(tform)determines whether or not the affine transformation specified bytformis a similarity transformation.

Examples

collapse all

Create anaffine2dobject that defines a pure translation.

A = [ 1 0 0 0 1 0 40 40 1 ]; tform = affine2d(A)
tform = affine2d with properties: T: [3x3 double] Dimensionality: 2

Check if transformation is a similarity transformation.

tf = isSimilarity(tform)
tf = 1

Create anaffine3dobject that defines a different scale factor in each dimension.

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])
tform = affine3d with properties: T: [4x4 double] Dimensionality: 3

Check if the transformation is a similarity transformation.

TF = isSimilarity(tform)
TF = 0

Input Arguments

collapse all

Geometric transformation, specified as anaffine2doraffine3dgeometric transformation object.

Output Arguments

collapse all

Flag indicating similarity transformation, returned as a logical scalar.TFisTruewhentformis a similarity transformation.

Data Types:logical

More About

collapse all

Similarity Transformation

A similarity transformation includes only rotation, translation, isotropic scaling, and reflection. A similarity transformation does not modify the shape of an input object. Straight lines remain straight, and parallel lines remain parallel.

Note

isSimilarityreturnsTrueif the transformation includes reflection. Some toolbox functions, such asimregister, support only non-reflective similarity. Other functions, such asfitgeotrans, support reflection.

Introduced in R2013a