- •© Вурста с.Ю.,Літнарович р.М.,2010
- •Вступ………………………………..………………………5
- •4.1.Високопродуктивний компілятор в машинний код………………………………..………………... 126
- •4.4 Бібліотека візуальних компонент…………..135
- •5. Опис графічних бібліотек для написання 3d – програм та ігор……………….……………………………………151
- •1. Історія появи фракталів та їх використання
- •2. Довжина берегової лінії. Фрактальна розмірність. Поняття фрактала.
- •2.1. Приклади побудови фрактальних множин. Класифікація фракталів.
- •2.2. Алгоритм фрактального шуму або шум перліна
- •2.3. Реалізація алгоритму
- •3. Історія розвитку комп’ютерної графіки та ігор
- •3.1. Основні поняття зd-графіки
- •3.2. Основні прийоми для роботи з світлом в 3d:
- •3.3 Алгоритми рельєфного текстурування
- •3.3.1 Рельєфне текстурування (bump mappіng)
- •3.3.5 Простий Relief Mapping
- •3.3.6 Багатошаровий Relief Mapping
- •3.4 Основні прийоми для роботи з текстурами в 3d:
- •3.5 Основні поняття про шейдер та види шейдерів
- •3.6. Генерація тривимірних ландшафтів
- •4.1 Високопродуктивний компілятор в машинний код
- •4.2. Могутня об'єктно-орієнтована мова
- •Об'єктно-орієнтована модель програмних компонент
- •4.4 Бібліотека візуальних компонент
- •4.5. Робота з компонентами
- •5. Опис графічних бібліотек для написання 3d – програм та ігор
- •5.1 Опис графічної бібліотеки OpenGl
- •5.2 Графічна бібліотека DirectX
- •5.3 Візуальні бібліотеки компонентів для OpenGl та DirectX.
- •5.4 Опис закладок glScene
- •6. Проектування системи
- •6.1 Вибір середовища реалізації
- •6.2 Опис використаних компонент glScene для реалізації системи
- •Опис інтерфейсу розробленої системи
- •6.3.1 Панель інструментів
- •6.3.2 Опис робочої області
- •6.3.3 Опис панелі налаштування 3d-сцени
- •Висновки
- •Список літератури:
- •Побудова фрактальних поверхонь в комп’ютерній графіці
- •33027 Рівне , Україна
Міністерство освіти та науки України
Міжнародний економіко-гуманітарний університет
імені академіка Степана Дем’янчука
Факультет кібернетики
Кафедра математичного моделювання
С.Ю. Вурста Побудова фрактальних поверхонь в комп’ютерній графіці
Науковий
керівник:
Р.М. Літнарович,к. т. н., доцент
Рівне – 2010
УДК 681.3
Вурста С.Ю., Літнарович Р.М. Побудова фрактальних поверхонь в комп’ютерній графіці. МЕГУ, Рівне, 2010,-250 с.
В даному проекті розроблений програмний додаток "Фрактальні ландшафти" для генерування 3D ландшафтів за допомогою алгоритму «Фрактального шуму», та з метою демонстрації можливостей цього алгоритму, бібліотеки OpenGL і візуальної бібліотеки GLScene(із завдатком ігрового ядра) по побудові ландшафту.
Для студентів, магістрантів і аспірантів факультету
Кібернетики МЕГУ.
Vursta S.Yu., Litnarovich R.M. Construction of fractal surfaces in computer graphics. IEGU, Rivne, 2010-250 p.
In this project programmatic addition is developed the "Fractal landscapes" for generuting of 3d landscapes by the algorithm of «Fractal noise», and with the purpose of demonstration of possibilities of this algorithm, library of OPENGL and visual library of Glscene(with the advance of playing kernel), on the construction of landscape.
For students, magistrations and graduate students of faculty
Cybernetics IEGU.
Рецензенти:
В.О.Боровий,доктор технічних наук,професор
В.Г.Бурачек, доктор технічних наук,професор
Є.С.Парняков, доктор технічних наук,професор
Відповідальний за випуск:
Й.В.Джунь, доктор фізико-математичних наук, професор
© Вурста с.Ю.,Літнарович р.М.,2010
Зміст
Вступ………………………………..………………………5
1. Історія появи фракталів та їх використання………..……7
2. Довжина берегової лінії. Фрактальна розмірність. Поняття фрактала...................................................................................18
2.1. Приклади побудови фрактальних множин.Класифікація фракталів………………..…………..25
2.2. Алгоритм фрактального шуму або шум перліна..35
2.3. Реалізація алгоритму…..………………………..43
3. Історія розвитку комп’ютерної графіки та ігор ……….49
3.1 Основні поняття ЗD-графіки ….………..………65
3.2 Основні прийоми для роботи з світлом в 3D..… 72
3.3 Алгоритми рельєфного текстурування………... 74
3.3.1 Рельєфне текстурування (bump mappіng)…….74
3.3.2 Normal mapping……………… ………… 76
3.3.3 Parallax mapping…..…………………………….80
3.3.4 Relief mapping…….……… ……………. 82
3.3.5 Простий Relief Mapping……… ……… 83
3.3.6 Багатошаровий Relief Mapping… ………84
3.4 Основні прийоми для роботи з текстурами в 3D.86
3.5 Основні поняття про шейдер та види шейдерів. 91
3.6. Генерація тривимірних ландшафтів……………93
4. Опис програмного середовища Delphі…....…………… 120
4.1.Високопродуктивний компілятор в машинний код………………………………..………………... 126
4.2. Могутня об'єктно-орієнтована мова……………128
4.3. Об'єктно-орієнтована модель програмних компонент…………………………………………….132
4.4 Бібліотека візуальних компонент…………..135
4.5. Робота з компонентами.………………………146
5. Опис графічних бібліотек для написання 3d – програм та ігор……………….……………………………………151
5.1 Опис графічної бібліотеки OpenGL ..………..153
5.2 Графічна бібліотека DirectX……………………158
5.3 Візуальні бібліотеки компонентів для OpenGL та DirectX…………………………….…………….…159
5.4 Опис закладок GLScene….……..………………167
6. Проектування системи .....………………………………171
6.1 Вибір середовища реалізації…..…..……….173
6.2 Опис використаних компонент GLScene для реалізації системи……………………………175
6.3 Опис інтерфейсу розробленої системи..…..189
6.3.1 Панель інструментів ………………….190
6.3.2 Опис робочої області ….………...........196
6.3.3 Опис панелі налаштування 3D-сцени.197
Висновки……………….…………………………………….205
Список літератури…………………………………………..207
Додаток ……………………………..……………………….210
Ключові слова: фрактальні ландшафти, фрактальний шум, текстури, шейдери
Ключевые слова: фрактальные ландшафты,фрактальный шум, текстура, шейдеры
Key words: fractal landscapes , fraktal noise, textures, sheyders
Вступ
Геометрію часто називають "холодною" і "сухою". Одна з причин цього полягає в її нездатності описати форму хмари, гори, берегової лінії або дерева. Хмари - не сфери, гори - не конуси, берегові лінії - не кола, деревна кора не гладка, блискавка поширюється не по прямій. Багато природні об'єкти настільки іррегулярні і фрагментовані, що в порівнянні зі стандартною геометрією Евкліда природа має не просто більшу складність, а складність зовсім іншого рівня .
Фрактали - це геометричні об'єкти з незвичайними властивостями: будь-яка частина фрактала містить його зменшене зображення. Тобто, скільки фрактал не збільшувати, з будь-якої його частини на вас буде дивитися його маленька копія.
Роль фракталів в машинній графіці сьогодні досить велика. Вони приходять на допомогу, наприклад, коли потрібно, за допомогою декількох коефіцієнтів, задати лінії і поверхні дуже складної форми. З точки зору машинної графіки, фрактальна геометрія незамінна при створення штучних хмар, гір, поверхні моря. Фактично знайдений спосіб легкого подання складних неевклідових об'єктів, образи яких дуже схожі на природні.
Комп'ютери стають дедалі потужнішими, і все більш вражаючі ефекти вони дозволяють нам спостерігати на екрані дисплея. Нас чекає ще багато цікавих і незвичайних знахідок.
Мета даної наукової роботи полягає у пошуку способу легкого подання складних неевклідових об'єктів, образи яких дуже схожі на природні.
В даному проекті розроблений програмний додаток "Фрактальні ландшафти" для генерування 3D ландшафтів за допомогою алгоритму «Фрактального шуму», та з метою демонстрації можливостей цього алгоритму, бібліотеки OpenGL і візуальної бібліотеки GLScene(із завдатком ігрового ядра) по побудові ландшафту.
