
Міністерство освіти і науки україни національний університет „львівська політехніка”
ЗВІТ
До лаборної роботи №1
Тема: “ Cинтез динамічних двовимірних зображень”
Дисципліна: „Засоби програмування комп’ютерної графіки”
Виконав:
Студент групи ПІм-31з
Мостовий А.Л.
Прийняв:
Викладач
Сенів М.М.
Хмельницький 2014
Мета: засвоїти на практиці методи побудови графічних зображень шляхом написання програми однією з відомих мов програмування
Теоретичні відомості Геометричні перетворювання зображення.
Графічна система повинна дозволяти програмісту формувати зображення, які би допускали різні перетворення. Наприклад, збільшувати масштаб зображення, щоб краще було видно зображення деталі, або зменшити масштаб, щоб розглянути більшу частину зображення. Також доцільно вміти перетворювати частини зображення і символи, що входять в зображення.
Розглянемо три перетворювання координат :
1.Поворот (обертання).
2.Зсув (перенесення).
3.Масштабування.
Поворот (обертання).
Розглянемо поворот системи координат ХY в декартовій площині відносно центру обертання, який співпадає з початком координат.
Геометричне
співвідношення між початковою системою
XY
і системою, отриманою поворотом початкової
системи на кут
показане на рис. 1.
y
y’
x’
y
y*cos
x*cos
x x
Визначення: нехай в площині (просторі) задана початкова система координат Oxy (Oxyz) і деяка нова система координат Ox’y’(Ox’y’z’), тоді перетворювання, які заключаються в тому, що відповідній точці Р площини ставиться точка Р’ яка в новій системі координат має ті самі координати, що і точка Р в по – чатковій, називається афінним.
Основні властивості афінних перетворювань :
1.Множина точок, яка в початковій системі координат задовольняла деякій умові, переходить в множину точок, координати яких в новій системі задовольняють те саме р-ня. Зокрема, пряма переходить в пряму, площина в площину. При цьому зберігається їх взаємна паралельність.
2.Якщо відрізок Р1Р2 переходить у відрізок P1’P2’, а точка Р ділить відрізок Р1Р2 з відношенням , то точка Р переходить в точку Р’, яка ділить вже відрізок P1’P2’ з тим самим відношенням , тобто зберігається просте відношення 3-х точок.
3.Відношення площ та обємів геометричних фігур при афінному перетворюванні зберігається.
4.Якщо поч. і нова системи координат є прямокутними декартовими з однаковими одиничними відрізками на осях, то при перетворюванні зберігаються всі метричні властивості геом. фігур. Таке перетворювання називається перенесенням. Власним афінним перетворюванням назив. перетворювання при якому його визначаючі координати одноіменні. В іншому випадку перетворювання є невласним.
Такий самий результат ми отримаємо, якщо в рівняннях (1) замінимо х на –х. Більше того, цей поворот в xy – площині можна представити, як частковий випадок повороту в просторі XYZ, а саме як плоский поворот відносно осі Z. Тому Z=Z’ і можна описати співвідношення для координат x’,y’,z’ точки P(x,y,z), отриманої в результаті повертання на кут х.
x’=x*cos +y*sin +0*z
y’=-x*sin +y*cos +0*z
z’=x*0+y*0+z*1
Або в матричному вигляді:
cos
sin
[
x’y’z’]=[xyz]
-sin
cos
на кут
і кут
аналогічно
тільки замість
будуть
і
.
Перетворювання загального повертання в тривимірному просторі XYZ відносно трьох ортогональних осей можна отримати як суперпозицію 3-х плоских поворотів.
Так, внаслідок ортогональності перетворення загального повороту можна визначити з допомогою простого перемноження трьох матриць.(3)-(5). Але оскільки матричне множення не є комутативною операцією, необхідно задати певний порядок виконання поворотів.
Якщо позначити матриці (3)-(5) через R( ),R( ),R( ) і дотримуватись домовленності, що першим виконується поворот навколо осі Х, а останній – навколо Z, то отримаємо вирази де координати Xr,Yr,Zr- точки після повороту.
[Xr
Yr
Zr]=[xyz]R(
)R(
)R(
)
Якщо ввести позначення p=[xyz]; p=[xryrzr]
R( , , ) = R( ),R( ),R( )
отримаємо
Pr=p*R( , , )
Матриця R( , , ) є матрицею повертання. Виконавши перетворювання, отримаємо матрицю повертання:
Зсув (перенесення)
Зсув точки здійснюється додаванням до кожної координати точки додатньої або відємної сталої. Якщо позначити параметри зсуву Хт (зсув в напрямку осі Х), Yт (в напрямкуY ), і Zт (Z), зсунутої точки :
[Xrt Yrt Zrt]=[Xr Yr Zr]+[Xt Yt Zt]
Зсув переводить точку на m одиниць по координаті х, n-y, l-z.
[x’,y’,z’,1]=[xyz1]
або
x’=x+m
y’=y+n
z’=z+l
Перенесенням називається зміщення графічних примітивів на один і той вектор. При перенесенні зображення без повороту звязок між радіус-вектором r, переміщуваної точки і її початковим нанесенням виражається залежністю.
r’=r+t
Якщо зображення залишається на місці, а осі координат переносяться без повороту, то зв’язок між вектором x’ в новій системі координат 0x’y’z’ і вектором x в старій системі координат 0xyz визначається залежністю x’=x-t
Масштабування.
Точки зображення можна масштабувати в Sx разів вздовж осі х і в Sy р. вздовж осі Y, в результаті отримаємо точку
Xs=x*Sx , Ys=y*Sy
Перетворювання масштабування виконується з допомогою операції
Sx
0 0
[Xs Ys Zs]=[xyz]* 0 Sy 0
0 0 Sz
Ps=P*S
Компоненти Sx,Sy,Sz матриці масштабування S’ є масштабними множниками відповідно в x-,y-,z- напрямках. Якщо масштабні множники менше одиниці, тоді перетворюваний об’єкт стискається і навпаки. Якщо Sx=Sy=Sz то об’єкт стискається або розтягується однаково. При загальному масштабуванні, тобто коли Sx=Sy=Sz=C, матрицю S’ можна замінити скаляром С, тоді
Ps=C*P
Якщо масштабування загальне, то можна об’єднати операції переносу, загального масштабування і повороту.
R(CP+Pt)=CR(P)+R(Pt)
Масштабування наз. повним, коли к-ти по осях х і у однакові і частковим коли різні. При частковому масштабуванні пропорції об’єкта змінюються.
Одиничне перетворювання.
Одинична матриця залишає точку (фігуру) нерухомою.
1 0 0
[x’y’1]=[xyz] 0 1 0
0 0 1
Перенесення в площині.
1 0 0
[x’y’1]=[xy1] 0 1 0
n m 1
М асштабування відносно початку координат здійснюється перетворенням.
kx 0 0
[x’y’1]=[xy1] 0 ky 0
0 0 1
де k - коеф. спотворення по осі х і у.
1 – зображення збільшується.
1 – зображення зменшується.
Масштабування відносно довільного центру виконується як послідовність трьох перетворювань : зсуву центра в початок координат, масштабування відносно поч. координат і зсуву центра в початкове положення.
Результуючим перетвоюванням є
Kx 0 0
[X’ Y’ 1] = [X Y `1] 0 Ky 0
-mKx+m -nKy+n 1
Гомотетія –один з видів перетворення з площини і простору. Г. з центром у точці 0 і коеф. k#0 назив. таке відображення множини точок площини на себе, при якому всяка точка М відображається в точку М’, таку що виконується рівність:
OM’=k*OM
Аналогічно Г. означається і для тривимірного простору. Г. для k>1 означає ніби ”розтяг” усієї площини від точки 0-центра Г.
Якщо коеф. Г. k додатній, але менший 1 то Г. є “стиском” площини до точки 0.
Якщо k=1, то Г. тотожне перетворення (відображення) площини на себе.
Якщо k=-1, то Г. – центральна симетрія з центром в т. 0.
Означимо інші властивості Г.:
а)будь – яка пряма при Г. відображ. на паралельну пряму, що збігається або не збігається з першою прямою;
б)великий відрізок АВ відображається на паралельний
відрізок A’B’ так, що відношення їх довжин дорівнює
Матриця
Г. описується так:
P 0 0 0
0 q 0 0
M= 0 0 r 0
0 0 0 1