Що таке аффінні транформації? Чи застосовуються вони лише до точок або до інших фігур? Що означає, що їх можна «скласти»?
Що таке аффінні транформації? Чи застосовуються вони лише до точок або до інших фігур? Що означає, що їх можна «скласти»?
Відповіді:
Аффінна трансформація - це лінійна трансформація + вектор перекладу.
Його можна застосувати до окремих точок або до ліній чи навіть кривих Безьє. Для ліній зберігається властивість, що паралельні лінії залишаються паралельними. Для кривих Безьє зберігає властивість опуклих корпусів контрольних точок.
Помножившись, він створює 2 рівняння для отримання "перетвореної" пари координат з вихідної пари ( x , y ) та списку констант ( a , b , c , . x ′ = a ⋅ x + c ⋅ y + e
Зручно, лінійне перетворення та вектор перекладу можуть бути об'єднані в 3D-матрицю, яка може працювати над 2D однорідними координатами.
Що дає ті самі 2 рівняння вище.
Дуже зручно , самі матриці можна множити разом, щоб отримати третю матрицю (константи), яка виконує те саме перетворення, що і початкові 2 виконували б у послідовності. Простіше кажучи, матричне множення є асоціативним.
Крім того, ви можете розглянути кілька основних типів перетворень і скласти будь-яке більш складне перетворення, комбінуючи їх (множивши їх разом).
Трансформація ідентичності
Масштабування
Переклад
Перекиньте x на у
Косимо y по х
Обертання
[Примітка. Тут я показав форму Матриці, яка приймає вектор рядка зліва . Транспонування цих матриць буде працювати з вектором стовпця праворуч.]
Матриця, складена виключно з масштабування, обертання та перекладу, може бути розкладена назад на ці три компоненти .