ВКР|Программирование

Разработка программного обеспечения для генерации трехмерного ландшафта

Уточняйте оригинальность работы ДО покупки, пишите нам на topwork2424@gmail.com

Авторство: antiplagiatpro

Год: 2020 | Страниц: 140

Цена: 2 900
Купить работу

Введение  

Аналитическая часть  

1.1 Анализ деятельности организации  

1.1.1 Общие сведения об организации  

1.1.2 Экономический анализ деятельности организации  

1.1.3 Программные и технические средства, используемые в организации  

1.2 Анализ пригладных и организационных процессов организации  

1.2.1 Организационная структура отдела разработки  

1.2.2 Организация бизнес процессов компании  

1.2.3 Обоснование выбора задачи автоматизации  

1.2.4 Основные термины и определения  

1.3. Постановка задачи автоматизации прикладных процессов  

1.3.1. Цели и задачи проекта автоматизации прикладных процессов  

1.3.2. Спецификация и обоснование функциональных требований к программному обеспечению   

1.3.3. Требования к программно-технической среде  

2 Проектная часть  

2.1      Информационное обеспечение  

2.1.1 Инфологическая модель и схема данных  

2.1.2 Входные данные  

2.1.3 Выходные данные  

2.2 Математическое обеспечение  

2.3 Программное обеспечение  

2.3.1 Структура программного обеспечения  

2.3.2 Спецификация программных модулей  

2.3.3 Пользовательский интерфейс  

2.4 Тестирование и оценка качества программного обеспечения  

Заключение  

Список использованных источников  

Приложение

В современном мире, где глобальная сеть Интернет доступна практически каждому, и где развитие компьютерных технологий стремительно и неуклонно растет, компьютерная 3D-графика получила огромное распространение среди многих отраслей производства. Компьютерные модели используются в научных исследованиях для имитации необходимых процессов, в производстве для создания качественного и дешевого продукта, в маркетинге для привлечения внимания потенциальных клиентов и во многих других сферах, где необходимо визуализировать какой-либо объект или процесс.

Такие технологии не могли не привлечь к себе внимание и отраслей создания фильмов, мультипликаций и компьютерных игр. Визуальный ряд в продуктах такого рода является основным источником получаемой человеком информацией, которую производитель закладывал в продукт, и качество визуализации этой информации прямо влияет на то, как тот или иной человек ее воспримет. Этот фактор поспособствовал появлению новых методологий создания компьютерных моделей и развитию технологий до такого уровня, что современные компьютерные модели в фильмах и играх зачастую очень сложно отличить от изображения реальных объектов.

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

         Научно-производственный центр «НовАТранс», компания, занимающаяся разработкой интерактивных обучающий материалов в железнодорожной отрасли, на данный момент ведет разработку виртуального тренажера для машинистов с использованием технологий виртуальной реальности. С его помощью обучающиеся могут на практике познакомиться с процессами обслуживания поездного состава и управления поездом при его движении.

         Для проекта такого плана необходимо создать обширную местность, на которой будет происходить все заготовленные в тренажере действия. Местность должна содержать большое количество разных объектов, такие как деревья, трава, постройки различного типа, железнодорожные указатели. Это большой объем работы для команды художников окружения.

Целью практики являлась разработка программного обеспечения для процедурной генерации 3D-ландшафтов, которые в дальнейшем могут быть использованы в будущих проектах компании.

Задачи, которые необходимо было решить для достижения поставленной цели:

         –       Анализ деятельности организации и используемого ею программного, технического и информационного обеспечения.

         –       Определение функционала будущего ПО в соответствии с требованиями к ландшафту.

         –       Разработка необходимого функционала в программном продукте.

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

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

         Программа должна иметь понятный интерфейс, с которым сможет взаимодействовать художник или другой человек, не имеющий знаний в области программирования, а также легко интегрироваться в любой проект, создаваемый в среде разработки Unity.

 

1 АНАЛИТИЧЕСКАЯ ЧАСТЬ

1.1 АНАЛИЗ ДЕЯТЕЛЬНОСТИ ОРГАНИЗАЦИИ

1.1.1 ОБЩИЕ СВЕДЕНИЯ ОБ ОРГАНИЗАЦИИ

Научно-производственный центр «НовАТранс» — компания, занимающаяся производством инновационных технологий обучения и обучающих материалов для предприятий и учебных заведений железнодорожной отрасли.

Компания была создана выпускником Уральского государственного университета путей сообщения Валиевым Рафаилом Шамилевичем. Предпосылкой к зарождению компании стало обновление оборудования и модернизация одной из учебных лабораторий университета, в которой работал будущий генеральный директор НПЦ «НовАТранс»: «Проблема состояла в том, что во время практических занятий студенты не получали необходимых навыков, поскольку тренажеры, обеспечивающие практическое обучение, были изрядно изношены и не отражали реально действующих систем. Любой из таких студентов, при трудоустройстве на работу, испытывал бы множество трудностей, так как устаревшие тренажеры не давали полного представления о реальном устройстве систем, с которыми работают на железной дороге. Именно такое положение вещей стало толчком к действию» [8].

В список производимой компанией продукции входят:

         –       Аппаратные тренажерные комплексы – физические модели реального оборудования, предназначенные для оттачивания обучающимся профессиональных навыков и действий при нестандартных ситуациях;

         –       Макеты устройств сигнализации, централизации и блокировки, которые позволяют на практике изучить совокупность технических средств, используемых для регулирования и обеспечения безопасности движения поездов;

         –       Электронные обучающие материалы, включающие в себя сборник курсов, распространяющихся в электронном виде и набор 3D-атласов, которые представляют из себя точные и наглядные 3D-модели реальных механизмов, и теоретическую информацию, в которой описаны все особенности устройства, такие как материалы, функции, размеры и так далее;

         –       VR/AR-тренажеры, которые представляют собой образовательное программное обеспечение с использованием технологий виртуальной и дополненной реальности соответственно, и используются для симуляции нестандартных или опасных для жизни людей ситуаций, которые могут возникнуть при выполнении будущим сотрудником своих должностных обязанностей;

         –       Печатная продукция, в основном это книги, содержащие методические пособия, и плакаты с изображениями различных схем устройств и процессов железнодорожной отрасли;

         Также, компания оказывает услуги по разработке проектов оснащения учебных лабораторий и тренажерных комплексов с использованием 2D и 3D графики для визуализации будущих помещений.

         За время своего существования компания успела поработать со многими заказчиками, множество тренажеров поставлялось в разные отделения ОАО «РЖД». Таким образом, у компании накопился большой список реализованных объектов.

Отдельное внимание уделяется разработке тренажеров с использованием виртуальной или дополненной реальностей. Такие тренажеры позволяют обучающимся побывать в нестандартных ситуациях, непременно возникающих у работников железных дорог, которые может быть опасно или дорого сымитировать в реальной жизни, и которые требуют от сотрудника незамедлительных и решительных действий.

Из всего вышеперечисленного можно определить основную миссию компании — повышение квалификации сотрудников железнодорожной отрасли и подготовка качественных кадров, имеющих опыт взаимодействия с системами, используемыми в индустрии, таким образом повышая скорость, безопасность и объем перевозок, а также качества обслуживания на железнодорожном транспорте.

Цели компании:

–       Создание аппаратных тренажерных комплексов, которые будут отражать современное оборудование и механизмы, используемые в отрасли на сегодняшний день;

–       Разработка виртуальных тренажеров, с помощью которых можно получить практический опыт, участвуя в процессах, протекающих при выполнении должностных обязанностей сотрудниками железнодорожных линий.

–       Создания виртуальных 3D-макетов различных механизмов или их отдельных частей с учебно-методическими пособиями в комплекте, которые позволяют детальней изучить принципы работы моделируемого объекта.

–       Предоставление теоретических знаний в выпускаемых книгах, журналах, на плакатах и электронных ресурсах, которые простым и доступным языком объяснят все тонкости работы будущим железнодорожникам.

–       Проектирование оснащения учебных лабораторий и кабинетов с тренажерными комплексами.

–       Оснащение учебных лабораторий, начиная от разработки проекта оснащения до укомплектования всеми необходимыми тренажерами, учебными пособиями и материалами.

–       Популяризация знаний и вовлечение большего количества людей в железнодорожную индустрию.

1.1.2 ЭКОНОМИЧЕСКИЙ АНАЛИЗ ДЕЯТЕЛЬНОСТИ ОРГАНИЗАЦИИ

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

В различных регионах России (от европейской части до Дальнего Востока) оснащены аппаратными тренажерами 36 классов технической учебы дистанций сигнализации, централизации и блокировки, оборудовано 6 лабораторий СЦБ учебных заведений, из них 1 техникум в Республике Казахстан.

Большой прирост ко всем показателям компании произошел в 2013-2014 годах. От ОАО «РЖД» компании поступило предложение о тиражировании тренажерных комплексов, была налажена стабильная поставка тренажерных комплексов. «РЖД» включил тренажерные комплексы, разработанные НПЦ «НовАТранс», в инвестиционные программы.

Значительно увеличилось количество заказов на оснащение тренажерных комплексов: в 2014 году было реализовано 9 объектов в разных регионах страны. С тех пор объем заказов на оснащение тренажерных комплексов по всей стране в среднем 7 проектов в год. С ростом заказов компания начала активно расширять свой товарный портфель и принялась за разработку принципиально новых обучающих материалов, в том числе и виртуальные тренажеры.

За все время компанией было разработано 15 тренажеров в виртуальной реальности и реализован проект «Виртуальный наставник» с использованием технологий дополненной реальности, и темп разработки новых проектов не сбавляет оборотов.

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

С каждым годом появляется все больше новых методик и технологий, которые используются в шлемах виртуальности, а также наращиваются мощности существующих. Они позволяют пользователю получать более четкую и реалистичную картинку и удобные средства ориентирования в виртуальной реальности, что способствует более глубокому погружению и, как следствие, лучшему практическому опыту для обучающегося.

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

В связи с этим, по моему мнению, научно-производственный центр «НовАТранс», как производитель инновационных технологий и методик обучения, выбрал правильный вектор развития, ведя разработку виртуальных тренажеров и постепенно увеличивая количество производимой программной продукции в данной сфере.

1.1.3. ПРОГРАММНЫЕ И ТЕХНИЧЕСКИЕ СРЕДСТВА, ИСПОЛЬЗУЕМЫЕ В ОРГАНИЗАЦИИ

Разработка таких проектов в компании происходит с помощью платформы Unity — среды разработки в 3D и 2D. Unity используют для создания проектов в таких индустриях, как компьютерные игры, автоиндустрия, производство, кинематограф, анимация, архитектура, проектирование и строительство. Является одним из самых популярных 3D-движков для создания видеоигр и анимационных фильмов [9].

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

Выбор НПЦ «НовАТранс» пал на данный 3D-движок по нескольким причинам:

–       Кроссплатформенность Unity, позволяющая создавать как проекты с технологиями дополненной реальности для мобильных устройств, так и полноценные тренажеры в виртуальной реальности;

–       Простой и понятный интерфейс среды позволяет совместно работать в ней как программистам, так и художникам. Это значительно упрощает процесс разработки проекта и сокращает время, затрачиваемое на разработку;

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

–       Наличие официальной площадки Asset store, на которой распространяются игровые ресурсы, как платные, так и бесплатные. На данной площадке можно найти множество реализованных решений (3D-модели, изображения, аудиофайлы, анимации, инструменты разработки, реализованные алгоритмы и т.д.), которые можно без труда встроить в разрабатываемый проект.

–       Хорошая поддержка в виде подробной документации и множества обучающих материалов, что дает возможность команде быстро и просто решать поставленные задачи.

Для написания и редактирования программного кода используется программа Visual Studio. Этот редактор изначально поставляется вместе с движком и поддерживает язык программирования C#, на котором ведется разработка в Unity. Visual Studio обладает множеством современных средств и инструментов и всем необходимым функционалом для написания кода.

Для создания моделей объектов используется программа Maya – редактор 3D-графики и анимации компании Autodesk, Inc., активно использующийся в индустриях кино и видеоигр. Программа отличается широкими возможностями для визуализации трехмерной графики и своей гибкостью. Maya поддерживает возможность расширения своего функционала за счет внутреннего С-подобного языка программирования Maya Embedded Language (MEL). Это дает возможность сторонним разработчикам добавлять собственные инструменты для удобной работы внутри программы.

Для цветового оформления объектов используются программы Substance Designer и Substance Painter.

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

 Substance Painter позволяет настроить внешний вид трехмерной модели для последующего использования в Unity или других редакторах. Программа позволяет настроить свойства материала объекта; используемую текстуру, отражающую способность, шероховатость, цвет, карта нормалей, освещения, затенения и другие.

Для организации командной работы над проектами в «НовАТранс» используется распределенная система управления версиями Git.

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

В каталоге с файлами, над которыми ведется работа, создаются файлы конфигурации, журнал вносимых изменений и прочие служебные файлы системы, тем самым создается репозиторий Git, который выгружается на локальный, либо удаленный сервер. Сами изменения над исходными файлами производятся на компьютере сотрудника. Теперь, если изменения положительно сказались на работе проекта, то их можно внедрить в стабильную версию проекта, которая хранится на сервере.

В организации для размещения репозиториев проектов используется веб-сервис GitHub. Это крупнейший хостинг проектов, который позволяет вести их совместную разработку.

Управление Git осуществляется с помощью специальных команд с параметрами, вводимых из командной строки. За счет того, что вся конфигурация данной системы хранится в текстовых файлах, система получила множество графических оболочек от сторонних разработчиков, содержащих интерфейс для более быстрого и удобного взаимодействия пользователя с системой.

  1. Архитектура ПО: разница между архитектурой и проктированием: [Электронный ресурс]. Режим доступа: https://medium.com/nuances-of-programming
  2. Алгоритм diamond-square: [Электронный ресурс]. Режим доступа: https://gamedev.ru/code/forum/?id=176676
  3. Блендинг террейна и меша в Unity: [Электронный ресурс]. Режим доступа: https://habr.com/ru/company/otus/blog/504554/
  4. Введение в делегаты C#: [Электронный ресурс]. Режим доступа: https://tproger.ru/translations/dotnet-delegates/
  5. Википедия – свободная энциклопедия: [Электронный ресурс]. Режим доступа: https://ru.wikipedia.org/
  6. Генерация трехмерных ландшафтов: [Электронный ресурс]. Режим доступа: https://www.ixbt.com/video/3dterrains-generation.shtml
  7. Ермаков С. М. Случайные и псевдослучайные числа: [Электронный ресурс]. Режим доступа: https://www.booksite.ru/fulltext/1/001/008/103/394.htm
  8. Как работает рендеринг 3D-игр: освещение и тени: [Электронный ресурс]. Режим доступа: https://habr.com/ru/post/501438/
  9. Манипуляция мешами в реальном времени на Unity: [Электронный ресурс]. Режим доступа: https://habr.com/ru/post/428796/
  10. ООП в картинках. AlexBin: [Электронный ресурс]. Режим доступа: https://habr.com/ru/post/463125/
  11. Основы LINQ: [Электронный ресурс]. Режим доступа: https://metanit.com/sharp/tutorial/15.1.php
  12. Отбор проб Пуассона: [Электронный ресурс]. Режим доступа: https://www.jasondavies.com/poisson-disc/
  13. Официальный сайт НПЦ «НовАТранс»: [Электронный ресурс]. Режим доступа: http://npcat.ru
  14. Официальный сайт Unity: [Электронный ресурс]. Режим доступа: https://unity.com
  15. Пишем настоящий шум Перлина: [Электронный ресурс].  Режим доступа: https://habr.com/ru/post/265775/
  16. Процедурная Генерация Контента: [Электронный ресурс].  Режим доступа: https://nauchkor.ru/uploads/documents/587d362e5f1be77c40d588b6.pdf
  17. Процедурный шум и мультивариантный тайлинг: [Электронный ресурс]. Режим доступа: https://cyberleninka.ru/article/n/protsedurnyy-shum-i-multivariantnyy-tayling/viewer
  18. Применение процедурных генераторов в создании контента для real-time 3D приложений: Часть 1. Oil Rush: [Электронный ресурс].  Режим доступа: https://habr.com/ru/company/unigine/blog/167075/
  19. Программирование CG/Unity: [Электронный ресурс].  Режим доступа: https://en.wikibooks.org/wiki/Cg_Programming/Unity
  20. Процедурная гидрология: динамическая симуляция рек и озёр: [Электронный ресурс].  Режим доступа: https://habr.com/ru/post/498290/
  21. Рисователь биомов: наполняем содержанием огромный мир: [Электронный ресурс].  Режим доступа: https://habr.com/ru/post/343234/
  22. Системные требования для Unity3: [Электронный ресурс].  Режим доступа: https://docs.unity3d.com/Manual/system-requirements.html#editor
  23. Симуляция эрозии рельефа на основе частиц: [Электронный ресурс].  PatientZero.Режим доступа: https://habr.com/ru/post/496762/
  24. Создание игр Unity с помощью Visual Studio: [Электронный ресурс].  Режим доступа: https://visualstudio.microsoft.com/ru/vs/unity-tools/
  25. Фильтрация выборки и проекция на C#: [Электронный ресурс]. Режим доступа: https://metanit.com/sharp/tutorial/15.2.php
  26. Что такое шейдеры? Просто о сложном для начинающих: [Электронный ресурс]. Режим доступа: https://coremission.net/gamedev/chto-takoe-sheidery/
  27. Шум Перлина, процедурная генерация контента и интересное пространство: [Электронный ресурс].  Режим доступа: https://habr.com/ru/post/440286/
  28. Appendix E. Cg Стандартная библиотека функций: [Электронный ресурс].  Режим доступа: http://developer.download.nvidia.com/CgTutorial/cg_tutorial_appendix_e.html
  29. C# и .NET | Лямбды: [Электронный ресурс]. Режим доступа: https://metanit.com/sharp/tutorial/3.16.php
  30. C# and Shader Tutorials: [Электронный ресурс]. Режим доступа: https://catlikecoding.com/unity/tutorials/
  31. Height Maps: [Электронный ресурс].  Режим доступа: http://pcg.wikidot.com/pcg-algorithm:heightmap
  32. Perlin Noise: [Электронный ресурс]. Режим доступа: http://pcg.wikidot.com/pcg-algorithm:perlin-noise
  33. Poisson Disc Sampling: [Электронный ресурс]. Режим доступа: https://medium.com/@hemalatha.psna/implementation-of-poisson-disc-sampling-in-javascript-17665e406ce1
  34. Polygonal Map Generation for Games: [Электронный ресурс]. Режим доступа: http://www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/
  35. Procedural Content Generation Wiki: [Электронный ресурс]. Режим доступа: http://pcg.wikidot.com/pcg-algorithm:map-generation
  36. Procedural Texture: [Электронный ресурс]. Режим доступа: http://pcg.wikidot.com/pcg-algorithm:procedural-texture
  37. Procedural Landmass Generation (E12: normals) : [Электронный ресурс]. Режим доступа: https://www.youtube.com/watch?v=NpeYTcS7n-M&list=PLFt_AvWsXl0eBW2EiBtl_sxmDtSgZBxB3&index=13&t=0s
  38. Terrain Generation Tutorial: Introduction: [Электронный ресурс]. Режим доступа: http://www.stuffwithstuff.com/robot-frog/3d/hills/index.html
  39. Unity: процедурное редактирование Mesh: [Электронный ресурс]. Режим доступа: https://www.pvsm.ru/c-2/311727
  40. Unity3D tips and tricks 2: [Электронный ресурс]. Режим доступа: https://habr.com/ru/post/327304/

Эта работа не подходит?

Если данная работа вам не подошла, вы можете заказать помощь у наших экспертов.
Оформите заказ и узнайте стоимость помощи по вашей работе в ближайшее время! Это бесплатно!


Заказать помощь

Похожие работы

ВКР Программирование
2019 год 78 стр.
Разработка сайта ООО Бизнес-коннект
antiplagiatpro
ВКР Программирование
2020 год 61 стр.
Разработка Web - приложения для ООО ИЗВА с. Ишлеи
antiplagiatpro
ВКР Программирование
2020 год 90 стр.
Разработка сайта для образовательного учреждения
antiplagiatpro

Дипломная работа

от 2900 руб. / от 3 дней

Курсовая работа

от 690 руб. / от 2 дней

Контрольная работа

от 200 руб. / от 3 часов

Оформите заказ, и эксперты начнут откликаться уже через 10 минут!

Узнай стоимость помощи по твоей работе! Бесплатно!

Укажите дату, когда нужно получить выполненный заказ, время московское