Matrix

From GiderosMobile
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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
Matrix.fromSRT builds a matrix from scale/rotation/translation components

Matrix:duplicate returns a copy of this matrix
Matrix:getAnchorPosition gets anchor position from matrix transformation
Matrix:getElements returns the elements of this matrix instance
Matrix:getM11 returns the value of the m11 component
Matrix:getM12 returns the value of the m12 component
Matrix:getM21 returns the value of the m21 component
Matrix:getM22 returns the value of the m22 component
Matrix:getMatrix gets all 16 elements of 4x4 matrix
Matrix:getPosition gets position from matrix transformation
Matrix:getRotationX gets rotation on x axis
Matrix:getRotationY gets rotation on y axis
Matrix:getRotationZ get rotation on z axis
Matrix:getScale gets scale from matrix transformation
Matrix:getScaleX gets scale on x axis
Matrix:getScaleY gets scale on y axis
Matrix:getScaleZ gets scale on z axis
Matrix:getTx returns the value of the tx component
Matrix:getTy returns the value of the ty component
Matrix:getTz returns the value of the tz component
Matrix:getX gets x position
Matrix:getY gets y position
Matrix:getZ gets z position
Matrix:invert inverts the matrix
Matrix:multiply multiplies current matrix with new one
Matrix:orthographicProjection replaces this matrix by an orthographic projection
Matrix:perspectiveProjection replaces this matrix by a perspective projection
Matrix:perspectiveProjection replaces this matrix by a perspective projection
Matrix:rotate combines existing rotation with provided rotation
Matrix:scale combines existing scale with provided scale
Matrix:setAnchorPosition transform matrix for setting anchor position
Matrix:setElements sets all 6 elements of this matrix instance
Matrix:setM11 sets the value of the m11 component
Matrix:setM12 sets the value of the m12 component
Matrix:setM21 sets the value of the m21 component
Matrix:setM22 sets the value of the m22 component
Matrix:setMatrix set all 16 elements of 4x4 matrix
Matrix:setPosition transform matrix for setting position
Matrix:setRotationX sets rotation on x axis
Matrix:setRotationY sets rotation on y axis
Matrix:setRotationZ sets rotation on z axis
Matrix:setScale transform matrix for setting scale
Matrix:setScaleX sets scale on x axis
Matrix:setScaleY sets scale on y axis
Matrix:setScaleZ sets scale on z axis
Matrix:setTx sets the value of the tx component
Matrix:setTy sets the value of the ty component
Matrix:setTz sets the value of the tz component
Matrix:setX sets x position
Matrix:setY sets y position
Matrix:setZ sets z position
Matrix:transformPoint transforms the matrix
Matrix:translate combines existing translation with provided translation

Events

Constants