Реферат по теме выпускной работы

Содержание

Введение

Никто не поспорит, что компьютерная графика - один из самых интересных разделов компьютерных наук. Однако очень редко она воспринимается всерьез. И напрасно. При просчете реалистичной компьютерной графики для моделирования или создания игр используются сложные математические расчеты. Данная дипломная работа затрагивает раздел трехмерной компьютерной графики и моделирования. В этой статье кратко описаны исследования и полученные результаты в ходе работы над выпускной работой магистра .

1. Актуальность темы

Тема этой работы - разработка многоцелевой трехмерной модели шахты и соответствующей базы данных объектов, на основе чего могут быть созданы различные обучающие видео и приложения. Кроме образовательного использования такие модели позволят людям, не имеющих возможности реального спуска в шахту, к недрам Земли, узнать больше о скрытой стороне Донбасса. Проект позволит гостям и жителям региона хотя бы раз в жизни почувствовать себя на месте шахтёров – тех людей, которые сделали возможным строительство и развитие города Донецка. В Донбассе угольная промышленность является одной из основных отраслей, а ДонНТУ – основным источником профессиональных кадров в этой области. Чтобы сделать обучение более эффективным, необходимы современные средства компьютерного моделирования, которые смогут помочь студентам эффективно приобретать профессиональные навыки, осваивать основы техники безопасности, учиться быстро и правильно реагировать на разнообразные непредвиденные ситуации в шахте. Поэтому одно из назначений разрабатываемых интерактивных приложений заключается в использовании их в учебном процессе вуза. Использование трехмерной моделей шахты в учебном процессе позволит, в частности, минимизировать непосредственное пребывания студентов в опасных ситуациях реальных шахта без существенного ущерба их подготовке.

2. Цель и задачи исследования

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

3. Обзор необходимых исследований по данной теме

Обзор существующих приложений показал, что подобных проектов еще не создавалось, но существует немалое количество упрощенных конструкторов для создания симуляторов. При создании некоторых игр часто создаются конструкторы для создания новых уровней или карт, которые доступны любому пользователю. Они содержат карты и примитивы – объекты из которых будет состоять сцена. Затем сцена сохраняется и загружается в игру. Чтобы ускорить процесс загрузки, сцену делят на повторяющиеся модули, которые нет необходимости каждый раз считывать из памяти – только копировать или перемещать существующие объекты. Примерно такой же принцип будет использован при создании конструктора. Эта идея не нова. Главное – грамотно разделить сцену на составляющие. В дипломной работе, все объекты будут поделены на группы. В каждой из них будет реализован индивидуальный способ загрузки и разделения на модули, чтобы ускорить процесс создания сцены.

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

Цель создания конструктора состоит в том, чтобы человек, который не обладает навыками программирования, мог без труда создать нужный объект. Это должен быть человек со специальными знаниями в определенной области ( в данном случае охране труда) и его нужно освободить от излишних подробностей работы программы «изнутри». Разработка максимально удобного и понятного интерфейса, исследования в этой области, являются так же важной частью этой работы.

Кроме этого, важной является задача оптимизации – создание наиболее реалистичного окружения, при наименьших затратах вычислительных способностей. Для этого нужно внимательно изучить множество созданных трехмерных движков, которые уже существуют и самое главное, только планируют выпустить. Если ли смысл использовать ту или иную технологию, если через пару месяцев будет заявлена другая, которая сделает создание в разы быстрее и сведет на нет все предыдущие разработки? Вместе с этим, ведется исследования не только касательно создания максимально быстро работающего приложения, но и реалистичного. Влияния разных существующих эффектов на реалистичность окружающей среды играет так же важную роль при создании подобных проектов.

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

Уже была представлена работа, по созданию интерактивной модели шахты с помощью системы Blender [3]. Blender — свободный пакет для создания трёхмерной компьютерной графики, включающий в себя средства моделирования, анимации, рендеринга, постобработки видео, а также создания интерактивных игр [4].

Реализация обучающего сценария в ознакомительном
режиме с фиксацией нарушений правил безопасности

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

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

К сожалению, созданная система не отличается высокой скоростью работы, но главное - необходимой реалистичностью. Поэтому было решено разработать новый подход к технике создания виртуальной шахты. Смысл нового подхода состоит в том, чтобы увеличить производительность за счет уменьшения количества объектов, используя модульную систему конструирования сцены. Система Blender так же используется, но как средство создания трехмерных моделей.

Схематичное представление системы

Рисунок 2 –Схематичное представление системы

Система состоит из двух полноценных приложений – конструктора и симулятора (рис 2). В конструкторе имеется возможность создавать файлы двух типов - файлы модуля и файлы карты. В симуляторе строится трехмерная сцена с помощью файла карты, где уже описаны основные характеристики объектов, порядок их загрузки и пути к файлу, откуда они динамически загружаются в сцену. После построения сцены пользователь оказывается «внутри», в начальной точке и может двигаться вперед-назад. Область перемещения персонажа так же ограничена для каждого модуля и описана в файле карты.

Constructor application

Приложение «Конструктор» состоит из двух частей: конструктор модуля и конструктор карты. Переход между двумя окнами «Создать модуль» и «Создать карту» осуществляется с помощью кнопки «вернуться к главному меню», которая присутствует в каждом окне. В этом приложении и происходит основная часть стыковки модулей. Модуль разделяется на 3 части:

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

Элементарная сцена состоит из простого куба. В окне «Создать модуль» создается файл типа *.mym(Module file), а в окне «Создать Карту» создается файл типа *.myp(Map file). Карта - это не просто набор элементов. При построении карты учитываются все элементы из всех сцен и формируется файл-инструкция: сколько обьектов загружать, путь для загрузки, смещение обьектов, набор их координат.

Module file

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

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

Map file

В файле Карты (*.myp) находится все необходимое для того, чтобы создать полноценный трехмерный объект и управлять им в симуляторе. Он так же создается в конструкторе, как и файл модуля. Только для его построения используется не база данных объектов, а база данных модулей.

Simulator application

На основе данных из файла Карты в симуляторе строится трехмерная модель. После этого пользователь может просматривать созданную карту со всеми элементами «изнутри».

На данном этапе разработки размеры модулей являются строго фиксированными. Если переводить в реальные размеры он не может превышать 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].

Уже была представлена работа, по созданию интерактивной модели шахты с помощью системы Blender [3]. Blender — свободный пакет для создания трёхмерной компьютерной графики, включающий в себя средства моделирования, анимации, рендеринга, постобработки видео, а также создания интерактивных игр [4].

Перспективы развития

В данном проекте планируется увеличить скорость работы программы, за счет модульной системы описанной выше. Этого планируется достигнуть за счет того, что некоторые объекты повторяются много раз. Их нет необходимости подгружать каждый раз – можно просто перемещать по сцене. Технология стыковки будет улучшена и продумана более четко для разных углов поворота модулей [1].

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

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

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

В момент создания сайта работа на данной магистерской работой еще не завершена. Дата завершения работы - декабрь 2012 года.

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

  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 с.