{"_id":"mat4-interpolate","_rev":"11-79b59c4947ed1ba157f926d052f77c57","name":"mat4-interpolate","description":"interpolates two matrices in place","dist-tags":{"latest":"1.0.4"},"versions":{"1.0.0":{"name":"mat4-interpolate","version":"1.0.0","description":"interpolates two matrices in place","main":"index.js","license":"MIT","author":{"name":"Matt DesLauriers","email":"dave.des@gmail.com","url":"https://github.com/mattdesl"},"dependencies":{"gl-mat4":"^1.0.1","gl-vec3":"^1.0.2","mat4-decompose":"^1.0.3","mat4-recompose":"^1.0.3","quat-slerp":"^1.0.0"},"devDependencies":{"dom-css":"^1.0.4","domready":"^1.0.7","matrix-to-css":"^1.0.4","tape":"^3.0.3","tweenr":"^2.0.4"},"scripts":{"test":"node test.js"},"keywords":["animate","animation","matrix","mat4","gl-mat4","gl-matrix","4x4","matrices","decompose","recompose","tween","css","style","quat","slerp","interpolate","mix"],"repository":{"type":"git","url":"git://github.com/mattdesl/mat4-interpolate.git"},"homepage":"https://github.com/mattdesl/mat4-interpolate","bugs":{"url":"https://github.com/mattdesl/mat4-interpolate/issues"},"gitHead":"7ccd143676745bd13ae5828d810a33f98dca80ad","_id":"mat4-interpolate@1.0.0","_shasum":"bc1413f2ccc2bf1f3d6f36b3c74975894dcca834","_from":".","_npmVersion":"2.1.4","_nodeVersion":"0.10.32","_npmUser":{"name":"mattdesl","email":"dave.des@gmail.com"},"maintainers":[{"name":"mattdesl","email":"dave.des@gmail.com"}],"dist":{"shasum":"bc1413f2ccc2bf1f3d6f36b3c74975894dcca834","tarball":"https://registry.npmjs.org/mat4-interpolate/-/mat4-interpolate-1.0.0.tgz","integrity":"sha512-uySy8WdPxp5Vm39xk7G62A+2yLastV3hoTRO7Ul9deDOBRDityL5sGGmhDQivYHOlX5JvcXgvVGKKdJhaHdg5g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBIub44VXpsDl7OJKXdCPpJEH9bBPo7QlpRq+R3TMrblAiAAoPkeiCUvw+VTF4cp3nVCOo53dFCJzW5Jo0vc+Lma6g=="}]}},"1.0.1":{"name":"mat4-interpolate","version":"1.0.1","description":"interpolates two matrices in place","main":"index.js","license":"MIT","author":{"name":"Matt DesLauriers","email":"dave.des@gmail.com","url":"https://github.com/mattdesl"},"dependencies":{"gl-mat4":"^1.0.1","gl-vec3":"^1.0.2","mat4-decompose":"^1.0.3","mat4-recompose":"^1.0.3","quat-slerp":"^1.0.0"},"devDependencies":{"dom-css":"^1.0.4","domready":"^1.0.7","matrix-to-css":"^1.0.4","tape":"^3.0.3","tweenr":"^2.0.4"},"scripts":{"test":"node test.js"},"keywords":["animate","animation","matrix","mat4","gl-mat4","gl-matrix","4x4","matrices","decompose","recompose","tween","css","style","quat","slerp","interpolate","mix"],"repository":{"type":"git","url":"git://github.com/mattdesl/mat4-interpolate.git"},"homepage":"https://github.com/mattdesl/mat4-interpolate","bugs":{"url":"https://github.com/mattdesl/mat4-interpolate/issues"},"gitHead":"96baf9a4cf5c1a72069dd52e52f8ac5b1550acb5","_id":"mat4-interpolate@1.0.1","_shasum":"0ac69000347549f3e94fb8c9e8206a6bedbd3a3e","_from":".","_npmVersion":"2.1.4","_nodeVersion":"0.10.32","_npmUser":{"name":"mattdesl","email":"dave.des@gmail.com"},"maintainers":[{"name":"mattdesl","email":"dave.des@gmail.com"}],"dist":{"shasum":"0ac69000347549f3e94fb8c9e8206a6bedbd3a3e","tarball":"https://registry.npmjs.org/mat4-interpolate/-/mat4-interpolate-1.0.1.tgz","integrity":"sha512-wZuQv84GoqpiYP4A5reDYkA8BSjcGqYd8aI22OyKKbflhLOjBvt3hULNF9CUewzU5CHA7QtI8+JIKyochAooMw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD9sQPizcfkXfyHLPJBrJf6fC6z8jlRyKydV38iVwfYqgIhANzlVJSeVuMcxlE0CesZYRNMdi62OmearsAmV6uvkAk+"}]}},"1.0.2":{"name":"mat4-interpolate","version":"1.0.2","description":"interpolates two matrices in place","main":"index.js","license":"MIT","author":{"name":"Matt DesLauriers","email":"dave.des@gmail.com","url":"https://github.com/mattdesl"},"dependencies":{"gl-mat4":"^1.0.1","gl-vec3":"^1.0.2","mat4-decompose":"^1.0.3","mat4-recompose":"^1.0.3","quat-slerp":"^1.0.0"},"devDependencies":{"dom-css":"^1.0.4","domready":"^1.0.7","matrix-to-css":"^1.0.4","tape":"^3.0.3","tweenr":"^2.0.4"},"scripts":{"test":"node test.js"},"keywords":["animate","animation","matrix","mat4","gl-mat4","gl-matrix","4x4","matrices","decompose","recompose","tween","css","style","quat","slerp","interpolate","mix"],"repository":{"type":"git","url":"git://github.com/mattdesl/mat4-interpolate.git"},"homepage":"https://github.com/mattdesl/mat4-interpolate","bugs":{"url":"https://github.com/mattdesl/mat4-interpolate/issues"},"gitHead":"b72d170296d4c55a7e5b09abde309aff31e5794e","_id":"mat4-interpolate@1.0.2","_shasum":"e51a27633950776e41a752802102b8778a55f46e","_from":".","_npmVersion":"2.1.4","_nodeVersion":"0.10.32","_npmUser":{"name":"mattdesl","email":"dave.des@gmail.com"},"maintainers":[{"name":"mattdesl","email":"dave.des@gmail.com"}],"dist":{"shasum":"e51a27633950776e41a752802102b8778a55f46e","tarball":"https://registry.npmjs.org/mat4-interpolate/-/mat4-interpolate-1.0.2.tgz","integrity":"sha512-J1GGh4fymnE7DojHGFdf18EL0dtT6M+w/jKNZ+zM2cR9e7uS6sO76sWZOJSWBKYFfpMjzZwUTyj9vTnOqVIkTg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICiYOIBYXCT2CSJxKjxfmfQMXilYP91/2qM/MCa4OmaFAiEAuCbeQvof2vb+DzsVc1SiG6ITT311zG+PlBuhvMzA6sc="}]}},"1.0.3":{"name":"mat4-interpolate","version":"1.0.3","description":"interpolates two matrices in place","main":"index.js","license":"MIT","author":{"name":"Matt DesLauriers","email":"dave.des@gmail.com","url":"https://github.com/mattdesl"},"dependencies":{"gl-mat4":"^1.0.1","gl-vec3":"^1.0.2","mat4-decompose":"^1.0.3","mat4-recompose":"^1.0.3","quat-slerp":"^1.0.0"},"devDependencies":{"dom-css":"^1.0.4","domready":"^1.0.7","matrix-to-css":"^1.0.4","tape":"^3.0.3","tweenr":"^2.0.4"},"scripts":{"test":"node test.js"},"keywords":["animate","animation","matrix","mat4","gl-mat4","gl-matrix","4x4","matrices","decompose","recompose","tween","css","style","quat","slerp","interpolate","mix"],"repository":{"type":"git","url":"git://github.com/mattdesl/mat4-interpolate.git"},"homepage":"https://github.com/mattdesl/mat4-interpolate","bugs":{"url":"https://github.com/mattdesl/mat4-interpolate/issues"},"gitHead":"da681a6ae001988ac30557475ace04b4e66db60d","_id":"mat4-interpolate@1.0.3","_shasum":"f47b4cac5fe2029a32c3b29da18d84541bfdb626","_from":".","_npmVersion":"2.1.4","_nodeVersion":"0.10.32","_npmUser":{"name":"mattdesl","email":"dave.des@gmail.com"},"maintainers":[{"name":"mattdesl","email":"dave.des@gmail.com"}],"dist":{"shasum":"f47b4cac5fe2029a32c3b29da18d84541bfdb626","tarball":"https://registry.npmjs.org/mat4-interpolate/-/mat4-interpolate-1.0.3.tgz","integrity":"sha512-4/6KRewK8+yX2R/h96SEMjkwq01b1U6yuCx4Qcqaz1RblQ76RXQpR1lFMBvZEzhlBcgO3Sb0jsIG0fVFggCD4Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDS7YW17fJmqi5rZ/lGiofMS8qYCMtGEzq5LC/u0t1GGAiBB2IpjxtF6sNQcKBuxdBXlqawxS/xdfhxHrcuppT7XQg=="}]}},"1.0.4":{"name":"mat4-interpolate","version":"1.0.4","description":"interpolates two matrices in place","main":"index.js","license":"MIT","author":{"name":"Matt DesLauriers","email":"dave.des@gmail.com","url":"https://github.com/mattdesl"},"dependencies":{"gl-mat4":"^1.0.1","gl-vec3":"^1.0.2","mat4-decompose":"^1.0.3","mat4-recompose":"^1.0.3","quat-slerp":"^1.0.0"},"devDependencies":{"dom-css":"^1.0.4","domready":"^1.0.7","matrix-to-css":"^1.0.4","tape":"^3.0.3","tweenr":"^2.0.4"},"scripts":{"test":"node test.js"},"keywords":["animate","animation","matrix","mat4","gl-mat4","gl-matrix","4x4","matrices","decompose","recompose","tween","css","style","quat","slerp","interpolate","mix"],"repository":{"type":"git","url":"git://github.com/mattdesl/mat4-interpolate.git"},"homepage":"https://github.com/mattdesl/mat4-interpolate","bugs":{"url":"https://github.com/mattdesl/mat4-interpolate/issues"},"gitHead":"c5a159002cd52c64066c0c81166dce0d996337cb","_id":"mat4-interpolate@1.0.4","_shasum":"55ffe9eb3c35295e2c0d5a9f7725d9068a89ff74","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"mattdesl","email":"dave.des@gmail.com"},"dist":{"shasum":"55ffe9eb3c35295e2c0d5a9f7725d9068a89ff74","tarball":"https://registry.npmjs.org/mat4-interpolate/-/mat4-interpolate-1.0.4.tgz","integrity":"sha512-+ulnoc6GUHq8eGZGbLyhQU61tx2oeNAFilV/xzCCzLV+F3nDk8jqERUqRmx8eNMMMvrdvoRSw0JXmnisfVPY9A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICXEG85ALfa5cEVo+JVreMZbsYh1mm/KMsaZP9J1PXANAiEA08HfXDN61I+7MEfEzh3pHHNzGZa1wSg79wrqqYlvOI4="}]},"maintainers":[{"name":"mattdesl","email":"dave.des@gmail.com"}]}},"readme":"# mat4-interpolate\n\n[![stable](http://badges.github.io/stability-badges/dist/stable.svg)](http://github.com/badges/stability-badges)\n\nInterpolates between two 4x4 matrices, using algorithms from W3C Spec to produce consistent results with CSS animations. Like [mat4-interpolator](https://www.npmjs.org/package/mat4-interpolator) but does the decomposition in place. \n\nTranslation, scale, skew and perspective are interpolated linearly, and rotation is interpolated with spherical interpolation.\n\n```js\nvar mat4 = require('gl-mat4')\nvar start = mat4.create()\nvar end = mat4.fromRotationTranslation([], [0,1,0,0], [20, 50, -10])\nvar out = mat4.create()\n\n//the matrix interpolator\nvar interpolate = require('mat4-interpolate')\n\n\n//.. in your render loop\nfunction render() {\n    //interpolate based on alpha, storing results in 'out' matrix\n    var vlid = interpolate(out, start, end, alpha)\n    \n    if (!valid) {\n        //could not interpolate, you need to animate yourself somehow   \n    }\n}\n```\n\n## Usage\n\n[![NPM](https://nodei.co/npm/mat4-interpolate.png)](https://nodei.co/npm/mat4-interpolate/)\n\n#### `valid = interpolate(out, start, end, alpha)`\n\nInterpolates between `start` and `end` matrices (16 floats in an array) and stores the result in `out`, using `alpha` for interpolation. This will decompose the two matrices into components, lerp/slerp, and then recompose.\n\nReturns `true` is the interpolation succeeded, or `false` if either matrix is non-invertible (i.e. scale or perspective W of zero). W3C suggests falling back to discrete animations in this case.\n\n## License\n\nMIT, see [LICENSE.md](http://github.com/mattdesl/mat4-interpolate/blob/master/LICENSE.md) for details.\n","maintainers":[{"name":"mattdesl","email":"dave.des@gmail.com"}],"time":{"modified":"2022-06-19T16:28:40.904Z","created":"2014-12-09T22:07:25.267Z","1.0.0":"2014-12-09T22:07:25.267Z","1.0.1":"2014-12-09T22:07:56.827Z","1.0.2":"2014-12-09T22:08:06.436Z","1.0.3":"2014-12-09T22:08:21.368Z","1.0.4":"2015-05-09T17:38:12.927Z"},"homepage":"https://github.com/mattdesl/mat4-interpolate","keywords":["animate","animation","matrix","mat4","gl-mat4","gl-matrix","4x4","matrices","decompose","recompose","tween","css","style","quat","slerp","interpolate","mix"],"repository":{"type":"git","url":"git://github.com/mattdesl/mat4-interpolate.git"},"author":{"name":"Matt DesLauriers","email":"dave.des@gmail.com","url":"https://github.com/mattdesl"},"bugs":{"url":"https://github.com/mattdesl/mat4-interpolate/issues"},"license":"MIT","readmeFilename":"README.md"}