On this page | |

Since | 19.0 |

This SOP provides an interface to decompose matrix attributes on the points of the input into new attributes. This SOP provides two method of decomposing your matrix.

The first method is to run a polar decomposition of your matrix. In this mode, translation and rotation vectors can be outputted as well as 3×3 stretch matrices. This can be more reliable at computing meaningful Euler rotation angles for points in your scenes.

The second method is to crack your matrix into translation, rotation, scale, and shear vectors. These vectors are the same as those used in the Transform SOP.

Finally, this SOP provides controls to apply an Euler rotation filter to the new rotation attributes to rectify discontinuities in the rotation data.

The attributes which are created by this node can be used to recompute the matrices easily with the Attribute Transform Compute SOP.

## Parameters

Group

Specifies which points will be used to create the hierarchy and from which points the attributes will be extracted.

## Euler Filter

These parameters can be used to define how to apply an Euler rotation filter to the rotation attributes which are created by this node.

Hierarchy Source

The source used to compute a hierarchy in the geometry. This hierarchy is used to filter the Euler angles.

Note

A hierarchy is a structure to the points such that every point has at most one parent point. When filtering the Euler angles, the parent of a point is used to provide the hint for the Euler Filter. For something like a motion trail, the parent of a point should be the previous point in the trail.

None

No hierarchy is computed. Every angle is computed to be as close to the **Hint** as possible.

Topology

The hierarchy is obtained from the topology or the geometry. If a hierarchy of points cannot be obtained from the topology, no hierarchy is used.

Tip

This option could prove useful if your geometry is a set of motion trails such as those that can be created by the MotionClip Extract SOP.

Pieces or Points

The hierarchy is computed by filtering the Euler angles in point order. If a **Piece Attribute** is specified, this operation will occur in each piece separately.

Tip

This option can be useful if you are working with a sequence of frames of an animation such as those that can be created by the MotionClip Extract SOP.

Piece Attribute

The name of a partition attribute defining pieces, where each point where the attribute has the same value is considered part of the same piece. If not given or if the attribute is invalid, every point will be considered part of the same piece.

Partition attributes can only be integers or strings. This will be a point attribute.

This parameter is only available when **Hierarchy Source** is set to **Pieces or Points**.

Hint

A hint which is used to filter the Euler angles of any point that does not have a parent in the hierarchy.

## Transform

These parameters manage what matrix point attributes to decompose and how they should be decomposed.

Decomposition

The method used to decompose the matrix attributes.

Polar Decomposition

A polar decomposition of the matrix attributes will be computed. Translation vectors, rotation vectors, and 3×3 stretch matrices can be computed by this decomposition method.

Crack Transform

The matrix attributes will be cracked for its component attributes. Translation, rotation, scale, and shear vectors can be computed by this method.

Transform Order

Order in which the transformations can occur to recreate the matrix.

Rotation Order

Order in which the rotations can occur to recreate the matrix.

Attributes

The matrix attributes to be decomposed.

Translation

The prefix and suffix of the new translation vector attributes. Translation attributes will only be computed for 4×4 matrices.

For example, if the `localtransform`

4×4 matrix attribute is decomposed, the translation prefix is `_`

and the suffix is `_t`

, the new translation attribute will be `_localtransform_t`

.

Rotation

The prefix and suffix of the new rotation vector attributes.

Stretch

The prefix and suffix of the new 3×3 stretch matrix attributes.

This parameter is only available when **Decomposition** is set to **Polar Decomposition**.

Scale

The prefix and suffix of the new scale vector attributes.

This parameter is only available when **Decomposition** is set to **Crack Transform**.

Shear

The prefix and suffix of the new shear vector attributes.

This parameter is only available when **Decomposition** is set to **Crack Transform**.

## Inputs

First input

The geometry with matrix point attributes to decompose.

## Outputs

The geometry with new attributes created from the decomposed matrices.

See also |