ВВЕДЕНИЕ 3
1 Анализ предметной области 5
1.1 Описание модуля 5
1.2 Входные данные 5
1.3 Алгоритмы преобразования растровой модели в полигональную 6
1.4 Методы оптимизации полученных моделей 8
1.5 Выбор технологий для реализации 9
1.6 Обзор аналогов 10
2 Теоретическая часть (алгоритмы и структуры данных) 12
2.1 Структуры данных 12
2.1.1 Quad-Edge 12
2.1.2 Дерево квадрантов (quadtree, квадродерево) 15
2.2 Используемые алгоритмы 16
2.2.1 Итеративное построения триангуляции Делоне с использованием
структуры Quad-Edge 16
2.2.2 Модифицированный алгоритм итеративного построения триангуляции для иерархического разбиения на основе квадродерева .. 17
2.2.3 Визуализация полигональной модели с уровнями детализации
используя иерархию на основе квадродерева 21
2.2.4 Алгоритм создания «юбок» 23
3 Реализация 25
3.1 Серверная часть 25
3.1.1 Используемые библиотеки 25
3.1.2 Программа 26
3.2 Клиентская часть 33
3.2.1 Используемые библиотеки 33
3.2.2 Программа 34
3.3 Клиент-серверное взаимодействие 36
3.4 Тестирование 40
ЗАКЛЮЧЕНИЕ 42
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ 43
Актуальность работы
Сегодняшний мир вычислительной техники все больше смещается в сторону веб технологий и интернета. В этом контексте, трехмерная визуализация и отображение больших поверхностей в реальном времени в веб¬приложениях является актуальной и значимой задачей.
Проблема оптимизации отображений известна и исследовалась ещё с конца 20го века. Эффективная визуализация подобных структур требует разработки и применения высокопроизводительных алгоритмов и технологий, способных обрабатывать и отображать огромные объемы данных с минимальными затратами ресурсов. Одной из основных целей исследования в этой области является достижение оптимального баланса между качеством визуализации, быстродействием и потреблением ресурсов.
Разработка подходов к оптимизации стоит перед множеством вызовов, которые включают в себя уменьшение нагрузки на сеть путем эффективной компрессии данных, оптимизацию использования процессорного времени и памяти, а также минимизацию задержек при передаче данных для обеспечения реального времени взаимодействия.
Стоит отметить важность визуализации в трехмерном пространстве. Это является важной составляющей в различных секторах, таких как географическое моделирование, образование, инженерия, развлечения, и так далее. Трехмерная визуализация обеспечивает улучшенное понимание пространственной структуры данных, что может быть критичным в некоторых областях применения. Она позволяет представить информацию в более наглядной, доступной и впечатляющей форме, что значительно облегчает восприятие и анализ данных.
Большинство инструментов для создания и визуализации полигональных моделей в настоящее время реализованы в специализированных приложениях и программном обеспечении, что может представлять собой определенные проблемы при их интеграции и использовании в различных контекстах. Это ограничивает их универсальность и влияет на степень их применимости в разнообразных ситуациях и областях деятельности. Проблема становится еще более значимой и актуальной в контексте веб-технологий.
Первоначальный замысел настоящей работы состоит в разработке библиотеки для трехмерной визуализации больших поверхностей в веб-приложениях, которая обладает вычислительной сложностью, допустимой для использования в реальном времени, и может быть легко интегрирована в веб-приложения.
Цели и задачи
Таким образом, была определена тема данной работы, а именно: разработка библиотеки для трехмерной визуализации больших геопространственных растровых данных в веб-приложениях
Для достижения этой цели требуется:
• Определить программы, в которых реализован подобный
функционал, и рассмотреть их алгоритмы
• Исследовать алгоритмы преобразования геопространственных
растровых данных (поверхности) в полигональную модель, пригодную для трехмерной визуализации в браузере
• Реализовать или применить выбранный алгоритм преобразования
• Исследовать методы оптимизации для обработки и визуализации полученной модели в реальном времени
• Реализовать или применить выбранный метод оптимизации
• Создать прототип веб-приложения для демонстрации возможностей и тестирования разработанного метода визуализации
Цель работы - разработка библиотеки для трехмерной визуализации больших геопространственных растровых данных в веб-приложениях - достигнута.
Таким образом, в результате работы над библиотекой компонентов были получены следующие результаты:
• Изучена предметная область, определены требования.
• Исследованы алгоритмы построения триангуляции и их генерализации.
• Изучены структуры данных QuadEdge и QuadTree.
• Разработан алгоритм для отображения полигональных моделей по частям - тайлам используя three.js.
• Разработан модуль для отображения полигональный сетки по тайлам (клиентская часть) и построения полигональной сетки по геопространственным растровым данным.
На данный момент ведётся внедрение реализованной библиотеки в коммерческий проект для достижения необходимого уровня представления местности.