3d-МОДЕЛЮВАННЯ ЗАСОБАМИ c++ ЗА ДОПОМОГОЮ БІБЛІОТЕКИ directx
TRANSCRIPT
![Page 1: 3D-МОДЕЛЮВАННЯ ЗАСОБАМИ C++ ЗА ДОПОМОГОЮ БІБЛІОТЕКИ DIRECTX](https://reader034.vdocuments.pub/reader034/viewer/2022042521/557209dc497959fc0b8bf7a6/html5/thumbnails/1.jpg)
1
3D-МОДЕЛЮВАННЯ ЗАСОБАМИ C++ ЗА
ДОПОМОГОЮ БІБЛІОТЕКИ DIRECTX
ПідготувавСтудент групи КН-45Матвісів Роман Ярославович
Науковий керівниккандидат фізико-математичних наук, доцентГригорович Віктор Геннадійович
![Page 2: 3D-МОДЕЛЮВАННЯ ЗАСОБАМИ C++ ЗА ДОПОМОГОЮ БІБЛІОТЕКИ DIRECTX](https://reader034.vdocuments.pub/reader034/viewer/2022042521/557209dc497959fc0b8bf7a6/html5/thumbnails/2.jpg)
2
Актуальність темиДля програмування швидкої і якісної 3D-графіки під
Windows потрібно використовувати спеціальну технологію, яка дає прямий доступ до відео-пам’яті, бо в якості програмної основи для роботи з графікою використовується інтерфейс GDI (Graphic Device Interface, інтерфейс графічних пристроїв), який не надає такої можливості.
На даний час DirectX і OpenGL – це дві передові технології. Технологія DirectX використовується лише для ОС Windows, а OpenGL працює у будь якому середовищі. Перевага DirectX полягає в дещо більшій функціональності. Тому вивчення і використання технології DirectX є достатньо актуальним.
При викладанні у школі стереометрії, учням потрібно наочно показувати приклади тривимірних фігур, щоб їм було зрозуміло і щоб вони краще засвоювали матеріал.
Дана програма моделює 3D-фігури і дозволяє змінювати і обчислювати їх параметри.
![Page 3: 3D-МОДЕЛЮВАННЯ ЗАСОБАМИ C++ ЗА ДОПОМОГОЮ БІБЛІОТЕКИ DIRECTX](https://reader034.vdocuments.pub/reader034/viewer/2022042521/557209dc497959fc0b8bf7a6/html5/thumbnails/3.jpg)
3
Мета роботи
Розробити систему 3D-моделювання засобами C++ з використанням технології DirectX.
![Page 4: 3D-МОДЕЛЮВАННЯ ЗАСОБАМИ C++ ЗА ДОПОМОГОЮ БІБЛІОТЕКИ DIRECTX](https://reader034.vdocuments.pub/reader034/viewer/2022042521/557209dc497959fc0b8bf7a6/html5/thumbnails/4.jpg)
4
Завдання роботи
Ознайомитися з методами побудови 3D-графіки за допомогою технології DirectX;
Створити ієрархію класів 3D-фігур;
Спроектувати програму, яка б моделювала 3D-фігури;
Створити зручний інтерфейс для вибору об’єкта моделювання і зміни його параметрів;
Програмно реалізувати систему, яка моделює фігури в 3D-просторі.
![Page 5: 3D-МОДЕЛЮВАННЯ ЗАСОБАМИ C++ ЗА ДОПОМОГОЮ БІБЛІОТЕКИ DIRECTX](https://reader034.vdocuments.pub/reader034/viewer/2022042521/557209dc497959fc0b8bf7a6/html5/thumbnails/5.jpg)
5
Об’єкт досліджень
Процеси формування, зберігання, опрацювання, та відтворення 3D-об’єктів.
![Page 6: 3D-МОДЕЛЮВАННЯ ЗАСОБАМИ C++ ЗА ДОПОМОГОЮ БІБЛІОТЕКИ DIRECTX](https://reader034.vdocuments.pub/reader034/viewer/2022042521/557209dc497959fc0b8bf7a6/html5/thumbnails/6.jpg)
6
Предмет досліджень
Потоки та структури даних, які виникають в процесі реалізації 3D-графіки засобами C++ за допомогою бібліотеки DirectX.
![Page 7: 3D-МОДЕЛЮВАННЯ ЗАСОБАМИ C++ ЗА ДОПОМОГОЮ БІБЛІОТЕКИ DIRECTX](https://reader034.vdocuments.pub/reader034/viewer/2022042521/557209dc497959fc0b8bf7a6/html5/thumbnails/7.jpg)
7
Засоби досліджень
• методи комп’ютерної геометрії,
• об’єктно-орієнтоване програмування,
• технологія DirectX,
• інструментарій MS Visual C++.
![Page 8: 3D-МОДЕЛЮВАННЯ ЗАСОБАМИ C++ ЗА ДОПОМОГОЮ БІБЛІОТЕКИ DIRECTX](https://reader034.vdocuments.pub/reader034/viewer/2022042521/557209dc497959fc0b8bf7a6/html5/thumbnails/8.jpg)
8
1. Аналітичний огляд існуючих аналогів
В даному підрозділі розглянуті три програми-аналоги, які моделюють тривимірні фігури:
•«Тіло оберту»;
•«3ds Max»;
•«КОМПАС-3D».
![Page 9: 3D-МОДЕЛЮВАННЯ ЗАСОБАМИ C++ ЗА ДОПОМОГОЮ БІБЛІОТЕКИ DIRECTX](https://reader034.vdocuments.pub/reader034/viewer/2022042521/557209dc497959fc0b8bf7a6/html5/thumbnails/9.jpg)
9
Рис. 1.1. Створення фігури для обертання Рис. 1.2. Тіло після обертання по осі OZ
1. Аналітичний огляд існуючих аналогів
Програма «Тіло оберту»
![Page 10: 3D-МОДЕЛЮВАННЯ ЗАСОБАМИ C++ ЗА ДОПОМОГОЮ БІБЛІОТЕКИ DIRECTX](https://reader034.vdocuments.pub/reader034/viewer/2022042521/557209dc497959fc0b8bf7a6/html5/thumbnails/10.jpg)
10
1. Аналітичний огляд існуючих аналогів
Програма «3ds Max»
Рис. 1.3. Інтерфейс програми 3ds Max
![Page 11: 3D-МОДЕЛЮВАННЯ ЗАСОБАМИ C++ ЗА ДОПОМОГОЮ БІБЛІОТЕКИ DIRECTX](https://reader034.vdocuments.pub/reader034/viewer/2022042521/557209dc497959fc0b8bf7a6/html5/thumbnails/11.jpg)
11
1. Аналітичний огляд існуючих аналогів
Програма «3ds Max»
Рис. 1.3. Інтерфейс програми 3ds Max
В меню є функція добавлення примітивних фігур стереометрії (рис 1.4.);
![Page 12: 3D-МОДЕЛЮВАННЯ ЗАСОБАМИ C++ ЗА ДОПОМОГОЮ БІБЛІОТЕКИ DIRECTX](https://reader034.vdocuments.pub/reader034/viewer/2022042521/557209dc497959fc0b8bf7a6/html5/thumbnails/12.jpg)
12
1. Аналітичний огляд існуючих аналогів
Програма «3ds Max»
Рис. 1.4. Вибір тривимірної фігури з набору
Рис. 1.5. Зображення фігури з вказаними параметрами
2. Можна вибрати любу фігуру, вказати її параметри і змоделювати (рис. 1.4.);
3. Можна змінювати параметри фігури (рис. 1.5.).
![Page 13: 3D-МОДЕЛЮВАННЯ ЗАСОБАМИ C++ ЗА ДОПОМОГОЮ БІБЛІОТЕКИ DIRECTX](https://reader034.vdocuments.pub/reader034/viewer/2022042521/557209dc497959fc0b8bf7a6/html5/thumbnails/13.jpg)
13
1. Аналітичний огляд існуючих аналогів
Програма «КОМПАС-3D»
Рис. 1.7. Добавлення прямокутникаРис. 1.8. Витискування куба
![Page 14: 3D-МОДЕЛЮВАННЯ ЗАСОБАМИ C++ ЗА ДОПОМОГОЮ БІБЛІОТЕКИ DIRECTX](https://reader034.vdocuments.pub/reader034/viewer/2022042521/557209dc497959fc0b8bf7a6/html5/thumbnails/14.jpg)
14
2. Технічне завдання та вибір платформи розробки
2.1. Постановка завданняЗавдання: розробити просту, зручну у використанні програму для
моделювання тривимірних фігур (призма, піраміда, циліндр і т. д.) та обчислення і можливість зміни їх параметрів (площа поверхні, об’єм і т. д.).
Програма моделювання тривимірних фігур повинна відповідати таким вимогам:
•зручність побудови і зміни параметрів 3D-об’єктів.•вибір 3D-об’єктів із списку існуючих.•параметри фігури повинні виводитися на екран і повинна бути можливість зміни параметрів.
Крім того, розроблений програмний продукт повинен задовольняти наступним вимогам:
•зручність у користуванні та моделюванні 3D- об’єктів.•зручність у зміні параметрів 3D- об’єктів.
![Page 15: 3D-МОДЕЛЮВАННЯ ЗАСОБАМИ C++ ЗА ДОПОМОГОЮ БІБЛІОТЕКИ DIRECTX](https://reader034.vdocuments.pub/reader034/viewer/2022042521/557209dc497959fc0b8bf7a6/html5/thumbnails/15.jpg)
15
2. Технічне завдання та вибір платформи розробки
2.2. Вибір мови програмування
Для реалізації ієрархії класів тривимірних фігур потрібна об’єктно-орієнтована мова програмування. C++ є повністю підходяща мова для реалізації даного програмного продукту.
![Page 16: 3D-МОДЕЛЮВАННЯ ЗАСОБАМИ C++ ЗА ДОПОМОГОЮ БІБЛІОТЕКИ DIRECTX](https://reader034.vdocuments.pub/reader034/viewer/2022042521/557209dc497959fc0b8bf7a6/html5/thumbnails/16.jpg)
16
2. Технічне завдання та вибір платформи розробки
2.3. Вибір середовища розробки та версії
Згідно технічного завдання я використав середовище Visual Studio С++ 2008 з використанням бібліотеки DirectX 9 для розробки програми.
Visual Studio С++ 2008 – є середовищем розробки програм, яке має все необхідне, для створення даного програмного продукту (зокрема, це ООП, для побудови ієрархії 3D-фігур, і DirectX SDK написаний на C++). Як відомо, середовище розробки великою мірою визначає ефективність роботи програміста. У середовищі програмування Visual Studio С++ 2008 є всі необхідні інструменти для того, щоб створювати повноцінні програми.
![Page 17: 3D-МОДЕЛЮВАННЯ ЗАСОБАМИ C++ ЗА ДОПОМОГОЮ БІБЛІОТЕКИ DIRECTX](https://reader034.vdocuments.pub/reader034/viewer/2022042521/557209dc497959fc0b8bf7a6/html5/thumbnails/17.jpg)
17
2. Технічне завдання та вибір платформи розробки
2.4. Порівняльний аналіз технологій OpenGL та DirectX
OpenGL та DirectX – це дві найпопулярніші технології, для програмування 3D-графіки.
![Page 18: 3D-МОДЕЛЮВАННЯ ЗАСОБАМИ C++ ЗА ДОПОМОГОЮ БІБЛІОТЕКИ DIRECTX](https://reader034.vdocuments.pub/reader034/viewer/2022042521/557209dc497959fc0b8bf7a6/html5/thumbnails/18.jpg)
18
Висновок
При виконанні роботи освоєно основні принципи програмування 3D-графіки технологією DirectX: ініціалізацію Direct3D, створення примітиву в Direct3D, створення класів тривимірних фігур. На основі здобутих знань та умінь створено програмну систему, яка дозволяє моделювати тривимірні фігури (призма, конус і т. п.), змінювати ключові характеристики (довжину ребра, тощо) і обчислювати параметри (площу поверхні, об’єм і т. п.).