factorRigidWithSignedScale Method

Test if the instance is the product of a rigid matrix and a signed scale, and return both.

  • Specifically, this is a test of whether the instance rows and columns are pairwise perpendicular and have equal length. If so, the scale factor is this length, or its negative if the instance is a mirror, and dividing the columns by this scale factor produces a rigid matrix (a rotation).

factorRigidWithSignedScale(result?: Matrix3d): { rigidAxes: Matrix3d, scale: number } | undefined

@returns the factorization { rigidAxes, scale } where rigidAxes is the instance matrix with scale factor removed, or undefined if the factorization failed.

Parameter Type Description
result Matrix3d optional pre-allocated object to populate and return

Returns - { rigidAxes: Matrix3d, scale: number } | undefined

the factorization { rigidAxes, scale } where rigidAxes is the instance matrix with scale factor removed, or undefined if the factorization failed.

Defined in

Last Updated: 27 May, 2026