Matrix

From GiderosMobile
Revision as of 08:12, 25 December 2020 by MoKaLux (talk | contribs) (remove language stuff)

Supported platforms: Platform android.pngPlatform ios.pngPlatform mac.pngPlatform pc.pngPlatform html5.pngPlatform winrt.pngPlatform win32.png
Available since: Gideros 2011.6
Inherits from: Object

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 homogeneous coordinate system:

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)
-- apply 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