Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основи геометричного моделювання.doc
Скачиваний:
9
Добавлен:
09.12.2018
Размер:
257.54 Кб
Скачать

Копіювання

Матриця перетворень має вигляд

Кількість копій, що формуються на екрані задається значенням 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 рази.