Skip to content

[REQ] Decompose a 4x4 transformation matrix to get the position, rotation (as quaternion), and scale. #576

@Toni-SM

Description

@Toni-SM

Description

The Warp kernel warp.matrix constructs a 4x4 transformation matrix (composition). However, there is not a kernel (e.g.: warp.decompose) to perform the decomposition of the transformation matrix to get the position, rotation (as quaternion), and scale.

REQUEST: Create a kernel to decompose a 4x4 transformation matrix to get the position, rotation (as quaternion), and scale. Where the position, rotation and scale resulting from the matrix decomposition must lead to the same matrix when composing it: M == matrix(decompose(M)).

Context

Fabric Transforms with Fabric Scene Delegate and IFabricHierarchy define 2 transform attributes (omni:fabric:localMatrix and omni:fabric:worldMatrix, both are GfMatrix4d). Then, in order to efficiently process selected USDRT prims to get the position, rotation and scale using Warp kernels and fabricarray, the transformation matrix decomposition is needed.

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions