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 uniform scale 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 uniform scale matrix (diagonal matrix with all diagonal entries the same nonzero number).

Defined in

Last Updated: 13 May, 2024