Вступ
Зміст
Анотація
Одеса - 2013
КОМП’ЮТЕРНА ГРАФІКА
Шестопалов С.В.
ОДЕСЬКА НАЦІОНАЛЬНА АКАДЕМІЯ
МОЛОДІ ТА СПОРТУ УКРАЇНИ
ХАРЧОВИХ ТЕХНОЛОГІЙ
Навчальний посібник
Шестопалов С.В.Комп’ютерна графіка: Навчальний посібник. Одеська національна академія харчових технологій, 2013. – 51с.
Посібник розроблено згідно з робочою навчальною програмою дисципліни «Комп’ютерна графіка». Посібник призначений для студентів, що навчаються за спеціальностями «Комп’ютерні системи та мережі» та «Спеціалізовані комп’ютерні системи».
Наведено перелік теоретичних питань для поглибленого опрацювання.
Рецензент: Жуковецька С.Л., старший викладач Одеської національної академії харчових технологій
Розглянуто та рекомендовано до видання на засіданні кафедри інформаційних систем та мереж.
Протокол № 5 від 25 січня 2013 р.
Розглянуто та рекомендовано до видання на засіданні науково-методичної комісії з напряму підготовки 6.051701 «Харчові технології та інженерія».
Протокол № 8 від 18 лютого 2013 р.
ãОНАХТ, 2013
В посібнику представлені матеріали стосовно основних етапів роботи з зображенням, що є основою комп’ютерної графіки. Розглянуто методи представлення зображення в комп’ютерній графіці, методи підготовки до візуалізації, реалізації та здійснення взаємодії з зображенням. Посібник призначений для студентів, що навчаються за спеціальностями «Комп’ютерні системи та мережі» та «Спеціалізовані комп’ютерні системи».
Наведено перелік теоретичних питань для поглибленого опрацювання.
1. Вступ.. 4
2. Точки і лінії 4
2.1 Представлення точки.. 4
2.2 Перетворення і матриці 4
2.3 Перетворення точки.. 5
2.4 Перетворення прямих ліній.. 9
2.5 Перетворення середини відрізка.. 10
2.6 Паралельні лінії 11
3. 2D Операції 13
3.1 Обертання.. 13
3.2 Відображення.. 13
3.3 Зміна масштабу.. 14
3.4 Комбіновані операції 14
3.5 Перетворення одиничного квадрата.. 14
3.6 Довільна матриця обертання розміру 2х2.. 16
3.7 Двовимірне зміщення і однорідні координати.. 17
3.8 Точки в нескінченності 20
3.9 Двовимірне обертання навколо довільної осі 22
4. 3D Операції 25
4.1 Тривимірне перетворення і проекція.. 25
4.2 Трьохвимірна зміна масштабу.. 26
4.3 Тривимірний здвиг. 26
4.4 Тривимірне обертання.. 27
4.5 Відображення в просторі 27
4.6 Просторовий перенос. 28
4.7 Зображення тривимірних об'єктів.. 28
4.8 Фактори підвищення наочності глибини.. 30
4.9 Півтони на прямолінійних об'єктах, гранично допустимі перспективні спотворення, стереоскопія і рух.. 31
4.10 Відсікання.. 32
4.11 Розподіл середньою точкою... 34
4.12 Поля індикації 35
4.13 Вікна.. 35
4.14 Перетворення кадрування.. 36
4.15 Прив'язки.. 37
4.16 Висічка.. 41
5. Афінна і перспективна геометрія.. 42
5.1 Аксонометрична проекція.. 42
5.2 Перспективні перетворення.. 44
5.3 Стереографічна проекція.. 46
Література.. 49
Комп’ютерна графіка, звичайно проста і складна. Так як кінцевим продуктом графіки є зображення, то це зображення можна використовувати для різних цілей. Воно може бути технічним кресленням, ілюстрацією із зображенням деталей, цільовою діаграмою, архітектурним виглядом пропонованої конструкції або проекту будівлі, кадром з мультфільму.
В комп’ютерній графіці фундаментальною ланкою є зображення. Отже, нам потрібно розглянути як зображення представлені в машинній графіці, як зображення готуються для візуалізації. Як попередньо підготовлені зображення реалізуються та здійснюється взаємодія з зображенням.
У багатьох алгоритмах в якості діаметричних даних, що описують зображення, виступають багатокутники і ребра.
Кожен багатокутник або ребро в свою чергу може бути представлений своїми вершинами. Таким чином точки є фундаментальними будівельними блоками для простих діаметричних даних.
Представлення графічних зображень за допомогою пристроїв виведення графічної інформації здійснюється точками і лініями. Можливість перетворення точок і ліній є основою комп’ютерної графіки. При використанні комп’ютерної графіки, можна за бажанням конструктора змінювати масштаб зображення, обертати його, зміщувати і трансформувати для поліпшення наочності перспективного зображення об'єкта.
2.1 Представлення точки
На площині точку представляють за допомогою 2-ох її координат. Їх можна розглядати як елементи матриці [x; y], тобто у вигляді вектор-рядка. Її можна розглядати і у вигляді вектор-стовпця , в просторі: .
Послідовність точок, кожна з яких характеризується значеннями координат вектора, щодо обраної системи координат, може бути представлена в ЕОМ як матриця чисел. Положенням цих точок управляють шляхом перетворення матриць. Їх можна відтворювати за допомогою програмних або апаратних засобів обчислювальної техніки.
2.2 Перетворення і матриці
Елементи, які утворюють матрицю, характеризуються різними числовими значеннями, такими як, займаний ними обсяг пам’яті, а також структурою або коефіцієнтами системи рівнянь. Допустимі дії над цими матрицями визначаються правилами векторної системи:
1. складання
2. множення
3. віднімання
4. зворотна матриця
5. транспонування
Багато фізичних задач можна привести до наступного формулювання: нехай дано 2 матриці A і B, і вказано їх взаємозв'язок AT=B, нам необхідно знайти матрицю перетворень.
В цьому випадку рішенням є , де зворотна матриці A. Матриця A – квадратна.
З іншого боку тут T матрицю, можна розглянути як оператор. В цьому випадку, перемножування матриць, використано для того щоб виконати геометричні перетворення над системою точок, представлених за допомогою векторів положення, які містять координати в матриці A. Матриці A і T передбачаються відомими. Це необхідно для того, щоб визначити елементи матриці B.
Інтерпретація матричного множення як геометричного оператора є основою математичних перетворень, які використовуються в машинній графіці.
2.3 Перетворення точки
Розглянемо результати матричного множення матриці [x,y], котра визначає точку P, і матриці перетворення загального вигляду:
(2.1)
Цей математичний запис означає, що початкові координати x, y перетворені в координати:
(2.2)
Розглядаючи , як перетворені координати, розглянемо декілька таких випадків:
1) (2.3)
Перетворення зображення не відбувається.
2)
(2.4)
– масштабування поx.
- масштабування по у.
(2.5)
Рис.1 –Зміна масштабу точки Р
В результаті отримуємо зміну масштабу по x і y. Якщо a≠ d, то переміщення уздовж осей не однакове (масштабування з перекручуванням).
Якщо – збільшення масштабу
Якщо – зменшення масштабу координат точки P.
3) або/і
(2.6)
Рис.2 –Відображення точки Pвідносно осіOY
Якщо , , (2.7)
Рис.3 –Відображення точки Pвідносно осіOX
Якщо одночасно a і d – від’ємні, то відображення проводиться щодо початку координат.
Рис.4 –Відображення точки Pвідносно початку координат
Зміна масштабу та відображення відбувається завдяки зміні елементів головної діагоналі матриці перетворення.
4)
(2.8)
Координата x точки P не змінюється в той час як лінійно залежать від початкових координат точки P. Дана операція називається здвиг.
(2.9)
(2.10)
5)
(2.11)
Початок координат є інверсним при загальному перетворенні 2х2.
2.4 Перетворення прямих ліній
Визначальними є координати двох точок лінії. Вибір типу операцій проведення лінії між точками, буде залежати від типу вихідного графічного пристрою. Розглядати будемо тільки математичні операції з вектором положення. Проведемо пряму лінію на площині, між двома точками A і B з заданими векторами відповідно і вкажемо матрицю перетворення загального вигляду, за допомогою якої відбувається перетворення.
Рис.5 –Зображення ліній AB,A*B*
Використовуючи множення вектора:
(2.12)
– це нове положення точки A.
– нове положення точки B.
Таким чином елементами точок A, B будуть нові координати.
Більш компактно лінія AB може бути представлена у вигляді матриці:
Після множення матриці L на матрицю перетворень T, отримаємо:
(2.13)
2.5 Перетворення середини відрізка
Нехай дано відрізок AB.
Матриця зображення . Розглянемо середню точку лінії AB:
(2.14)
(2.15)
Однозначно будь-яке перетворення переводить точку початкового зображення в точку на перетвореному. Перетворення переводить середню точку в середню точку.
Перетворення справедливо для будь-якої вихідної лінії і всі точки на ній перетворюються в точки на іншій лінії. Крім того забезпечується взаємопов'язана відповідність між точками на вихідній лінії і точками на перетвореній лінії.
При застосуванні машинної графіки це означає що положення будь-якої прямої лінії, може бути перетворене в будь-яке нове положення простим перетворенням її граничних точок і наступним проведенням лінії між перетвореними точками.
2.6 Паралельні лінії
Коли матриця 2х2 використовується для перетворення однієї пари паралельних ліній, результатом виявляється інша пара паралельних ліній.
Розглянемо пряму лінію між точками AB і паралельну їй лінію між точками EF:
Покажемо, що будь-яке однотипне перетворення цих ліній є також паралельним. Для цього розглянемо лінії: AB, EF і .
Рис.6 –Кут нахилу прямої
Перетворюючи пряму лінію AB за допомогою загального перетворення 2х2, отримаємо:
(2.16)
Потім визначимо нахил лінії:
(2.17)
Так як не залежить від координат , а ,a,b,c,d мають одні і ті ж значення, як для EF, так і для AB, то звідси випливає, що нахил для дорівнює нахилу для .
Таким чином паралельні лінії залишаються паралельним після перетворення. Це означає, що паралелограмам перетвориться в паралелограм в результаті дій матриці перетворень 2х2.