Шукати в цьому блозі

Матриця перетворень

Матриця має розмір 3х3 і
В загальному вигляді записується так:

Matrix.new (m11, m12, m21, m22, tx, ty)

Вихідні значення матриці трансформації:
Matrix.new (1, 0, 0, 1, 0)

Змінюючи параметри матриці ми трансформуємо спрайт
M11 - Зміна масштабу по горизонталі. Значення більше 1 розширює елемент, менше 1, навпаки, стискає.


--розтягти по горизонталі--
local kartinka = Bitmap.new(Texture.new("image.png"))
kartinka:setMatrix(Matrix.new(2, 0, 0, 1, 0, 0))
stage:addChild(kartinka)

kartinka:setPosition(0, 50)

--Відобразити--
local kartinka = Bitmap.new(Texture.new("image.png"))
kartinka:setMatrix(Matrix.new(1, 0, 0, -1, 0, 0))
stage:addChild(kartinka)

kartinka:setPosition(0, 50)

M12 - Нахил по вертикалі. Позитивне значення нахиляє вгору, негативне вниз.


M21 - Нахил по горизонталі. Позитивне значення нахиляє вліво, негативне вправо.



M22 - Зміна масштабу по вертикалі. Значення більше 1 розширює елемент, менше 1 - стискає.


Tx - Зсув по горизонталі в пікселях. Позитивне значення зрушує елемент вправо на задане число пікселів, від'ємне значення зрушує вліво.

Ty - Зміщення по вертикалі в пікселах. При позитивному значенні елемент опускається на задане число пікселів вниз або вгору при негативному значенні.



--Нахил
Matrix.new(1, 0, -0.5, 1, 0, 0)
--Поворот на кут 20 градусів
Matrix.new(cos(20), -sin(20),sin(20),cos(20),0,0)



























Немає коментарів:

Дописати коментар