Skip to content

Transform.DecomposeAffine (Transform., Vector3d.)

Public Class

Decomposes an affine transformation. A transformation is affine if it is valid and its last row is [0, 0, 0, 1]. An affine transformation can be broken into a linear transformation and a translation. Note, a perspective transformation is not affine.

Namespace: Rhino.Geometry

Assembly: RhinoCommon (in RhinoCommon.dll)

**Since:**6.12

Syntax

public bool DecomposeAffine(
out Transform linear,
out Vector3d translation
)

Parameters

linear

Type: Rhino.Geometry.Transform.
Linear transformation.

translation

Type: Rhino.Geometry.Vector3d.
Translation vector.

Return Value

Type:Boolean
True if successful decomposition.

Remarks

If X.DecomposeAffine(L, T) is true then X == L* Translation(T). DecomposeAffine(L, T) may fail for affine transformations if L is not invertible, and is more computationally expensive then X.DecomposeAffine(T, L).