factorRigidWithSignedScale Method
Test if all rows and columns are perpendicular to each other and have equal length.
If so, the length (or its negative) is the scale
factor from a set of orthonormal axes
to
the set of axes created by columns of this
matrix. Otherwise, returns undefined
.
factorRigidWithSignedScale(result?: Matrix3d): undefined | { rigidAxes: Matrix3d, scale: number }
@returns returns { rigidAxes, scale }
where rigidAxes
is a Matrix3d with its columns as the rigid axes
(with the scale factor removed) and scale
is the scale factor.
- Note that determinant of a rigid matrix is +1.
- The context for this method is to determine if the matrix is the product a
rotation
matrix and a uniformscale
matrix (diagonal matrix with all diagonal entries the same nonzero number).
Parameter | Type | Description |
---|---|---|
result | Matrix3d | optional pre-allocated object to populate and return |
Returns - undefined | { rigidAxes: Matrix3d, scale: number }
returns { rigidAxes, scale }
where rigidAxes
is a Matrix3d with its columns as the rigid axes
(with the scale factor removed) and scale
is the scale factor.
- Note that determinant of a rigid matrix is +1.
- The context for this method is to determine if the matrix is the product a
rotation
matrix and a uniformscale
matrix (diagonal matrix with all diagonal entries the same nonzero number).
Defined in
- geometry3d/Matrix3d.ts Line 2774
Last Updated: 28 October, 2024