УДК 004.42:
О.А. Чагай
БАЗОВЫЕ ПРИЕМЫ И АСПЕКТЫ ПРОЕКТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ НА ОСНОВЕ ТРЕХМЕРНЫХ МОДЕЛЕЙ ДЛЯ REAEПME-ВИЗУАЛИЗАЦИИ
Рассмотрены базовые приемы и аспекты проектирования программного обеспечения, на котором осуществляется работа с разработанными 3D-моделями. Для наглядного отображения структуры приложений и их поведения используются диаграммы UML. Трехмерные модели представляют собой модели, предназначенные для визуализации в режиме RealTime. Так как модели для визуализации в режиме RealTime имеют достаточно широкую область применения. Прежде всего, особое внимание уделяется вопросам проектирования процессов разработки таких моделей, а также аспектам проектирования приложений, использующих подобные модели. Для создания моделей используются приемы, предполагающие получение моделей пригодных для рендера с большой скоростью. Частота обновления кадров должна быть не меньше 25 кад/сек. Для создания реалистичности используются карты неровностей, карты нормалей, каналы цвета и прозрачности. Низкополигональные 3D-модели элементов территории города, предназначенные для визуализации в режиме RealTime. В указанных условиях требуется соблюдение баланса относительно высокого качества модели и низких ресурсных затрат.
Ключевые слова: визуализация, реальное время, 3D-модель, низкополигональные модели, модель города.
Введение
Во многих областях, таких как строительство, архитектура, образование и культура, реклама и развлечения и т.п. востребована визуализация 3D-моделей городских застроек [2].
3D-модели городских застроек используют в качестве презентационных материалов, позволяющих увидеть, как будет выглядеть спроектированная территория. Перемещаясь по 3D-модели, можно совершить виртуальный проезд по дороге, а также рассмотреть любой участок проекта [3]. Также модели
ISSN 0236-1493. Горный информационно-аналитический бюллетень. 2016. № 12. С. 368-379. © 2016. О.А. Чагай.
используют в различных автосимуляторах, компьютерных играх и автотренажерах.
Для визуализации в режиме RealTime требуется соблюдение баланса относительно высокого качества модели и низких ресурсных затрат. Целевым показателем является частота воспроизведения модели на экране (FPS — Frames per second), которая должна быть не ниже 25 кадров в секунду[11]. Решением указанной проблемы является формирование низкополигональных моделей, основанных на относительно простой геометрии, построенной на принципах поверхностного моделирования. Значительную роль в таких моделях играет подготовка растровых текстур в различных каналах. Поверхности с текстурами в канале прозрачности позволяют имитировать относительно тонкие конструкции — заборы, ограждения дорог, листву, вышки ЛЭП. Так как городские ландшафты не являются типовыми, появляется необходимость разработки собственных моделей. Таким образом, целесообразно производить моделирование геометрии и ее текстурирование вручную. Для получения точного расположения зданий используются спутниковые снимки и фотографии местностих [6, 7].
Модели для визуализации в режиме реального времени имеют достаточно широкую область применения, как в виде виртуальных туров, так и в составе специальных приложений. Исходя из этого, следует уделить особое внимание вопросам проектирования процессов разработки таких моделей, а также аспектам проектирования приложений, использующих подобные модели.
Актуальность 3D-моделирования городских ландшафтов
В настоящее время существует множество сфер деятельности, в которых для принятия каких-либо решений необходимо наглядно представлять, как выглядит определенный участок местности сейчас и как будет выглядеть после каких-либо преобразований. В таких случаях часто используют макеты местности. Тем не менее, у макета есть свои недостатки:
• в готовый макет относительно трудно вносить изменения;
• макет не позволит детально представить значительные по площади территории;
• на макете бывает сложно рассмотреть детализацию объектов.
Следовательно, необходимо заменить его на более современный и мощный инструмент — создание 3D-модели местности с помощью компьютерных средств[1]. Таким образом, появляет-
ся возможность создавать более детальные участки местности и визуализировать их в режиме реального времени.
Для более эффективной визуализации в RealTime следует использовать упрощенную 3D-модель объекта, которая будет отвечать требованиям конкретной цели, с учетом уменьшения детализации в пользу реалистичного текстурирования. Объект строится из набора полигонов, после чего на него накладываются текстурные изображения, созданные в 2D редакторе. Также для текстурирования используют обработанные снимки, отснятые на цифровой фотоаппарат. Сама модель может быть упрощенной и менее детализированной [5]. Для более эффективного процесса трехмерные объекты часто получают путем выдавливания зданий по их двумерным границам на плане города [4].
Актуальность визуализации в режиме реального времени
Одна из актуальных проблем в компьютерной графике — фотореалистичная визуализация в режиме реального времени, которая представляет собой изображение модели, неотличимого от настоящей фотографии [2].
Визуализация в режиме реального времени используется для решения ряда задач, одной из которых является реализация систем виртуальной реальности. Также визуализация в RealTime применяется для имитационно-тренажерных комплексов. В последнее время широкое распространение получило обучение на компьютерных тренажерах или симуляторах. Этому поспособствовали высокая цена и небезопасность тренировок с использованием реальной техники. Вследствие чего началось активное развитие имитаторов, заставляя обращать внимание различных учебных заведений на виртуальные и конструктивные тренировки. Одним из примеров тренажерного комплекса является тренажер-автосимулятор. На его информационные экраны вместо реальных изображений отображается то, что попадает в поле зрения виртуальных камер в трехмерной сцене.
Для получения фотореалистичности модели необходима высокая степень детализации объекта. Процесс визуализации таких моделей — ресурсоемкий. Исходя из этого для визуализации в режиме реального времени, высоко детализированная модель может быть очень сложна. Таким образом, целесообразно создать такие модели, которые позволят найти компромисс между фотореалистичностью и их сложностью [2].
В рамках работы решаются задачи проектирования процессов разработки трехмерных моделей городской территории,
пригодных для Realtime-визуализации, а также проектирование информационного и программного обеспечения для работы с указанными моделями.
Работа с моделями включает следующие этапы:
• проанализировать карты местности;
• разработать геометрию низкополигональных моделей;
• подготовить и наложить материалы;
• текстурирование и окончательная обработка моделей;
• визуализировать модель города.
Требования, которым должна удовлетворять разрабатываемая модель города:
• реалистичность и достоверность;
• работа в режиме RealTime;
• невысокие системные требования к аппаратному комплексу.
Показатели, по которым оценивается эффективность модели для RealTime визуализации:
• FPS (Frames per second) — не менее 25 кадров в секунду
• количество полигонов — то количество, которое достаточно для визуального восприятия.
Рассмотрим более подробно процессы разработки 3D-модели в режиме RealTime. Для данной задачи построена функциональная модель, целью которой является определение процессов разработки 3D-модели в режиме RealTime (рис. 1, 2).
На уровне «TOP» в рамках рассматриваемой модели определена главная функция «Разработать 3D-модель в режиме Real Time», результатом которой будет 3D-модель. На входе показаны объекты, которые будут преобразованы функцией: на основе спутникового снимка определяются границы местности, построение моделей осуществляется по фотографиям местности, на готовые модели зданий накладываются текстуры. В качестве механизма данной функции выступают 3D-моделер и художник по текстурам. Построение моделей выполняется в соответствии со сведениями о зданиях.
На первом уровне декомпозиции функциональной модели (рис. 2) показаны основные этапы разработки 3D-модели и их последовательность. Также показан альтернативный результат.
Рассмотрим вопросы проектирования архитектуры программного обеспечения приложений, осуществляющих работу с разработанными 3D-моделями. Для отображения структуры приложений и их поведения построены диаграммы UML [8].
Диаграмма вариантов использования (рис. 3) отображает функции приложения. Пользователь может осуществлять соз-
используется в: автор: Чагай дата: 08.12.2015 ■ разрабатывается читатель дата КОНТЕКСТ:
проект: ревизия: 22.12.2015 черновик
рекомендовано ВЕРХ
замечания: 1 2 3 4 5 6 7 9 10 публикация
Сведе зда
ния о
1ЯХ
Спутниковый снимок
Фотографии местности
Текстуры
Разработать ЗО-модель в режиме РеаГПте
ЗР-модель
АО
ЦЕЛЬ: Определить процессы разработки ЗО-модели в режиме РеаГПте
ТОЧКА ЗРЕНИЯ: Разработчик
31)
Худе
Моделер текстурам
Ветка: А-0
Название:
Разработать ЗО-модель в режиме РеаПте
Номер: 1
Рис. 1. Уровень «ТОР» функциональной модели
ИСПОЛЬЗУЕТСЯ В: АВТОР: Чагай ДАТА: 08.12.2015 ■ РАЗРАБАТЫВАЕТСЯ ЧИТАТЕЛЬ ДАТА КОНТЕКСТ:
ПРОЕКТ: РЕВИЗИЯ: 22.12.2015 ЧЕРНОВИК
РЕКОМЕНДОВАНО
ЗАМЕЧАНИЯ: 123456789 10 ПУБЛИКАЦИЯ
Сведения о зданиях
Спутниковый снимок
Фотографии местности
Сделать разметку местности
А1
Текстуры
План местности
Построить модели зданий
А2
30 Моделер
Подготовить текстуры
АЗ
Художник по
текстурам
Т
Некорректное отображение текстуры
текстурная карта
Наложить текстуры
А4
Модель без текстуры
ЗО-модейь
Название:
Разработать ЗО-модель в режиме ЯеаШте
Номер: 2
Рис. 2. Первый уровень декомпозиции функциональной модели
Рис. 3. Диаграмма вариантов использования
дание, загрузку, визуализацию и сохранение сцены, а также импортирование и текстурирование моделей.
Диаграмма состояний (рис. 4) отображает, как в приложении осуществляется переход из одного состояния в другое при выполнении команд пользователем, которые связанны с работой над созданием сцены с 3D-моделями. А именно ожидает загрузку модели, производит текстурирование модели, осуществляет создание сцены, ее визуализацию и сохранение.
Диаграмма «Activity» (рис. 5) отображает процессы приложения (на диаграмме «Система») при взаимодействии пользователя на него. При выполнении команд пользователем таких как «Загрузить модель» или «Наложить текстуру на модель» приложение осуществляет проверку на наличие загруженных моделей и текстур. Далее приложение производит отображение моделей. После чего пользователь настраивает параметры для визуализации сцены.
Рис. 4. Диаграмма состояний
Диаграмма классов (рис. 6) отображает взаимосвязь классов объектной модели для сцены и объекты в ней, их атрибуты и их методы.
Рис. 6. Диаграмма классов
Рис. 7. Диаграмма последовательности
Диаграмма последовательности (рис. 7) отображает вызовы команд пользователем и взаимодействие объектов в приложении. Пользователь посредством пользовательского интерфейса вызывает методы загрузки и сохранения. Загрузка происходит с помощью метода Load(), загрузка сцены — LoadScene(), загрузка объекта — LoadObject(), загрузка материала — LoadMaterial(), сохранение сцены — SaveScene(), визуализация — Draw().
Таким образом, на основе диаграмм была показана функциональная работа архитектуры ПО, в котором используются 3D-модели [9, 10].
После проектирования программного обеспечения следует рассмотреть аппаратное обеспечение, на котором будет производиться работа с 3D-моделями.
Рис. 8. Диаграмма компонентов 376
Рис. 9. Диаграмма развертывания
Диаграмма компонентов (рис. 8) отображает основные модули приложения: визуализация сцены и интерфейса, подсистемы загрузки текстур и моделей, базы данных моделей и текстур.
Подсистема визуализации интерфейса отображает элементы управления для пользователя.
Подсистема визуализации сцены позволяет произвести отображение сцены.
Подсистема загрузки моделей и текстур получают данные из баз данных моделей и текстур соответственно.
На диаграмме развертывания (рис. 9) показаны аппаратные средства, на которых производится работа с 3D-моделями. Работа приложений производится на персональном компьютере. Базы данных моделей и текстур хранятся на внешних накопителях памяти, связь с которыми производится через USB. Таким образом, показаны компоненты и архитектура аппаратного обеспечения, где производится работа с 3D-моделями и их визуализация.
В ходе работы выявлены задачи и требования к построению моделей. Произведено проектирование информационного, программного обеспечения приложений, осуществляющих работу с разработанными трехмерными моделями. Построена база данных, обеспечивающая хранение данных о моделях и материалах. Произведено моделирование процессов разработки 3D-модели в режиме RealTime. Также разработаны процессы на примере использования модели городской территории.
Результатом является 3D-модель участка города, которая сделана на основе спутниковых снимков, фотографий местности и текстур.
СПИСОК ЛИТЕРАТУРЫ
1. Статья о трехмерных моделях городского ландшафта. — URL: http://www.panorama.kharkov.ua/articles/rarticle.htm?page=13
2. Осипов М. П. Фотореалистичное моделирование и визуализация районов городской среды. Учебно-методическое пособие. — Нижний Новгород: ННГУ, 2014. - С. 50.
3. Райкова Л. С., Анисимов С. С., Петренко Д. А. Статья о 3D-визуализации // САПР и ГИС автомобильных дорог. — 2014. -№1(2). — С. 20—24.
4. Скременский Я. С. Построение 3D моделей городов на основе средств CITYGML. Реферат. — Томск, 2013.
5. Логинова М.И., Рудов И.Н., Барышев Р. А. О методиках создания сложных 3D-моделей под требования технологии 3D-engine / Молодежь и наука: Сборник материалов VII Всероссийской научно-технической конференции студентов, аспирантов и молодых ученых. — Новосибирск, 2011.
6. Чагай О. А. Приемы и подходы к разработке низкополигональных геометрических моделей элементов территории города / Нейрокомпьютеры и их применение: межвузовская научно-практическая конференция. — М., 2016. — С. 102.
7. Чагай О. А. Подготовка моделей для визуализации элементов антуража дорог в режиме RealTime / 71-е дни науки: межвузовская научно-практическая конференция. — М., 2016. — С. 720.
8. Терехов А. Н. и др. Real: методология и CASE-средство для разработки систем реального времени и информационных систем / Программирование. Т. 5. — 1999. — С. 44—52.
9. Orlikowski W. J. CASE tools as organizational change: Investigating incremental and radical changes in systems development // MIS quarterly. — 1993. — С. 309—340.
10. Orlikowski W. J. Division among the ranks: The social implications of CASE tools for system developers. — Center for Information Systems Research, Sloan School of Management, Massachusetts Institute of Technology, 1989. — pp. 199—210.
11. Akenine-Moller T., Haines E, Hoffman N. Real-time rendering. — CRC Press, 2008. ЕШ
КОРОТКО ОБ АВТОРE
Чагай О.А. — студент, e-mail: [email protected], НИТУ «МИСиС».
UDC 004.42:
Gornyy informatsionno-analiticheskiy byulleten'. 2016. No. 12, pp. 368-379. O.A. Chagay
BASIC TECHNIQUES AND ASPECTS OF SOFTWARE ENGINEERING BASED ON TREE-DEMENSIONAL MODELS FOR REALTIME VISUALIZATION
This article describes the basic techniques and aspects of software design, where the work is carried out with the developed 3D models. Visualize and understand the application
structure and behavior UML diagrams are used. Three-dimensional models are models intended for visualization in RealTime mode.
As the model is rendered in RealTime mode have a fairly broad scope. First of all, special attention is paid to issues of design processes for the development of models, as well as the aspects of the design of applications that use such models. Also important to consider the processes of developing the 3D model in RealTime mode.
To create models, use techniques involving obtaining models suitable for rendering at high speed. Refresh rate should not be less than 25 FPS. To create a realistic bump map uses, normal maps, color channels, and transparency.
Low poly 3D-model of the elements of the city, designed to render in RealTime mode. Under these conditions requires maintaining a balance of relatively high quality models and low resource costs
Key words: rendering, real-time, 3D model, low poly model, the model of the city.
AUTHOR
Chagay O.A, Student, e-mail: [email protected], National University of Science and Technology «MISiS», 119049, Moscow, Russia.
REFERENCES
1. Stat'ya o trekhmernykh modelyakh gorodskogo landshafta, available at: http://www. panorama.kharkov.ua/articles/rarticle.htm?page=13
2. Osipov M. P. Fotorealistichnoe modelirovanie i vizualizatsiya rayonovgorodskoy sredy. Uchebno-metodicheskoe posobie (Photorealistic modelling and rendering of urban environments. Textbook), Nizhniy Novgorod, NNGU, 2014, pp. 50.
3. Raykova L. S., Anisimov S. S., Petrenko D. A. SAPR i GIS avtomobil'nykh dorog. 2014, no 1(2), pp. 20-24.
4. Skremenskiy Ya. S. Postroenie 3D modeley gorodov na osnove sredstv CITYGML. Referat (Generation of 3D city models based on CITYGML funds. Abstract), Tomsk, 2013.
5. Loginova M. I., Rudov I. N., Baryshev R. A. Molodezh' i nauka: Sbornik materialov VII Vserossiyskoy nauchno-tekhnicheskoy konferentsiistudentov, aspirantov i molodykh uche-nykh (Youth and science: Collection of materials of VII all-Russian scientific-technical conference of students, postgraduates and young scientists dedicated), Novosibirsk, 2011.
6. Chagay O. A. Neyrokomp'yutery iikhprimenenie: mezhvuzovskaya nauchno-praktich-eskaya konferentsiya (Neurocomputers and their application: mezhvuz. scientific.-pract. conference), Moscow, 2016, pp. 102.
7. Chagay O. A. 71-e dni nauki: mezhvuzovskaya nauchno-prakticheskaya konferentsiya (71-e days of science: interuniversity collection. scientific.-pract. conference), Moscow, 2016, pp. 720.
8. Terekhov A. N. Programmirovanie. T. 5. (Programming, vol. 5), 1999, pp. 44-52.
9. Orlikowski W. J. CASE tools as organizational change: Investigating incremental and radical changes in systems development. MIS quarterly. 1993, pp. 309-340.
10. Orlikowski W. J. Division among the ranks: The social implications of CASE tools for system developers. Center for Information Systems Research, Sloan School of Management, Massachusetts Institute of Technology, 1989. pp. 199-210.
11. Akenine-Moller T., Haines E., Hoffman N. Real-time rendering. CRC Press, 2008.