Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

mat4-interpolate

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mat4-interpolate

interpolates two matrices in place

  • 1.0.4
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
22K
decreased by-23.79%
Maintainers
1
Weekly downloads
 
Created
Source

mat4-interpolate

stable

Interpolates between two 4x4 matrices, using algorithms from W3C Spec to produce consistent results with CSS animations. Like mat4-interpolator but does the decomposition in place.

Translation, scale, skew and perspective are interpolated linearly, and rotation is interpolated with spherical interpolation.

var mat4 = require('gl-mat4')
var start = mat4.create()
var end = mat4.fromRotationTranslation([], [0,1,0,0], [20, 50, -10])
var out = mat4.create()

//the matrix interpolator
var interpolate = require('mat4-interpolate')


//.. in your render loop
function render() {
    //interpolate based on alpha, storing results in 'out' matrix
    var vlid = interpolate(out, start, end, alpha)
    
    if (!valid) {
        //could not interpolate, you need to animate yourself somehow   
    }
}

Usage

NPM

valid = interpolate(out, start, end, alpha)

Interpolates 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.

Returns 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.

License

MIT, see LICENSE.md for details.

Keywords

FAQs

Package last updated on 09 May 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc