Difference between revisions of "Matrix"
| Line 25: | Line 25: | ||
| sprite:setMatrix(m)</source> | sprite:setMatrix(m)</source> | ||
| {|- | {|- | ||
| − | | style="width: 50%;"| | + | | style="width: 50%; vertical-align:top;"| | 
| === Methods === | === Methods === | ||
| − | [[Matrix.new]]  | + | [[Matrix.new]] ''<translate>creates a new Matrix object</translate>''<br/> | 
| − | [[Matrix:getAnchorPosition]]  | + | [[Matrix:getAnchorPosition]] ''<translate>get anchor position from matrix transformation</translate>''<br/> | 
| − | [[Matrix:getElements]]  | + | [[Matrix:getElements]] ''<translate>returns the elements of this matrix instance</translate>''<br/> | 
| − | [[Matrix:getM11]]  | + | [[Matrix:getM11]] ''<translate>returns the value of the m11 component</translate>''<br/> | 
| − | [[Matrix:getM12]]  | + | [[Matrix:getM12]] ''<translate>returns the value of the m12 component</translate>''<br/> | 
| − | [[Matrix:getM21]]  | + | [[Matrix:getM21]] ''<translate>returns the value of the m21 component</translate>''<br/> | 
| − | [[Matrix:getM22]]  | + | [[Matrix:getM22]] ''<translate>returns the value of the m22 component</translate>''<br/> | 
| − | [[Matrix:getMatrix]]  | + | [[Matrix:getMatrix]] ''<translate>get all 16 elements of 4x4 matrix</translate>''<br/> | 
| − | [[Matrix:getPosition]]  | + | [[Matrix:getPosition]] ''<translate>get position from matrix transformation</translate>''<br/> | 
| − | [[Matrix:getRotationX]]  | + | [[Matrix:getRotationX]] ''<translate>get rotation for x axis</translate>''<br/> | 
| − | [[Matrix:getRotationY]]  | + | [[Matrix:getRotationY]] ''<translate>get rotation on y axis</translate>''<br/> | 
| − | [[Matrix:getRotationZ]]  | + | [[Matrix:getRotationZ]] ''<translate>get rotation for z axis</translate>''<br/> | 
| − | [[Matrix:getScale]]  | + | [[Matrix:getScale]] ''<translate>get scale from matrix transformation</translate>''<br/> | 
| − | [[Matrix:getScaleX]]  | + | [[Matrix:getScaleX]] ''<translate>get scale on x axis</translate>''<br/> | 
| − | [[Matrix:getScaleY]]  | + | [[Matrix:getScaleY]] ''<translate>get scale on y axis</translate>''<br/> | 
| − | [[Matrix:getScaleZ]]  | + | [[Matrix:getScaleZ]] ''<translate>get scale on z axis</translate>''<br/> | 
| − | [[Matrix:getTx]]  | + | [[Matrix:getTx]] ''<translate>returns the value of the tx component</translate>''<br/> | 
| − | [[Matrix:getTy]]  | + | [[Matrix:getTy]] ''<translate>returns the value of the ty component</translate>''<br/> | 
| − | [[Matrix:getTz]]  | + | [[Matrix:getTz]] ''<translate>returns the value of the tz component</translate>''<br/> | 
| − | [[Matrix:getX]]  | + | [[Matrix:getX]] ''<translate>get x position</translate>''<br/> | 
| − | [[Matrix:getY]]  | + | [[Matrix:getY]] ''<translate>get y position</translate>''<br/> | 
| − | [[Matrix:getZ]]  | + | [[Matrix:getZ]] ''<translate>get z position</translate>''<br/> | 
| − | [[Matrix:invert]]  | + | [[Matrix:invert]] <br/> | 
| − | [[Matrix:multiply]]  | + | [[Matrix:multiply]] ''<translate>Multiply current matrix with new one</translate>''<br/> | 
| − | [[Matrix:orthographicProjection]]  | + | [[Matrix:orthographicProjection]] <br/> | 
| − | [[Matrix:perspectiveProjection]]  | + | [[Matrix:perspectiveProjection]] <br/> | 
| − | [[Matrix:perspectiveProjection]]  | + | [[Matrix:perspectiveProjection]] <br/> | 
| − | [[Matrix:rotate]]  | + | [[Matrix:rotate]] ''<translate>combine existing rotation with provided</translate>''<br/> | 
| − | [[Matrix:scale]]  | + | [[Matrix:scale]] ''<translate>combine existing scale with provided scale</translate>''<br/> | 
| − | [[Matrix:setAnchorPosition]]  | + | [[Matrix:setAnchorPosition]] ''<translate>transform matrix for setting anchor position</translate>''<br/> | 
| − | [[Matrix:setElements]]  | + | [[Matrix:setElements]] ''<translate>sets all 6 elements of this matrix instance</translate>''<br/> | 
| − | [[Matrix:setM11]]  | + | [[Matrix:setM11]] ''<translate>sets the value of the m11 component</translate>''<br/> | 
| − | [[Matrix:setM12]]  | + | [[Matrix:setM12]] ''<translate>sets the value of the m22 component</translate>''<br/> | 
| − | [[Matrix:setM21]]  | + | [[Matrix:setM21]] <br/> | 
| − | [[Matrix:setM22]]  | + | [[Matrix:setM22]] <br/> | 
| − | [[Matrix:setMatrix]]  | + | [[Matrix:setMatrix]] ''<translate>set all 16 elements of 4x4 matrix</translate>''<br/> | 
| − | [[Matrix:setPosition]]  | + | [[Matrix:setPosition]] ''<translate>transform matrix for setting position</translate>''<br/> | 
| − | [[Matrix:setRotationX]]  | + | [[Matrix:setRotationX]] ''<translate>set rotation on x axis</translate>''<br/> | 
| − | [[Matrix:setRotationY]]  | + | [[Matrix:setRotationY]] ''<translate>set rotation on y axis</translate>''<br/> | 
| − | [[Matrix:setRotationZ]]  | + | [[Matrix:setRotationZ]] ''<translate>set rotation on z axis</translate>''<br/> | 
| − | [[Matrix:setScale]]  | + | [[Matrix:setScale]] ''<translate>transform matrix for setting scale</translate>''<br/> | 
| − | [[Matrix:setScaleX]]  | + | [[Matrix:setScaleX]] ''<translate>set scale on x axis</translate>''<br/> | 
| − | [[Matrix:setScaleY]]  | + | [[Matrix:setScaleY]] ''<translate>set scale on y axis</translate>''<br/> | 
| − | [[Matrix:setScaleZ]]  | + | [[Matrix:setScaleZ]] ''<translate>set scale on z axis</translate>''<br/> | 
| − | [[Matrix:setTx]]  | + | [[Matrix:setTx]] ''<translate>sets the value of the tx component</translate>''<br/> | 
| − | [[Matrix:setTy]]  | + | [[Matrix:setTy]] ''<translate>sets the value of the ty component</translate>''<br/> | 
| − | [[Matrix:setTz]]  | + | [[Matrix:setTz]] ''<translate>sets the value of the tz component</translate>''<br/> | 
| − | [[Matrix:setX]]  | + | [[Matrix:setX]] ''<translate>set x position</translate>''<br/> | 
| − | [[Matrix:setY]]  | + | [[Matrix:setY]] ''<translate>set y position</translate>''<br/> | 
| − | [[Matrix:setZ]]  | + | [[Matrix:setZ]] ''<translate>set z position</translate>''<br/> | 
| − | [[Matrix:transformPoint]]  | + | [[Matrix:transformPoint]] <br/> | 
| − | [[Matrix:translate]]  | + | [[Matrix:translate]] ''<translate>combine existing translation with provided translation</translate>''<br/> | 
| − | | style="width: 50%;"| | + | | style="width: 50%; vertical-align:top;"| | 
| === Events === | === Events === | ||
| === Constants === | === Constants === | ||
| |} | |} | ||
Revision as of 14:35, 23 August 2018
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)
| MethodsMatrix.new creates a new Matrix object | EventsConstants | 
