Class: Matrix

Tiny. Matrix

Matrix class as an object, which makes it a lot faster, here is a representation of it:

| a | c | tx|
| b | d | ty|
| 0 | 0 | 1 |

new Tiny.Matrix(a, b, c, d, tx, ty)

Name Type Default Description
a number 1 optional

x scale

b number 0 optional

x skew

c number 0 optional

y skew

d number 1 optional

y scale

tx number 0 optional

x translation

ty number 0 optional

y translation

Members

static,constantTiny.Matrix.IDENTITY

A default (identity) matrix

static,constantTiny.Matrix.TEMP_MATRIX

A temp matrix

anumber

Default Value:
  • 1

bnumber

Default Value:
  • 0

cnumber

Default Value:
  • 0

dnumber

Default Value:
  • 1

txnumber

Default Value:
  • 0

tynumber

Default Value:
  • 0

Methods

Appends the given Matrix to this Matrix.

Name Type Description
matrix Tiny.Matrix

The matrix to append.

Returns:
Type Description
Tiny.Matrix This matrix. Good for chaining method calls.

apply(pos, newPos){Tiny.Point}

Get a new position with the current transformation applied.
Can be used to go from a child's coordinate space to the world coordinate space. (e.g. rendering)

Name Type Description
pos Tiny.Point

The origin

newPos Tiny.Point optional

The point that the new position is assigned to (allowed to be same as input)

Returns:
Type Description
Tiny.Point The new point, transformed through this matrix

applyInverse(pos, newPos){Tiny.Point}

Get a new position with the inverse of the current transformation applied.
Can be used to go from the world coordinate space to a child's coordinate space. (e.g. input)

Name Type Description
pos Tiny.Point

The origin

newPos Tiny.Point optional

The point that the new position is assigned to (allowed to be same as input)

Returns:
Type Description
Tiny.Point The new point, inverse-transformed through this matrix

Creates a new Matrix object with the same values as this one.

Returns:
Type Description
Tiny.Matrix A copy of this matrix. Good for chaining method calls.

Changes the values of the given matrix to be the same as the ones in this matrix

Name Type Description
matrix Tiny.Matrix

The matrix to copy from.

Returns:
Type Description
Tiny.Matrix The matrix given in parameter with its values updated.

Decomposes the matrix (x, y, scaleX, scaleY, and rotation) and sets the properties on to a transform.

Name Type Description
transform Tiny.Transform | Tiny.TransformStatic

The transform to apply the properties to.

Returns:
Type Description
Tiny.Transform | Tiny.TransformStatic The transform with the newly applied properties

fromArray(array)

Creates a Matrix object based on the given array. The Element to Matrix mapping order is as follows:

a = array[0]
b = array[1]
c = array[3]
d = array[4]
tx = array[2]
ty = array[5]

Name Type Description
array Array.<number>

The array that the matrix will be populated from.

Resets this Matix to an identity (default) matrix.

Returns:
Type Description
Tiny.Matrix This matrix. Good for chaining method calls.

Inverts this matrix

Returns:
Type Description
Tiny.Matrix This matrix. Good for chaining method calls.

Prepends the given Matrix to this Matrix.

Name Type Description
matrix Tiny.Matrix

The matrix to prepend

Returns:
Type Description
Tiny.Matrix This matrix. Good for chaining method calls.

Applies a rotation transformation to the matrix.

Name Type Description
angle number

The angle in radians.

Returns:
Type Description
Tiny.Matrix This matrix. Good for chaining method calls.

Applies a scale transformation to the matrix.

Name Type Description
x number

The amount to scale horizontally

y number

The amount to scale vertically

Returns:
Type Description
Tiny.Matrix This matrix. Good for chaining method calls.

set(a, b, c, d, tx, ty){Tiny.Matrix}

sets the matrix properties

Name Type Description
a number

Matrix component

b number

Matrix component

c number

Matrix component

d number

Matrix component

tx number

Matrix component

ty number

Matrix component

Returns:
Type Description
Tiny.Matrix This matrix. Good for chaining method calls.

setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY){Tiny.Matrix}

Sets the matrix based on all the available properties

Name Type Description
x number

Position on the x axis

y number

Position on the y axis

pivotX number

Pivot on the x axis

pivotY number

Pivot on the y axis

scaleX number

Scale on the x axis

scaleY number

Scale on the y axis

rotation number

Rotation in radians

skewX number

Skew on the x axis

skewY number

Skew on the y axis

Returns:
Type Description
Tiny.Matrix This matrix. Good for chaining method calls.

toArray(transpose, out){Array.<number>}

Creates an array from the current Matrix object.

Name Type Default Description
transpose boolean

Whether we need to transpose the matrix or not

out Float32Array new Float32Array(9) optional

If provided the array will be assigned to out

Returns:
Type Description
Array.<number> the newly created array which contains the matrix

Translates the matrix on the x and y.

Name Type Description
x number

How much to translate x by

y number

How much to translate y by

Returns:
Type Description
Tiny.Matrix This matrix. Good for chaining method calls.
Documentation generated by JSDoc 3.4.3 on Fri Jul 09 2021 19:32:27 GMT+0800 (CST)