transformers
Lightweight zero-dependency transformation matrix utilities
Why
Perform transformation matrix calculation in a 2D plane. Use this library to:
- Create a transformation matrix and manipulate it via translation, rotation, scale, shear, skew
- Parse a transformation in string format,
translate(10 20) rotate(30)
- Obtain a point after applying transformation
- Obtain matrix in string format to be used in CSS or SVG
Install
npm install transformersjs
Usage
Initialize a matrix
var transformers = ; var mat = ;//ORvar mat = ; matmatrix; // { a: 1, b: 0, c: 0, d: 1, e: 0, f: 0 }
Parse transformation in string
var transformers = ; var mat = ;//ORvar mat = ; matmatrix; //{ a: 1, b: 0, c: 0, d: 1, e: 10, f: 15 }
Obtain a point after applying transformations
var transformers = ; var mat = ; mat; // { x: 18, y: 20 }
Convert matrix to string to be used in CSS or SVG
var transformers = ; var mat = ; mat; // matrix(1,0,0,1,10,15)
API
Objects
- transformers :
object
Initializer to create a matrix instance
Typedefs
- Matrix :
object
Matrix formation
object
transformers : Initializer to create a matrix instance
Kind: global namespace
Param | Type | Description |
---|---|---|
[input] | string | object | array |
Can be a transformation in string, object, array notation |
- transformers :
object
transformers
transformers.multiply(matrix) ⇒ Perform matrix multiplication
Kind: static method of transformers
Param | Type | Description |
---|---|---|
matrix | array | Matrix | Transformers |
matrix to be multiplied |
Example
var transformers = ;var mat = ; mat;mat;mat; // { a: 1, b: 0, c: 0, d: 1, e: 0, f: 0 }
transformers
transformers.parse(str) ⇒ Parse a valid string containing various transformations
Kind: static method of transformers
Param | Type |
---|---|
str | string |
Example
var transformers = ;var mat = ; mat; // {a: 1, b: 0, c: 0, d: 1, e: 10, f: 10}
transformers
transformers.translate([x], [y]) ⇒ Perform translation
Kind: static method of transformers
Param | Type | Default | Description |
---|---|---|---|
[x] | number |
0 |
translation along x-axis |
[y] | number |
0 |
translation along y-axis |
Example
var transformers = ;var mat = ; mat; // {a: 1, b: 0, c: 0, d: 1, e: 10, f: 10}mat; // {a: 1, b: 0, c: 0, d: 1, e: 15, f: 15}
transformers
transformers.rotate(angle, [x], [y]) ⇒ Perform rotation
Kind: static method of transformers
Param | Type | Description |
---|---|---|
angle | number |
angle in degree |
[x] | number |
rotation along a point in x-axis |
[y] | number |
rotation along a point in y-axis |
transformers
transformers.scale(x, [y]) ⇒ Perform scaling
Kind: static method of transformers
Param | Type | Default | Description |
---|---|---|---|
x | number |
scaling along x-axis | |
[y] | number |
x |
scaling along y-axis |
Example
var transformers = ;var mat = ; mat; // {a: 5, b: 0, c: 0, d: 5, e: 10, f: 10}mat; // {a: 5, b: 0, c: 0, d: 2, e: 10, f: 10}
transformers
transformers.shear(x, y) ⇒ Perform shear
Kind: static method of transformers
Param | Type | Description |
---|---|---|
x | number |
shear along x-axis |
y | number |
shear along y-axis |
Example
var transformers = ;var mat = ; mat; // {a: 1, b: 5, c: 5, d: 1, e: 0, f: 0}
transformers
transformers.skew(x, y) ⇒ Perform skew
Kind: static method of transformers
Param | Type | Description |
---|---|---|
x | number |
skew along x-axis |
y | number |
skew along y-axis |
Example
var transformers = ;var mat = ; mat; // {a: 1, b: -3.3805, c: -3.3805, d: 1, e: 0, f: 0}
transformers
transformers.inverse() ⇒ Inverse current matrix
Kind: static method of transformers
Example
var transformers = ;var mat = ; mat; // {a: 1, b: 0, c: 0, d: 1, e: -10, f: -10}
Object
transformers.pointTo([x], [y]) ⇒ Obtain a point after applying transformation
Kind: static method of transformers
Param | Type | Default |
---|---|---|
[x] | number |
0 |
[y] | number |
0 |
Example
var transformers = ;var mat = ; mat; // {x: 10, y: 10}mat; // {x: 20, y: 10}
string
transformers.render() ⇒ Converts current matrix to string format to be used in CSS or SVG
Kind: static method of transformers
Example
var transformers = ;var mat = ; mat; // "matrix(1,0,0,1,10,10)"
object
Matrix : Matrix formation
Kind: global typedef
Properties
Name | Type | Default |
---|---|---|
a | number |
1 |
b | number |
0 |
c | number |
0 |
d | number |
1 |
e | number |
0 |
f | number |
0 |