mat4-recompose

recomposes a 4x4 matrix

MIT License

Downloads
112.5K
Stars
6
Committers
1

mat4-recompose

Recompose a 4x4 matrix from translation, scale, skew, perspective, and rotation. This is commonly used in matrix animations (i.e. after decompose and interpolation). Code ported from W3 CSS Spec. PRs for more tests/robustness/optimizations welcome.

You may also be interested in mat4-interpolate, mat4-decompose, and css-mat4.

Usage

recompose(matrix, translation, scale, skew, perspective, quaternion)

Recomposes a matrix with the given vectors, storing the result into matrix (a 16 float array).

  • translation [x, y, z]
  • scale [x, y, z]
  • skew [xy, xz, yz] skew factors
  • perspective [x, y, z, w]
  • quaternion [x, y, z, w]

Returns the matrix being recomposed.

Builds a translation matrix, then applies the quaternion rotation and perspective. The matrix is then multiplied by YZ shear, then XZ shear, then XY shear (if they are non-zero). Finally multiplied by scale to get the resulting recomposed matrix.

License

MIT, see LICENSE.md for details.

Package Rankings
Top 5.11% on Npmjs.org
Top 34.18% on Repo1.maven.org
Badges
Extracted from project README
stable