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

Матриця перетворень застосовується для обчислення нових координат об'єкту при його трансформації. Змінюючи значення елементів матриці перетворення, до об'єктів можна застосовувати будь-які трансформації (наприклад: масштабування, дзеркальне відображення, поворот, переміщення і т. П.). При будь-трансформації зберігається паралельність ліній об'єкта.

Координати в PDF виражаються в термінах двовимірного простору. Точка (x, y) в просторі може бути виражена в векторній формі [x y 1]. Постійний третій елемент цього вектора (1) потрібен для використання вектора з матрицями 3х3 в обчисленнях, описаних нижче.

Перетворення між двома системами координат представлено, як матриця 3х3 і записується в такий спосіб:

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

Координатні перетворення виражаються у вигляді матричних умножений:

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

Так як остання колонка не робить жодного впливу на результати розрахунку, то вона в обчисленнях не приймає участі. Координати трансформації вираховуються за такими формулами:

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

Одиничною матрицею називається, та у якій значення матриці a і d рівні 1. а інші рівні 0. Така матриця застосовується за умовчанням, тому що не призводить до трансформації. Тому одиничну матрицю використовують як основу.

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

Для збільшення або зменшення розміру об'єкта по горизонталі / вертикалі слід змінити значення a або d відповідно, а решта застосувати з одиничної матриці.

Наприклад: Для збільшення розміру об'єкта в два рази по горизонталі, значення a необхідно прийняти рівним 2, а решта залишити такими як в одиничній матриці.

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

Вираховуємо нові координати об'єкта:

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

Щоб отримати дзеркальне відображення об'єкта по горизонталі слід встановити значення a = -1. по вертикалі d = -1. Зміна обох значень застосовується для одночасного відображення по горизонталі і вертикалі.

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

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

Нахил об'єкта по вертикалі / горизонталі забезпечується зміною значень b і c відповідно. Зміна значення b / -b - нахил вгору / вниз, c / -c - вправо / вліво.

Наприклад: Для нахилу об'єкта по вертикалі вгору встановимо значення b = 1

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

Вираховуємо нові координати об'єкта:

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

У підсумку до нахилу об'єкта призводить тільки координата y. яка збільшується на значення x.

Поворот - це комбінація масштабування і нахилу, але для збереження початкових пропорцій об'єкта, перетворення повинні проводиться з точними обчисленнями при використанні синусів і косинусів.

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

Сам поворот відбувається проти годинникової стрілки, α задає кут повороту в градусах.

Переміщення здійснюється зміною значень e (по горизонталі) і f (по вертикалі). Значення задаються в пікселях.

Наприклад: Переміщення з використанням матриці застосовується рідко через те, що цю операцію можна виконати іншими методами, наприклад, змінити положення об'єкта у вкладці Геометрія.

Оскільки матриця трансформації має тільки шість елементів, які можуть бути змінені, візуально вона відображається в PDF [a b c d e f]. Така матриця може представляти будь-лінійне перетворення з однієї координатної системи в іншу. Матриці перетворень утворюються в такий спосіб:

  • Переміщення вказуються як [1 0 0 1 tx ty]. де tx і ty - відстані від осі системи координат по горизонталі і вертикалі, відповідно.
  • Масштабування вказується як [sx 0 0 sy 0 0]. Це масштабує координати так, що 1 одиниця в горизонтальному і вертикальному вимірах в новій системі координат такого ж розміру, як і sx і sy одиниць в старій системі координат відповідно.
  • Повороти виробляються матрицею [cosθ sinθ -sinθ cosθ 0 0]. що відповідає повороту осей координатної системи на θ градусів проти годинникової стрілки.
  • Нахил вказується як [1 tanα tanβ 1 0 0]. що відповідає нахилу осі x на кут α і осі y на кут β.

На малюнку нижче показані приклади трансформації. Напрямки переміщення, кут повороту і нахилу, показані на малюнку, відповідають позитивним значенням елементів матриці.

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

Множення матриці не комутативні - порядок, в якому перемножуються матриці, має значення.

У таблиці нижче наведені допустимі перетворення і значення матриці.

Схожі статті