Реферат за темою випускної роботи

Зміст

Вступ

Ніхто не посперечається, що комп'ютерна графіка - один з найцікавіших розділів комп'ютерних наук. Однако очень редко она воспринимается всерьез. Однак дуже рідко вона сприймається всерйоз. И напрасно. І дарма.  При прорахунку реалестічной комп'ютерної графіки для моделювання або створення ігор використовуються складні математичні розрахунки. Дипломна робота присвячена саме комп'ютерної графіки та моделювання. В цій статті коротко описані дослідження та отримані результати в ході роботи над випускний роботою магістра.

1. Актуальність теми

Тема цієї роботи - розробка багатоцільовий тривимірної моделі шахти і відповідної бази даних об'єктів, на основі чого можуть бути створені різні навчальні відео і додатки. Крім освітнього використання такі моделі дозволять людям, які не мають можливості реального спуску в шахту до надр Землі, дізнатися більше про прихований бік Донбасу. Проект дозволить гостям і жителям регіону хоча б раз у житті відчути себе на місці шахтарів - тих людей, які зробили можливим будівництво та розвиток міста Донецька. У Донбасі вугільна промисловість є однією з основних галузей, а ДонНТУ - основним джерелом професійних кадрів у цій галузі. Щоб зробити навчання більш ефективним, необхідні сучасні засоби комп'ютерного моделювання, які зможуть допомогти студентам ефективно набувати професійні навички, освоювати основи техніки безпеки, вчитися швидко і правильно реагувати на різноманітні непередбачені ситуації в шахті. Тому одне з призначень розроблюваних інтерактивних програм полягає у використанні їх в навчальному процесі ВНЗ. Використання тривимірної моделі шахти в навчальному процесі дозволить, зокрема, мінімізувати безпосереднє перебування студентів в небезпечних ситуаціях реальних шахта без істотного збитку їх підготовці.

2. Мета і задачі дослідження

Завданням даного проекту є розробка багатоцільовий тривимірної моделі шахти і відповідної бази даних об'єктів, на основі чого можуть бути створені різні навчальні відео і додатки [1]. Робота в шахті пов'язана з низкою ризиків: тиск і обвали гірських порід, виділ шкідливих газів і пилу, здатних горіти і вибухати, обмежений простір в гірських виробітки, висока температура і вологість, небезпека раптових викидів вугілля (особливо в регіоні Донбасу), газів та ін . шкідливі фактори [2].

3. Огляд досліджень в цій галузі

Огляд існуючих програм показав, що подібних проектів ще не створювалося, але існує не мала кількість спрощених конструкторів для створення симуляторів. При створенні деяких ігор часто создаються конструктори для створення нових рівнів або карт, які доступні будь-якому користувачеві.  Вони містять карти і примітиви - об'єкти з яких буде складатися сцена. Потім сцена зберігається і завантажується в гру. Щоб прискорити процес завантаження, сцену ділять на повторювані модулі, які немає необхідності кожен раз зчитувати з пам'яті - тільки копіювати або переміщати існуючі об'єкти. Приблизно такий же принцип буде використаний при створенні конструктора.  Ця ідея не нова. Головне - грамотно розділити сцену на складові. В дипломній роботі, всі об'єкти будуть поділені на групи. У кожній з них буде реалізовано індивідуальний спосіб завантаження і поділу на модулі, щоб прискорити процес створення сцени.

Крім готового продукту, в кінці закінчення роботи над дипломною роботою будуть продемонстровані результати дослідницької роботи.

Мета створення конструктора полягає в тому, щоб людина, яка не володіє навичками програмування, міг без зусиль створити потрібний об'єкт. Це має бути людина зі спеціальними знаннями в певній галузі (в даному випадку охорони праці) і його потрібно звільнити від зайвих подробиць роботи програми «зсередини». Розробка максимально зручного і зрозумілого інтерфейсу, дослідження в цій області, є так само важливою частиною цієї роботи.

Крім цього, важливим є завдання оптимізації - створення найбільш реалістичного оточення, при найменших витратах обчислювальних здібностей. Для цього потрібно уважно вивчити безліч створених тривимірних движків, які вже існують і найголовніше, тільки планують випустити. Якщо є сенс використовувати ту чи іншу технологію, якщо через пару місяців буде заявлена інша, яка зробить створення в рази швидше і зведе нанівець усі попередні розробки? Разом з цим ведеться дослідження не тільки створення максимально швидко працюючого додатки, але і реалістичного. Впливи різних існуючих ефектів на реалістичність навколишнього середовища відіграє так само важливу роль при створенні подібних проектів.

4.Розробка программного продукту

Вже була представлена робота, щодо створення інтерактивної моделі шахти за допомогою системи Blender [3]. Blender - вільний пакет для створення тривимірної комп'ютерної графіки, що включає в себе засоби моделювання, анімації, рендеринга, постобробки відео, а також створення інтерактивних ігор [4].

Реалізація навчального сценарію в ознайомчому 

режимi з фиксацiей порушень правил безпеки
режиме с фиксацией нарушений правил безопасности

Рисунок 1 – Реалізація навчального сценарію в ознайомчому режимi з фиксацiей порушень правил безпеки (в даному випадку: одночасне відкриття декількох дверей в шлюзі)

Розроблений додаток (рис. 1), що отримав назву «Віртуальна шахта», являє собою комплексний навчальний посібник, що включає в себе три основних компоненти: електронна гірська енциклопедія, визуализатор порушень правил безпеки, симулятор гасіння пожежі [5].

На жаль створена система не відрізняється високою швидкістю роботи, але головне-необхідної реалістичністю. Тому було вирiшено розробити новый пiдхiд кдо техники створення виртуальноi шахти . Сенс нового підходу полягає в тому, щоб збільшити продуктивність за рахунок зменшення кількості об'єктів, використовуючи модульну систему конструювання сцени. Система Blender так само використовується, але як засіб створення тривимірних моделей.

Схематичний вид системи

Рисунок 2 –Схематичний вид системи

Система складається з двох повноцінних додатків - конструктора і симулятора (рис 2). У конструкторі є можливість створювати файли двох типів-файли модуля і файли карти. У симуляторі будується тривимірна сцена за допомогою файлу карти, де вже описані основні характеристики об'єктів, порядок їх завантаження та шляхи до файлу, звідки вони динамічно завантажуються в сцену. Після побудови сцени користувач виявляється «всередині», в початковій точці, і може рухатися вперед-назад. Область переміщення персонажа так само обмежена для кожного модуля і описана у файлі карти

Constructor application

Додаток «Конструктор» складається з 2-ох частин: Конструктор модуля і конструктор карти Перехід між двома вікнами «Створити модуль» і «Створити карту» здійснюється за допомогою кнопки «Повернутися до головного меню», яка присутня в кожному вікні. У цьому додатку і відбувається основна частина стикування модулів. Модуль разделяется на 3 части: Модуль поділяється на 3 частини:

  • - Об'єкти, які повторюються досить часто (стіни, кріплення, стеля). Некоторые из них могут присутствовать в каждом модуле сцены. Деякі з них можуть бути присутні в кожному модулі сцени.
  • -Обладнання. Повторяются не так часто, как правило всего в одном или двух модулях. Повторюються не так часто, як правило все в одному або двох модулях.
  • - -Інтерактивні елементи. Допускается размещать не больше одного элемента в каждой сцене. Допускається розміщувати не більше одного елемента в кожній сцені.

Елементарна сцена складається з простого куба. У вікні «Створити модуль» створюється файл типу *. Mym (Module file), А у вікні «Створити Карту» створюється файл типу *. Myp (Map file). Карта-це не просто набір елементів. При побудові карти враховуються всі елементи з усіх сцен і формується файл-інструкція: скільки об'єктів завантажувати, шлях для завантаження, зсув об'єктів, набір їх координат.

Module file

Файл Модуля (*. Mym) містить унікальні параметри одного модуля. Кожен модуль має такі властивості як ім'я, номер і відповідне схематичне зображення. Обьекти, які поміщаються в модуль (з яких він і складається) беруться з бази даних об'єктів (Object.db). Після створення модуля він поміщається в базу даних, де знаходяться всі інші існуючими модулі.

В якості об'єктів можуть бути присутні не тільки статичні, а й динамічні або інтерактивні групи об'єктів, які забезпечують функцію «навчання».
    Objects.db
База даних (бібліотека) об'єктів, які можуть використовуватися в модулі.
    Modules.db
База даних модулів, які можуть бути використані при створенні карти.

Map file

У файлі Карти (*. Myp) знаходиться все необхідне для того, щоб створити повноцінний тривимірний об'єкт і керувати ним в симуляторі. Він так само створюється в конструкторі, як і файл модуля.Тільки для його побудови використовується не база даних об'єктів, а база даних модулів.

Simulator application

На основі даних з файлу Карти в симуляторі будується тривимірна модель.Пiсля цього користувач може просмамтрівать створену карту з усіма елементами «зсередини».

На даному етапі розробки розміри модулів є строго фіксованими. Якщо переводити в реальні розміри він не може прівишіть 15 метрів в довжину і 5 в ширину і висоту. Весь модуль поділено на сектори розміром 1х1х1 метр. В одному секторі можуть располагатся не більше 5 об'єктів або їх частин.

Кожен об'єкт, який знаходиться в бібліотеці обов'язково повинен містити розмір - кількість секторів які цей він займає по ширині, довжині і висоті. В модуле можно располагать только обьекты из библиотеки. У модулі можна розташовувати тільки об'єкти з бібліотеки.

Одним із властивостей модуля є його тип. Тип модуля повинен бути обов'язково зазначений при його створенні. За замовчуванням складається всього лише з 4 стін, підлоги і стелі. Все інше - вид стін, об'єкти додаються персонажем в конструкторі. При створенні модуля (в залежності від обраного типу) позначаються заблоковані сектора. На них розташовувати об'єкти заборонено. Ці сектори - умовний шлях, «дорога» по якій зможе пройти персонаж і перейти до іншого модулю. Тому на шляху не повинно бути ніяких перешкод. Поки може бути використано лише кілька типів модулів:

  • -Модуль з прямою дорогою
  • -Модуль з поворотами (наліво і направо)
  • -Модуль з розгалуженням шляху (поворот і наліво і направо)
  • -Тупик

Ця властивість використовується при стикуванні модулів, створення карти та шляхи персонажа.

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

В констуктор передбачено властивість, що на картці можна приєднувати один до одного тільки ті, модулі які будуть зістиковано один з одним без проблем в тривимірному просторі. Список модулів, які можуть бути зістиковано один з одним знаходиться в базі даних модулів.

Приклад роботи сцени в Unity 3D

Рисунок 3 – Приклад роботи сцени в Unity 3D

Засіб створення сцени в симуляторі - Unity3D [6]. Unity - це мультиплатформовий інструмент для розробки 2-х і 3-х мірних програм та ігор, що працює під операційними системами Windows і OS X. Створені за допомогою Unity програми працюють під операційними системами Windows, OS X, Android, Apple iOS, а також на ігрових приставках Wii, PlayStation 3 і XBox 360 (рис 3). Є можливість створювати інтернет-додатки за допомогою спеціального модуля до браузеру Unity, а також за допомогою експериментальної реалізації в рамках модуля Adobe Flash Player. Програмиия, створені за допомогою Unity, підтримують DirectX і OpenGL [7].

Ця середа для розробки ігор дозволить створити велику сцену, з якісними текстурами і освітленням і при цьому залишатися досить швидкою в роботі, щоб не дратувати користувача.

Перспективи розвитку

В даному проекті планується збільшити сворость роботи програми за рахунок модульної системи описаної вище. Цього планується досягти за рахунок того, що деякі обьект повторюються багато разів. Їх немає необхідності довантажувати кожен раз - можна просто переміщати по сцені. Технологія стикування буде поліпшена і продумана більш чітко для разих кутів повороту модулів [1].

Демонстрацiя работи модульноi системи

Рисунок 4 – Демонстрацiя работи модульноi системи
(анимация: 12 кадров, 5 циклов повторения, 160 килобайт)

В даний момент йде розробка програми-конструктора.Создан графічний інтерфейс для створення моделей і карти і мінімальна функціональність: Завантаження файлів, створення окритій файлів даних типів. Так само реалізована описаний вище метод стикування модулів. Наступним етапом є створення симулятора за допомогою Unity 3D і створених в конструкторі файлів.

Список источников

  1. Бабенко Е.В., Аноприенко А.Я.. ОРГАНИЗАЦИЯ МОДУЛЬНОГО ИНТЕРАКТИВНОГО ПРИЛОЖЕНИЯ ДЛЯ ТРЕХМЕРНОГО МОДЕЛИРОВАНИЯ УГОЛЬНЫХ ШАХТ// Материалы III всеукраинской научно-технической конференции студентов, аспирантов и молодых ученых «Информационные управляющие системы и компьютерный мониторинг (ИУС и КМ 2012)» – 17-18 апреля 2012 г., Донецк, ДонНТУ, 2012. Т.3. С. 680-684.
  2. Аноприенко А.Я., Бабенко Е.В. Навка Е.А. Оверчик О.М. Трехмерное интерактивное моделирование угольной шахты на базе системы «Blender» // Материалы четвертой международной научно-технической конференции «Моделирование и ком¬пьютерная графика» 5-8 октября 2011 года, Донецк, ДонНТУ, 2011. C. 279-285
  3. Бабенко Е.В. Навка Е.А. Оверчик О.М. Перспективы использования свободного программного обеспечения для создания трехмерных интерактивных приложений // Материалы II всеукраинской научно-технической конференции студентов, аспирантов и молодых ученых «Информационные управляющие системы и компьютерный мониторинг (ИУС и КМ 2011)» – 12-13 апреля 2011 г., Донецк, ДонНТУ, 2011. Т.3. С. 184-187.
  4. Blender-Википедия [текст]/ интернет – ресурс. – режим доступа: www/URL: http://ru.wikipedia.org/wiki/Blender
  5. Трофимов В.А., доц. Николаев Е.Б., доц., Аноприенко А.Я., проф., Бабенко Е.В., Оверчик О.М., ст. гр. КЭМ-11м (ДонНТУ). Использование трехмерного интерактивного моделирования угольной шахты для создания тренажера по безопасности и охране труда. Материалы всеукраинской научно-технической конференции молодых ученых, студентов и аспирантов "СОВРЕМЕННЫЕ ПРОБЛЕМЫ ОХРАНЫ ТРУДА И АЭРОЛОГИИ ГОРНЫХ ПРЕДПРИЯТИЙ"– 24 ноября 2011 г., Донецк, ДонНТУ, 2011.
  6. Unity- Game Engine - интернет – ресурс. – режим доступа: http://unity3d.com/.
  7. Unity 3D-Википедия [текст]/ интернет – ресурс. – режим доступа: www/URL: http://ru.wikipedia.org/wiki/Unity_.
  8. Иванов В. П., Батраков А. С. Трёхмерная компьютерная графика/Иванов В – М.: Издательский дом «Радио и связ», 1995. – 320 с.
  9. Залогова Л.А. Компьютерная графика. Элективный курс. Практикум /Залогова Л.А – М.: БИНОМ Лаборатория знаний, 2005. – 245 с.
  10. Энджел Э. Интерактивная компьютерная графика. Вводный курс на базе OpenGL/Энджел Э. – Вильямс, 2001. – 592 pp.
  11. Шикин Е.В., Боресков А.В. Компьютерная графика. Полигональные модели / Шикин Е.В., Боресков А.В. – Диалог-МИФ, 2005. – 464 с.
  12. Херн Д., Бейкер П. Компьютерная графика и стандарт OpenGL / Херн Д. – Вильямс, 2005. – 1168 с.
  13. Хейфец А. Л., Логиновский А. Н., Буторина И. В., Васильева В. Н. Инженерная 3D компьютерная графика / Хейфец А. Л., Логиновский А. Н., Буторина И. В., Васильева В. Н. – Юрайт, 2011. – 516 с.
  14. Создание игр, Игровые движки, Конструкторы игр - Разработка игр- интернет – ресурс. – режим доступа: http://gcup.ru/.
  15. Создание игр без программирования- интернет – ресурс. – режим доступа:http://make-games.ru/.
  16. Unity3D по-русски – ресурс. – режим доступа: http://www.unity3d.ru/.
  17. Конструкторы для создания компьютерных игр. Выпуск 3 – режим доступа: http://itcs.3dn.ru.
  18. Создаём компьютерную игру. Создание игр на C++/DirectX– режим доступа: http://shatalov.su/.
  19. Рик Пэрент Компьютерная анимация/ Пэрент Р. – КУДИЦ-Образ, 2004. – 579 с.
  20. Зеньковский В. А. 3D-эффекты при создании презентаций, сайтов и рекламных видеороликов /Зеньковский В. А. – БХВ-Петербург, 2011. – 650 с.