Материал: Lecture_notes_on_discipline_Meth

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ ЗАПОРІЗЬКИЙ НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ

Кафедра ПЗ

КОНСПЕКТ ЛЕКЦІЙ

з дисципліни «Методи та алгоритми комп'ютерної графіки», для студентів за спеціальностями

121 «Інженерія программного забезпечення»

122 «Комп’ютерні науки» усіх форм навчання

2017

2

Конспект лекцій з дисципліни «Методи та алгоритми комп'ютерної графіки», для студентів за спеціальностями 121 «Інженерія программного забезпечення» 122 «Комп’ютерні науки» усіх форм навчання /Укладач: А.В. Пархоменко. – Запоріжжя: ЗНТУ, 2017. – 45 с.

Укладач: А.В. Пархоменко, к.т.н., доцент кафедри ПЗ,

Рецензент: Г.М. Шило, к.т.н., доцент кафедри ІТЕЗ.

Відповідальний за випуск: С.О. Субботін, зав. каф. ПЗ, д.т.н., професор.

Затверджено на засіданні кафедри

“Програмних засобів”

Протокол № 11

від 06.06.2017

2

3

ЗМІСТ

Вступ.............................................................................................................................

 

4

1 Основні концепції графічного програмування...............................................

5

1.1

Графічні бібліотеки.......................................................................

5

1.2

Системи координат.......................................................................

6

1.2.1 Системи координат для плоских зображень................

6

1.2.2 Системи координат для роботи в 3D просторі ..........

7

1.2.3 Перетворення між системами координат...................

9

1.3

Вікно та видовий екран..............................................................

10

1.4

Графічні примітиви ....................................................................

11

1.5

Дисплейний файл ........................................................................

14

1.6

Текст та маркери на малюнках................................................

14

1.7

Перетворення координат...........................................................

15

1.7.1 Трансляція.......................................................................

16

1.7.2 Обертання ......................................................................

16

1.7.3 Відображення (mapping) ...............................................

17

1.7.4 Інші матриці перетворення..........................................

18

2 Базові алгоритми комп’ютерної графіки .......................................................

19

2.1

Малювання прямої лінії............................................................

19

2.2

Відсікання ліній...........................................................................

21

2.3

Алгоритми зафарбовування......................................................

24

2.3.1 Алгоритми заповнення для піксельно визначених

24

областей...................................................................................

2.3.2 Алгоритми заповнення для символічно визначених

27

областей...................................................................................

2.4

Стиль лінії. Перо..........................................................................

29

2.5

Стиль заповнення. Кисть. Текстура........................................

30

3 Видалення невидимих ліній та поверхонь......................................................

33

3.1

Алгоритм видалення невидимих граней ................................

33

3.2

Алгоритм художника (сортування по глибині) .....................

34

3.3

Алгоритм видалення невидимих ліній....................................

34

3.4

Метод Z – буфера (буфер глибини) ..........................................

36

4 Рендерінг (візуалізація) .......................................................................................

38

4.1

Затушовування.............................................................................

38

4.2

Заломлення світла прозорими об’єктами...............................

42

4.3

Трасування променів..................................................................

42

РЕКОМЕНДОВАНА Література.........................................................................

45

3

4

ВСТУП

Мета - вивчення та практична реалізація програмних інструментів для створення і обробки комп’ютерних зображень.

У результаті вивчення навчальної дисципліни студент повинен знати:

особливості та галузі використання різних видів комп’ютерної графіки;

методи, моделі, алгоритми візуалізації та обробки комп’ютерних зображень;

теорію кольору та особливості побудови реалістичних зображень;

математичні аспекти 2-D та 3-D графіки;

основи введення/виводу графічної інформації при автоматизованому створенні зображень.

вміти:

виконувати обробку та створення комп’ютерних зображень за допомогою програм растрової та векторної графіки;

виконувати розробку графічних програм з використанням графічної бібліотеки Open GL;

виконувати розробку анімаційних фільмів, презентаційних слайдів та графіки на web–сторінках.

4

5

1 ОСНОВНІ КОНЦЕПЦІЇ ГРАФІЧНОГО ПРОГРАМУВАННЯ

1.1 Графічні бібліотеки

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

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

Графічна бібліотека – набір підпрограм, призначених для рішення визначених задач (наприклад, креслення окружності, прямої і т.д.), які ґрунтуються на командах драйвера пристрою.

Прикладна

 

Графічна

 

 

 

Пристрій

 

 

Драйвер

 

програма

 

бібліотека

 

 

 

вводу/виводу

 

 

 

 

 

 

 

Рисунок 1.1 – Використання графічної бібліотеки

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

Для рішення цієї проблеми близько 30 років розробляються різні бібліотеки (CORE, GKS-3D, PHIGS, PEX).

Open GL (Open Graphic Library) – комерційна графічна бібліотека, популярна завдяки гнучкості в керуванні робочими станціями й ПК у мережевому середовищі; здобуває статус графічного стандарту де-факто. (1992, Silicon Graphics, Ins).

Переваги бібліотеки Open GL:

доступність;

простота у вивченні та встановленні;

довговічність у якості стандартного API, що підтримується експертною комісією з архітектури Open GL;

апаратна незалежність /мобільність;

великий і зручний набір API функцій для 2D і 3D графіки й обробки зображень.

5