mat4-recompose

recomposes a 4x4 matrix

Usage no npm install needed!

<script type="module">
  import mat4Recompose from 'https://cdn.skypack.dev/mat4-recompose';
</script>

README

mat4-recompose

stable

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

NPM

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.