Tiny (607b gzipped), high performance utilities for performing 2/3D matrix calculations. Full unit test coverage, compatible with Node/CommonJS, AMD, and browser globals.
CoffeeScript JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
test
.gitignore
.travis.yml
Gruntfile.coffee
Gruntfile.js
LICENSE.md
README.md
grunt-umd-template.hbs
matrix-utilities.coffee
matrix-utilities.js
matrix-utilities.min.js
package.json

README.md

matrix-utilities

Build Status browser support

Tiny (607b gzipped), high performance utilities for performing 2/3D matrix calculations. Full unit test coverage, compatible with Node/CommonJS, AMD, and browser globals.

API

util = require 'matrix-utilities'

util.Identity() # returns new 3D identity matrix
util.add matrix1, matrix2 # returns matrix1 + matrix2
util.multiply matrix1, matrix2 # returns matrix1×matrix2
util.flip matrix # flip a matrix along x=y
util.to2d matrix
util.to3d matrix

examples

util = require 'matrix-utilities'

# identity

matrix = util.Identity()
###
	#=>
	[
		[1, 0, 0, 0]
		[0, 1, 0, 0]
		[0, 0, 1, 0]
		[0, 0, 0, 1]
	]
###

# to2d

util.to2d matrix
###
	#=>
	[
		[1, 0, 0]
		[0, 1, 0]
	]
###

# flip

util.flip [
	[1, 2, 3]
	[4, 5, 6]
	[7, 8, 9]
]
###
	#=>
	[
		[1, 4, 7]
		[2, 5, 8]
		[3, 6, 9]
	]
###

# add

one = [
	[2, 4]
	[6, 8]
]

two = [
	[1, 3]
	[5, 7]
]

util.add one, two
###
	#=>
	[
		[3, 7]
		[11, 15]
	]
###

# multiply

one = [
	[1, 2, 3]
	[4, 5, 6]
	[7, 8, 9]
]

two = [
	[1, 2]
	[3, 4]
	[5, 6]
]

util.multiply one, two
###
	#=>
	[
		[22, 28]
		[49, 64]
		[76, 100]
	]
###