Matrix

From GiderosMobile
Revision as of 14:33, 23 August 2018 by Hgy29 (talk | contribs)

Supported platforms: android, ios, mac, pc
Available since: Gideros 2011.6

Description


The Matrix class specifies transformation from one coordinate space to another.
These transformations include translation, rotation, scaling and skewing.

A 2D transformation matrix is a 3 x 3 matrix in homogenous coordinate system:

![images/matrix_props.png]

You can get and set the values of all six of the properties in a
Matrix object: [[[m11`, `m12`, `m21`, `m22`, `tx`, and `ty]]].

Since Gideros 2016.6, Matrix can also hold 3D (4x4) matrices.

Examples

Applying matrix to Sprite objects

local angle = math.rad(30)
-- create skew matrix
local m = Matrix.new(1, math.tan(angle), math.tan(angle), 1, 0, 0)
--aply to Sprite
local sprite = Sprite.new()
sprite:setMatrix(m)

Methods

Matrix.new - creates a new Matrix object
[[1]] - get anchor position from matrix transformation
[[2]] - returns the elements of this matrix instance
[[3]] - returns the value of the m11 component
[[4]] - returns the value of the m12 component
[[5]] - returns the value of the m21 component
[[6]] - returns the value of the m22 component
[[7]] - get all 16 elements of 4x4 matrix
[[8]] - get position from matrix transformation
[[9]] - get rotation for x axis
[[10]] - get rotation on y axis
[[11]] - get rotation for z axis
[[12]] - get scale from matrix transformation
[[13]] - get scale on x axis
[[14]] - get scale on y axis
[[15]] - get scale on z axis
[[16]] - returns the value of the tx component
[[17]] - returns the value of the ty component
[[18]] - returns the value of the tz component
[[19]] - get x position
[[20]] - get y position
[[21]] - get z position
[[22]] -
[[23]] - Multiply current matrix with new one
[[24]] -
[[25]] -
[[26]] -
[[27]] - combine existing rotation with provided
[[28]] - combine existing scale with provided scale
[[29]] - transform matrix for setting anchor position
[[30]] - sets all 6 elements of this matrix instance
[[31]] - sets the value of the m11 component
[[32]] - sets the value of the m22 component
[[33]] -
[[34]] -
[[35]] - set all 16 elements of 4x4 matrix
[[36]] - transform matrix for setting position
[[37]] - set rotation on x axis
[[38]] - set rotation on y axis
[[39]] - set rotation on z axis
[[40]] - transform matrix for setting scale
[[41]] - set scale on x axis
[[42]] - set scale on y axis
[[43]] - set scale on z axis
[[44]] - sets the value of the tx component
[[45]] - sets the value of the ty component
[[46]] - sets the value of the tz component
[[47]] - set x position
[[48]] - set y position
[[49]] - set z position
[[50]] -
[[51]] - combine existing translation with provided translation

Events

Constants