Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
cg_lab_met_01_06.docx
Скачиваний:
136
Добавлен:
12.02.2016
Размер:
6.29 Mб
Скачать
  1. Тривимірні перетворення

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

Отже, аналогічно двовимірному випадку матриця зсуву матиме вигляд:

M=,

а нові координати обчислюватимуться за формулою[X,Y,Z,1]= [x,y,z,1]M.

Матриця масштабування –

S=

тоді нові координати обчислюватимуться за формулою[X,Y,Z,1]=[x,y,z,1] S.

Стосовно матриці повороту, то в залежності від вибраної осі матимемо такі матриці:

  • поворот відносно осі OZ:

,

  • поворот відносно осі OX:

,

  • поворот відносно осі OZ:

.

Для обчислення нових координат застосовується формула [X,Y,Z,1]=[x,y,z,1] P.

  1. Визначення матриці перетворень

Складним (комбінованим) називається перетворення, яке містить ланцюжок базових перетворень (не менше двох). Зауважимо, що майже всі афінні перетворення залежать від порядку їх виконання. Наприклад, перетворення повороту не комутативні ().

Найчастіше на практиці для визначення матриці перетворень використовують рівняння:

,

що випливає із рівняння афінних перетворень , де K– матриця координат об’єкту до перетворення, – після перетворення, М – матриця перетворення.

Приклад 1. Знайти матрицю перетворення трикутника Р1Р2Р3 у трикутник P1′P2′P3′ (рис. 4)

Рис. 4 Перетворення трикутників

Однорідні координати вершин трикутника Р1Р2Р3 складають матрицю

, а трикутника P1′P2′P3′ – .

Зі співвідношення отримаємо: .

  1. Деякі правила виконання перетворень

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

  • У правосторонній чи лівосторонній системі координат ( у залежності від взаємного розміщення напрямків координатних осей, розрізняють правосторонню та лівосторонню координатні системи, рис. 4) визначаються координатні вектори?

  • Обертається об'єкт або система координат?

  • Поворот здійснюється за чи проти годинникової стрілки?

  • Координати записуються у вигляді рядка або стовпця матриці?

  • Навколо якої лінії або осі здійснюється поворот?

а) б)

Рис.4 Типи систем координат а) правостороння; б) лівостороння.

Нехай маємо правосторонню систему координат, об'єкт обертається в нерухомій координатної системі, поворот визначається правилом правої руки (тобто поворот за годинниковою стрілкою) і координатні вектори представляються у вигляді рядка матриці.

Так як вектор задається рядком матриці, то матрицю перетворення слід розмістити після даних (матриці координатних векторів). Це перетворення задається шляхом множення справа. У разі однорідних координат для повороту об'єкта за годинникової стрілкою на кут навколо початку координат (осі OZ) використання множення праворуч приводить до наступного результату:

.

Якщо ми виразимо координатні вектори, задані в однорідних координатах у вигляді стовпця матриці, то поворот можна виконати наступним чином:

.

Для того, щоб повернути систему координат і залишити незмінними координатні вектори, необхідно кут замінити на.

Рис. 5 Перетворення координатних векторів та системи координат

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]