Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Разработка алгоритмов построения, анализа и визуализации сверхбольших моделей поверхностей на основе мультитриангуляции Мирза Наталия Сергеевна

Разработка алгоритмов построения, анализа и визуализации сверхбольших моделей поверхностей на основе мультитриангуляции
<
Разработка алгоритмов построения, анализа и визуализации сверхбольших моделей поверхностей на основе мультитриангуляции Разработка алгоритмов построения, анализа и визуализации сверхбольших моделей поверхностей на основе мультитриангуляции Разработка алгоритмов построения, анализа и визуализации сверхбольших моделей поверхностей на основе мультитриангуляции Разработка алгоритмов построения, анализа и визуализации сверхбольших моделей поверхностей на основе мультитриангуляции Разработка алгоритмов построения, анализа и визуализации сверхбольших моделей поверхностей на основе мультитриангуляции Разработка алгоритмов построения, анализа и визуализации сверхбольших моделей поверхностей на основе мультитриангуляции Разработка алгоритмов построения, анализа и визуализации сверхбольших моделей поверхностей на основе мультитриангуляции Разработка алгоритмов построения, анализа и визуализации сверхбольших моделей поверхностей на основе мультитриангуляции Разработка алгоритмов построения, анализа и визуализации сверхбольших моделей поверхностей на основе мультитриангуляции
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Мирза Наталия Сергеевна. Разработка алгоритмов построения, анализа и визуализации сверхбольших моделей поверхностей на основе мультитриангуляции : Дис. ... канд. техн. наук : 05.13.11 Томск, 2006 130 с. РГБ ОД, 61:06-5/3033

Содержание к диссертации

Введение

Глава 1. Моделирование поверхностей 12

1.1. Введение 12

1.2. Исходные данные для построения моделей поверхности 12

1.3. Методы моделирования поверхностей 15

1.4. Триангуляция 19

1.4.1. Определения 19

1.4.2. Структуры данных для представления триангуляции 22

1.4.3. Проверка условия Делоне 28

1.4.4. Построение триангуляции Делоне 30

1.5. Моделирование больших поверхностей 34

1.5.1. Упрощение триангуляции 34

1.5.2. Триангуляция переменного разрешения 40

1.6. Моделирование сверхбольших поверхностей 48

1.7. Выводы 49

Глава 2. Построение и визуализация сверхбольших моделей поверхностей 50

2.1. Схема работы алгоритмов 50

2.2. Построение смежных триангуляции Делоне 51

2.3. Модификация мультитриангуляции 55

2.3.1. Общая идея 55

2.3.2. Разбиение МТ на части 56

2.3.3. Учёт структурных линий 58

2.3.4. Разбиение кластера МТ на блоки 59

2.3.5. Разбиение исходной триангуляции на части 60

2.4. Построение сверхбольшой мультитриангуляции 63

2.5. Управление оперативной памятью 66

2.6. Визуализация сверхбольшой МТ 69

2.7. Экспериментальное моделирование 70

2.7.1. Условия эксперимента 70

2.7.2. Выбор числа кластеров для сбалансированной К-МТ 71

2.7.3. Построение БК-МТ 73

2.7.4. Визуализация сверхбольшой БК-МТ 78

2.7.5. Критерий визуализации БК-МТ 79

2.8. Выводы 81

Глава 3. Анализ сверхбольших моделей поверхностей 84

3.1. Постановка задачи 84

3.2. Существующие решения 85

3.3. Восстановление топологической информации из МТ 87

3.3.1. Изменение структуры МТ 87

3.3.2. Извлечение топологической информации 92

3.4. Восстановление топологии из сверхбольшой МТ 95

3.5. Экспериментальное моделирование 96

3.5.1. Условия эксперимента 96

3.5.2. Оценка числа вырожденных случаев 97

3.5.3. Быстродействие алгоритма 97

3.6. Выводы 98

Глава 4. Модуль трёхмерной визуализации IndorViewer3D 100

4.1. Системы трёхмерного моделирования 100

4.1.1. Введение 100

4.1.2. Данные ГИС и САПР 100

4.1.3. Обзор существующих систем трёхмерной визуализации 103

4.2. IndorViewer3D 107

4.2.1. Архитектура IndorViewer3D 107

4.2.2. Навигация в IndorViewer3D 108

4.2.3. Обмен данными с ГИС и САПР 109

4.2.4. Применение IndorViewer3D в системе IndorCAD/Road ПО

4.2.5. Применение IndorViewer3D в системе IndorGIS 112

4.3. Выводы 114

Заключение 115

Литература

Введение к работе

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

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

Проблема 1. Построение и использование сверхбольших моделей поверхностей.

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

Основные классические результаты в области построения и анализа триангуляционных моделей данных получили Дж. Бентли, Г.Ф. Вороной, Б.Н. Делоне, Д. Киркпатрик, Р. Липтон, Ф. Препарата, Д. Роджерс, Р. Тарьян, М. Шей-мос. Самые современные и комплексные исследования в области построения и обработки триангуляционных моделей данных проведены в работах А.В. Скворцова.

Проблема 2. Эффективная обработка и визуализация сверхбольших моделей поверхностей.

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

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

Большой вклад в решение задачи разработки высокоэффективных алгоритмов обработки больших поверхностей внесли Е. Пуппо, Л. Де Флориани, П. Магилло, К. Де Берг, П. Сигнони, Р. Клейн, Дж. Кохен, П. Хекберт, М. Гарланд, X. Хоппе и др.

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

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

В рамках этой общей цели были поставлены и решены автором следующие задачи:

  1. Исследование существующих методов моделирования поверхностей.

  2. Разработка алгоритмов построения, обработки и визуализации сверхбольших моделей поверхностей.

  3. Разработка модуля трёхмерной визуализации данных графических систем классов ГИС и САПР внедрение его в коммерческие САПР IndorCAD и rHCIndorGIS.

Методы исследования.

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

Научная новизна.

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

  2. На основе классической мультитриангуляции (МТ) разработана модель данных «кластерная МТ (К-МТ)», граф которой состоит из ряда независимых подграфов (кластеров), что позволяет эффективно (быстро и с низкими затратами оперативной памяти) строить МТ и выполнять локальные модификации триангуляционной модели поверхности.

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

  1. Для блочно-кластерной МТ предложен алгоритм управления памятью, контролирующий загрузку и выгрузку блоков БК-МТ согласно заданному критерию детализации извлекаемой поверхности и в зависимости от объёма доступной оперативной памяти.

  2. Предложен алгоритм извлечения из МТ топологически связанной триангуляции требуемого уровня детализации, основанный на модифицированной структуре МТ, в которой для каждого треугольника хранятся 3 наиболее вероятных соседних треугольника. Полученный алгоритм имеет трудоёмкость 0(N) в среднем (по сравнению с 0(NlogN) у других известных алгоритмов).

Кроме того, алгоритм отличается низкими затратами по оперативной памяти.

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

Теоретическая и практическая ценность.

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

  2. Предложенные в работе структуры данных К-МТ и БК-МТ позволяют использовать параллельные вычисления для построения и обработки моделей поверхностей.

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

4. На базе предложенных автором алгоритмов разработан модуль трёхмерной визуализации данных, который может использоваться в графических системах классов ГИС и САПР. Модуль позволяет реалистично отображать объекты реального мира и эффективно обрабатывать огромные объёмы данных.

Внедрение результатов работы.

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

  2. На основе созданных автором алгоритмов разработан модуль трёхмерной визуализации данных, который встроен в коммерческие ГИС IndorGIS и САПР IndorCAD.

На защиту автором выносятся:

  1. Алгоритм построения сверхбольшой триангуляции Делоне, состоящей из смежных триангуляции Делоне.

  2. Кластерная и блочно-кластерная мультитриангуляция (МТ) и их применение для обработки сверхбольших моделей поверхностей.

  3. Асинхронный алгоритм управления степенью загрузки зависимых блоков бл очно-кластерной МТ.

  4. Алгоритм извлечения из МТ топологически связанной триангуляции.

  5. Разработанная совокупность алгоритмов для работы с МТ позволяет решать все основные задачи обработки сверхбольших моделей поверхностей: от построения до анализа и визуализации.

6. Библиотека процедур IndorTriangulation для моделирования сверх
больших моделей поверхностей и модуль трёхмерной визуализации данных 1п-
dorViewer3D.

Апробация работы.

Диссертационная работа и её разделы докладывались и получили положительную оценку специалистов на 7 конференциях всероссийского и международного уровней, в том числе на:

  1. XV Международной конференции по компьютерной графике и её приложениям «Графикон-2005» (Новосибирск, 2005).

  2. XLII и XLIII Международных студенческих конференциях «Студент и научно-технический прогресс» (Новосибирск, 2004, 2005).

  3. III и IV Всероссийских научно-практических конференциях «Информационные технологии и математическое моделирование» (Анжеро-Судженск, 2004, 2005).

  4. V Всероссийской конференции «Системы и средства автоматизации» (Томск, 2004).

5. VI Научно-практической конференции Тюменского проекти, и научно-исследовательского института нефтяной и газовой промышленности (Тюмень, 2006).

Публикации.

По результатам выполненных исследований автором опубликовано 14 печатных работ, в том числе 1 зарегистрированная программа для ЭВМ и 8 статей, из которых 4 в журналах из списка, рекомендованных ВАК.

Личный вклад.

Основные научные результаты получены автором самостоятельно. Постановка задачи была выполнена автором совместно с научным руководителем. Разработка предложенных алгоритмов и экспериментальное моделирование их работы была проведена единолично. Внедрение разработанных алгоритмов в САПР IndorCAD и ГИС IndorGIS было произведено автором совместно с научным руководителем и Петренко Д.А.

Структура диссертации.

Работа состоит из введения, 4 глав, заключения, списка литературы и приложения, включающего 1 документ о внедрении. Общий объём работы составляет 130 страниц, из них 2 страницы - приложение, 14 страниц - список литературы (114 названий). Текст работы иллюстрируется 50 рисунками и 7 таблицами.

Методы моделирования поверхностей

Сплайном п-й степени называется параметрическая кривая, заданная в виде функций X(t),Y(t), определенных на интервале от [t0,tm], и таких, что на каждом из интервалов [t{,tj+l], где tQ tx ... tm, эти функции эта является полиномом и непрерывно дифференцируема до п-\ порядка. Сплайны используются для аппроксимации сложных кривых на плоскости или в пространстве. Наиболее часто на практике используются кубические сплайны, в особенности локальные сплайны: В-сплайны (сглаживающие) и сплайны Кэтмула-Рома (интерполяционные) [19].

Аналогичным образом определяются сплайновые поверхности. При этом обычно на поверхности вводится двойная параметризация по и и v: и0 их ... ит, v0 v1 ... vk, тем самым разбивая всю область определения на регулярную сеть прямоугольников. На каждом из этих прямоугольников вводятся функцииХ(.7(и,у),} . j(u,v), являющиеся многочленами и-й степени по и и v. Кроме того, для всей сплайновой поверхности должны быть непрерывны все частные производные вплоть до п-\ порядка [19].

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

Именно поэтому в последние годы стали активно развиваться более сложные методы моделирования поверхностей на основе нерегулярных сетей высотных отметок - на основе триангуляции. Основная сложность в этих методах заключается в получении уравнений элементарных сплайновых поверхностей, определенных на треугольных фрагментах плоскости. Для этого на треугольниках триангуляции вводится барицентрическая (гомогенная) система координат u,v,w, где в качестве координат любой точки Р внутри треугольника ABC выступают площади треугольников АВР, ВСР, САР, нормированные на -площадь треугольника ABC. При этом очевидно, что и + v + w = 1. Среди разных форм записи сплайнов на треугольнике, наиболее часто на практике используется кубические патчи (англ. patch - заплатка, фрагмент) Безье: b(u,v) = = b300w3 + bQmu3 + b0Q3v3 +b2W3w2u + bm3wu2 +b20]3w2v + b02l3u2v + bl023wv2 + + bm23uv +bxu6wuv.

Кстати, в некоторых работах триангуляционные модели поверхности считаются частным случаем сплайновых (при /7 = 1) и называют билинейными моделями в противовес бикубическим, когда используются бикубические сплай-новые поверхности.

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

1. Непосредственно строится триангуляционная модель рельефа.

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

3. С помощью методов геостатистики (наиболее известных из которых является метод кригинга и множество его модификаций) выполняется интерполяция высотных отметок поверхности в промежуточных точках плоскости и формируется регулярная сетка, которая и передаётся в ГИС для последующей обработки. Дальнейшее рассмотрение геостатистических методов выходит за рамки данной работы.

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

Разбиение кластера МТ на блоки

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

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

Классическая структура МТ, построенная алгоритмами [40, 95], получается настолько «запутанной», что при детализации одного треугольника может возникнуть необходимость детализировать ещё некоторые другие треугольники (рис. 19), что в итоге приводит к необходимости иметь практически всю структуру МТ в оперативной памяти.

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

Для уменьшения взаимозависимости (снижения «запутанности») треугольников в работе автора [7] предложено изменить граф МТ таким образом, чтобы он состоял из нескольких независимых подграфов, т.е. подграфов, не связанными дугами. Это позволит оперативно работать с каждым из подграфов по отдельности. Изменённая структура МТ названа автором кластерной МТ (К-МТ).

Итак, рассмотрим предложенный автором алгоритм [7]. Алгоритм построения кластерной МТ. Шаг 1. Исходная триангуляция разбивается на части - невыпуклые триангуляции, чьи объемлющие прямоугольники не пересекаются между собой. Шаг 2. Внутри каждой триангуляции строятся кластеры К-МТ любым известным алгоритмом построения МТ. Шаг 3. Из оставшейся триангуляции путём упрощения до самого грубого фрагмента строится основная часть К-МТ. Конец алгоритма.

Трудоёмкость данного алгоритма O(N) и получается она следующим образом. За время O(N) можно разбить все точки триангуляции на части, затем в каждой части происходит упрощение триангуляции за время 0{Ni), где Nt -число удаляемых вершин. Так как .N{ N, то в итоге трудоёмкость составляет O(N), где N- число вершин в исходной триангуляции.

Для более эффективного управления доступной оперативной памятью, в работе автора [7] предлагается также упорядочить фрагменты внутри каждого кластера, чтобы появилась возможность частичной загрузки кластера согласно заданному критерию.

В алгоритме построения МТ [40] уже предпринималась попытка уменьшить «запутанность» графа МТ путём удаления исключительно несмежных узлов триангуляции на каждом шаге упрощения. В результате фрагменты, получаемые в результате удаления несмежных узлов, получались независимыми друг от друга, а зависели лишь от фрагментов последующих шагов упрощения (рис. 22).

Автором диссертации в работе [7] предложено объединить фрагменты, образованные на одном шаге упрощения триангуляции в один блок кластера К-МТ. В результате структура кластера будет выглядеть согласно рис. 23. При этом появляется возможность выгружать из памяти блоки кластера снизу вверх, последовательно уменьшая детализацию поверхности.

Такая мультитриангуляция, кластеры которой разбиты на блоки, автором названа блочно-кластерной МТ (БК-МТ).

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

Восстановление топологической информации из МТ

Автором в работе [5] предлагается решения проблемы соседства треугольника со многими другими треугольниками по одному ребру (см. рис. 35) путём следующего изменения структуры МТ.

Предложение 1. Хранить для каждого треугольника ссылки на 3 самых вероятных соседних треугольника.

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

Тем самым предоставляется возможность восстановления связей треугольников в извлечённой поверхности для типичного случая, когда один из треугольников поверхности ссылается на своего актуального соседа, а другой нет (рис. 36).

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

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

Для учёта такого вырожденного случая автором в работе [5] предложено следующее решение. Предложение 2. Хранить для каждого треугольника ссылки на 3 верхних и 1 нижний треугольник.

Для каждого треугольника необходимо хранить ссылки на верхние и нижний треугольники (рис. 38). Верхний треугольник детализирует треугольник по заданному ребру, а нижний - упрощает. Заметим, что детализировать треугольник можно по каждому из трёх рёбер, а вот упрощение возможно лишь по одному ребру, так как два других будут удалены при удалении узла триангуляции (см. рис. 38).

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

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

Описание алгоритма: Алгоритм представляет собой две процедуры. Первая процедура работает во время создания нового треугольника МТ. Она заполняет ссылки на самых вероятных его соседей. Однако для некоторого треугольника МТ соседним может оказаться треугольник, который пока ещё отсутствует в МТ. Поэтому предлагается хранить вспомогательный список таких «отсутствующих» треугольников, в каждом элементе которого будет записано пустое значение, пока треугольник отсутствует в МТ. По мере создания треугольников список будет заполняться ссылками на уже существующие треугольники. Следовательно, если необходимо установить ссылку на соседний треугольник, который отсутствует в МТ, то в списке отсутствующих треугольников создаётся новый элемент с пустым значением, а в качестве соседнего треугольника устанавливается ссылка на номер элемента в этом cgjftSjKgfl же процедура работает после завершения построения МТ и устанавливает всем треугольникам, ссылающимся на некоторые ранее несущество-вавшие треугольники, ссылки на уже созданные треугольники, хранящиеся в списке отсутствующих треугольников. 1. Алгоритм создания треугольника МТ. Входные данные . 1. Треугольник Тг исходной триангуляции, из которого создаётся треугольник МТ. 2. Список отсутствующих треугольников Trianglelnds, для которого определены стандартные операции (Add, Count, []).

Чтобы восстановить из предложенной МТ связи всех треугольников уже извлечённой поверхности, автором в работе [5] предложен следующий алгоритм.

Алгоритм восстановления топологической информации Входные данные: Список треугольников извлечённой из МТ поверхности. Выходные данные: топологически связанная поверхность. Процедуры и функции:

1. IsExtracted (Т: MTTriangle): boolean - принадлежит ли Т извлечённой поверхности.

2. SaveAdjTrInfo(T: MTTriangle; і: integer) - сохраняет ссылку на i-ого соседа Т во временном буфере.

3. FindLow(Up)Triangle(TT, Т: MTTriangle): MTTriangle - находит нижний (верхний) треугольник ТТ смежный с Т, который принадлежит извле чённой поверхности.

Обзор существующих систем трёхмерной визуализации

Обычно все данные ГИС и САПР можно представить в виде следующих слоев: 1. Слой точечных объектов. 2. Слой линейных объектов. 3. Слой площадных объектов. 4. Модели рельефа.

Отображение слоя данных в ЗО-виде производится с помощью технологии ActiveX через реализацию специального интерфейса. Общая идея отображения данных заключается в следующем: 1. IndorViewer3D запрашивает число слоев для отрисовки в 3D, затем границы модели мира, начальное положение и направление камеры. 2. Для каждого слоя запрашивается его прозрачность. 3. Запрашивается число подуровней в слое. 4. Запрашивается число элементов в подуровне слоя. 5. Для каждого элемента запрашивается его тип (точечный, линейный или площадной). 6. В зависимости от типа элемента запрашивается информация о точечном, линейном или площадном объекте, где содержится его детальное описание (стиль отображения, текстуры, материал и др.) 7. В зависимости от типа элемента запрашивается геометрия (трёхмерные координаты) точечного, линейного или площадного объекта. IndorViewer3D в зависимости от полученной информации об объекте формирует список текстур и мешей (трёхмерных триангуляционных моделей) DirectX, которые потом ассоциируются с объектом и могут быть получены при последующих обращениях (если при очередном обращении возвращается пустой список текстур или мешей, то они генерируются заново).

Система IndorCAD/Road позволяет проектировать автомобильные дороги всех категорий на стадии их строительства, реконструкции и ремонта [14]. В основу идеологии системы положены, в первую очередь, расчётные схемы для реконструкции дорог. Новое строительство здесь понимается как частный случай реконструкции, то есть в отсутствии фактора учёта элементов существующей дороги.

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

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

В системе IndorCAD/Road можно задать траекторию проезда (пролета) по проектируемому объекту и записать проезд в видео-файл формата AVI, чтобы в последующем осуществлять его передачу для просмотра без системы проектирования. Кроме того, имеется возможность произвольного проезда по проектируемой дороге с помощью управления стандартным игровым тренажером типа «руль с педалями» (рис. 49). Это создает практически полную имитацию движения по проектируемой (виртуальной) дороге, на которой к тому же может случайным образом генерироваться транспортный поток. Такой подход способствует выработки обоснованных проектных решений, повышающих удобство и безопасность движения.

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

Универсальная геоинформационная система IndorGIS обладает возможностями полнофункциональной ГИС с элементами САПР [15]. Концептуально система IndorGIS состоит из ядра системы и различных проблемно-ориентированных надстроек. Ядро системы отвечает за базовые операции по манипуляции с абстрактными документами, слоями, визуализаторами векторных данных и т.п. В надстройках описываются конкретные реализации определённых типов документов, слоев, специальные алгоритмы анализа и обработки графической информации.

Роль ЗО-вида в геоинформационных системах в чём-то похожа на его роль в системах проектирования. В первую очередь, она заключается в визуализации векторных данных и поверхности, которую можно отрисовывать с заданным растром (рис. 50).

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