- •Основи геометричного моделювання
- •Зображення точок
- •Перетворення точок
- •Перетворення прямих ліній
- •Копіювання
- •Обертання і дзеркальне відображення.
- •Обертання
- •Змінення масштабу
- •Приклад афінних перетвореннь
- •1.Створимо опис даної фігури:
- •2.Комплексне перетворення
- •Основи трьохмірного перетворення
- •Трьохмірний зсув
- •Трьохмірне обернення
Копіювання
Матриця перетворень має вигляд
Кількість копій, що формуються на екрані задається значенням 4.
Обертання і дзеркальне відображення.
Дзеркальне відображення визначається обертанням на 180° навколо осі в площині X, Y. Два обертання надані на мал. 4.
Обертання навколо осі x = 0 можна досягнути використанням матриці.
В цьому випадку нові вершини визначаються наступним чином:
Обертання навколо осі y = 0 здійснюється за допомогою матриці:
Розглянемо обернення простої плоскої фігури. Нехай D ABC (див. мал.4,б) повертається на кут 90° навколо початку координат проти годинникової стрілки. При цьому кожна вершина перетворюється за допомогою матриці.
Якщо використовувати матрицю, яка вміщує координати вершин, отримаємо:
В результаті формується трикутник A*B*C*. Обертання на кут 100° навколо початку координат здійснюється за допомогою матриці
а обертання на кут 270° навколо початку координат - за допомогою матриці
Обертання
Однорідні координати забезпечують обертання зображення навколо точок, відмінних від початку координат. В загальному випадку обертання навколо довільної точки може бути виконано перенесенням центру обертання в початок координат, обертанням відносно початку координат, а потім перенесенням точки обертання у вихідне положення. Таким чином, обертання вектора положення {x,Y,1} навколо точки (m,n) на довільний кут може бути виконано за допомогою перетворення
Виконавши дві операції множення матриць, можна записати
Припустимо, що центр обертання зображення має координати (4, 3) і при цьому бажано повернути зображення на кут 90° проти годинникової стрілки навколо його центральної осі. Спочатку необхідно перенести зображення так, щоб бажаний центр обертання знаходився у початку координат. Це здійснюється за допомогою матриці перенесення
Потім слід застосувати матрицю обертання
і нарешті, перемістити зображення у початок координат за допомогою зворотньої матриці. Вся операція
може бути поєднана в одну матричну операцію матричним перетворенням вигляду
В результаті отримуємо X* = X/H і Y* = Y/H . Вихідні дані для роботи програм надані у звичайних декартових координатах.
Змінення масштабу
Нехай надано трикутник. Якщо матриця
є матрицею перетворення трикутника як оператор, то координати відносно вихідних можна збільшити у 2 рази. Якщо значення масштабних коефіцієнтів не однакові, то помічається викривлення (див. мал. 3 ). Тут трикутник ABC перетворений за допомогою матриці
і зміненням масштабу, а трикутник DEF перетворений матрицею
,
яка приводить до його викривлення через нерівні масштабні коефіцієнти. Звідси видно, яким чином плоска поверхня, визначена за допомогою вершин, з'єднаних прямими лініями, може бути змінена в різних напрямках. За допомогою матричних операцій над векторами положення, які визначають вершини, можна керувати формою і положенням поверхні.
В головній матриці перетворення розміром 3x3 для двомірних однорідних координат
масштабування зображення по координатах X і Y виконується за допомогою коефіцієнтів a, d. Елемент S масштабує одночасно за двома координатами. Для ілюстрації розглянемо перетворення
де X = x, Y = y, H = S, що дає X* = X/S і y* = y/S. В результаті перетворень { x,Y,1} -> {x/S, y/S, 1} маємо однорідне змінення масштабу вектора положення. При S <=I масштаб збільшується, при S > I - зменшується. Наприклад, при x = I, y = 2, S = 2 масштаб зображення за координатою x зменшується у 2 рази.