русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


D Операції


Дата додавання: 2013-12-23; переглядів: 1513.


3.1 Обертання

Розглянемо плоский трикутник ABC. Цей трикутник повертається на 90° навколо початку координат, проти годинникової стрілки. При цьому здійснюється перетворення між вершинами за допомогою матриці перетворень:

 

(3.1)

 

Поворот на 180° навколо початку координат:

 

(3.2)

 

 

Поворот на 270° навколо початку координат:

 

(3.3)

3.2 Відображення

Чисте 2-вимірне обертання в площині xy здійснюється навколо осі перпендикулярної до площини xy, а відображення здійснюється поворотом на 180° навколо осі, що лежить в площині xy. Обертання біля лінії y=x відбувається при використанні матриці . Обертання навколо y=0 виходить при використанні матриці .

3.3 Зміна масштабу

Зміна масштабу визначається значенням двох членів головної діагоналі матриці. Якщо матриця впливає на вершини трикутника, як оператор, то має місце зміна масштабу координатиx в a раз, y в d раз.

Якщо a≠d, то має місце спотворення. Таким чином плоска поверхня, що визначається за допомогою вершин, з'єднаних прямими лініями, може бути змінена в різних напрямах. За допомогою відповідних матричних операцій над векторами, положення яких визначають вершину, можна управляти формою і положенням поверхні. Але для отримання бажаної орієнтації, може знадобитися більше одного перетворення, оскільки матричний добуток не комутативний, то порядок перетворень є важливим при використанні комбінованих операцій.

3.4 Комбіновані операції

Розглянемо операції обертання і відображення на прикладі однієї вершини трикутника. Якщо за обертанням на 90° проти годинникової стрілки слідує відображення відносно осі , то цих два перетворення дають:

 

 

 

Поміняємо операції місцями:

 

 

 

Множення матриць не комутативне.

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

3.5 Перетворення одиничного квадрата

Розглянемо квадратно решітчасту сітку, що складається з однотипних квадратів в площині xy. Чотири вектора положення точок одиничного квадрата з однією вершиною в початку координат записуються у вигляді:

 

(3.4)


 

Рис.7 – Одиничний квадрат з вершиною в початку координат

 

Перший рядок показує інваріантність точки A. Координати визначаються 1-им рядком матриці перетворення. А точка – другим рядком цієї матриці. Таким чином, якщо координати точок відомі, то загальна матриця перетворення визначена.

Якщо сторона першого квадрата паралельна і наперед відомо, що паралельні лінії перетворюються на паралельні, то перетворена фігура є паралелограмом. Вплив елементів a, b, c, d можна проаналізувати окремо.

Елементи b,c викликають здвиг вихідного квадрата в напрямку yі x відповідно, елементи a,d характеризують масштабні коефіцієнти. Таким чином загальна матриця 2х2 здійснює операцію здвигу і зміни масштабу.

 

 

 

Рис.8 – Перетворення одиничного квадрату

Це дозволяє визначити площу паралелограма:

 

 

 

(3.5)

 

Можна показати, що площа будь-якого перетвореного паралелограма An є функцією матриці перетворень і пов'язана з площею вихідного квадрата простим співвідношенням:

 

(3.6)

 

 

Тоді як площу загальної фігури можна представити як суму одиничних квадратів, то площа будь-якої перетвореної фігури At пов'язана з площею фігури Ai:

(3.7)

 

Це співвідношення справедливо для площ фігур довільних форм.

3.6 Довільна матриця обертання розміру 2х2

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

 

 


 

 

 

Рис.9 – Обертання одиничного квадрату

 

 

Зважаючи на те, що для довільної матриці перетворення розміру 2х2, координати точки визначаються першим рядком матриці перетворень, а координати точки другим рядком, загальна матриця обертання 2х2 має вигляд:

 

(3.8)

 

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

3.7 Двовимірне зміщення і однорідні координати

Зміщення на площині точок і ліній малюнків, одержуваних з точок і ліній не обговорювалося. Це обумовлено тим, що вводити константи перенесення всередину структури загальної матриці розміру 2х2 не представляється можливим. Але ці труднощі можна усунути за рахунок введення 3-ої координати в вектори точок . Тобто представляючи їх у виді:

Матриця перетворення стає матрицею розміру 3х2:

 

(3.9)

 

Це необхідно оскільки число стовпців в матриці зображення T = 3, отже в матриці перетворення добавлено 3-ій рядок.

(3.10)

Таким чином:

 

Звідси випливає що константи m, n викликають зміщення відносно x,y.

Оскільки матриця 3х2 не є квадратною, вона не має зворотної. Цю трудність легко можна подолати, додавши третій стовпець.

(3.11)

Третя компонента векторів положення точок не змінюється при додаванні третього стовпця до матриці перетворення. Додавання третього елементу до вектору положення (1) і третього стовпця до матриці перетворення, дозволяє виконувати зміщення вектора стану.

Третій елемент тут можна розглядати як додаткову координату вектора стану. Вектор положення при впливі на нього матриці 3х3 стає вектором в загальному випадку виду .

Задане перетворення було виконано так що:

 

 

Перетворення, що має місце в трьохмірному просторі, в нашому випадку обмежено площиною H=1, але якщо третій стовпець (p, q, s) матриці перетворень T, розміру 3х3 відмінний від стовпця (0,0,1), то в результаті матричного перетворення отримаємо:

 


 

де H≠1.

 

Площина, в якій тепер лежить перетворений вектор, знаходиться в трьохмірному просторі.

 

(3.12)

 


<== попередня лекція | наступна лекція ==>
Точки і лінії | D Операції


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн