- •Геоинформационная система "карта 2005" технология построения трехмерной модели
- •Аннотация
- •Содержание
- •9.6.4 Запись в bmp-файл 32
- •9.6.5 Видеозапись 32
- •1 Назначение
- •1.1 Типовые трехмерные модели
- •1.2 Трехмерные модели детального вида
- •2.2.2 Матрица высот
- •2.2.3 Триангуляционная модель рельефа
- •2.2.4 Классификатор карты
- •2.2 Исходные данные
- •2.2.5 Библиотека трехмерных видов объектов
- •2.2.6 Цифровые фотографии
- •2.2.7 Цифровые фотоснимки местности
- •3 Подготовительные работы
- •3.1 Подготовка классификатора
- •3.1.1 Настройка кодового состава объектов
- •3.1.2 Настройка семантических характеристик
- •3.2 Создание исходных фотоматериалов
- •3.2.1 Фотографирование поверхностей объектов
- •3.2.2 Создание текстур по фотоматериалам
- •3.3 Создание библиотеки текстур
- •3.3.1 Загрузка текстуры
- •3.4 Создание текстур в виде набора файлов в формате bmp
- •4 Создание библиотеки трехмерного вида объектов
- •4.1 Создание шаблона трехмерного вида объекта
- •4.1.1 Структура шаблона
- •4.1.2 Шаблоны точечных и векторных объектов
- •4.1.3 Шаблоны линейных объектов
- •4.1.4 Шаблоны площадных объектов
- •4.1.5 Создание сложных видов объектов с помощью шаблонов
- •4.2 Создание модели трехмерного вида объекта
- •4.2.1 Структура модели
- •5 Назначение трехмерного вида типу объектов
- •6 Подготовка векторной карты
- •6.1 Уточнение кодов объектов, имеющих трехмерный вид
- •6.2 Уточнение семантики объектов, имеющих трехмерный вид
- •6.3 Уточнение корректности высот объектов векторной карты
- •6.4 Пожелания по состоянию метрики объектов векторной карты
- •8 Формирование карты векторов привязки трехмерных моделей объектов
- •8.1 Автоматическое создание векторов и определение формы модели
- •8.2 Коррекция векторов и уточнение семантики, содержащей номер формы модели
- •9 Отображение трехмерной модели местности
- •9.1 Выбор области построения трехмерной карты
- •9.2 Управление трехмерной картой
- •9.3 Выбор объекта и редактирование внешнего вида объекта
- •9.4 Настройка состава отображаемых объектов
- •9.5 Настройка дополнительных параметров отображения
- •9.6 Возможности работы с трехмерной моделью местности
- •9.6.1 Движение по объекту
4.1.5 Создание сложных видов объектов с помощью шаблонов
Рассмотренное в предыдущих пунктах построение трехмерного вида объектов с помощью шаблонов дает возможность изменения содержания вида объекта по высотной характеристике, но каждая отдельная часть шаблона строится по всей метрике. При наличии у объекта разных объемных частей, привязанных к отдельным точкам и отрезкам метрики, возникает необходимость в применении нескольких шаблонов к одному трехмерному виду объекта или формировании модели объекта.
Рисунок 4.5 – Пример трехмерного изображения объекта сложного вида
Рассмотрим построение сложного вида объекта на примере, показанном на рисунке 4.5. Имеется здание, содержащее в своем виде неповторяющиеся архитектурные элементы. Для каждого из них необходимо создать свой шаблон.
Рисунок 4.6 – Список шаблонов для сложного трехмерного изображения
Каждый шаблон строится по отдельной метрике, поэтому для отдельных частей объекта необходимо построить свои объекты. Эти объекты строятся на специальной пользовательской карте, наложенной на основную карту.
Рисунок 4.7 – Пример двухмерной метрики для построения трехмерного изображения сложного вида
Если метрика объектов отдельных частей или основного объекта повторяется на некоторых участках, то ее надо делать с небольшим отступом друг от друга, иначе трехмерное изображение частей будет перекрываться (рисунок 4.7).
Как видно из приведенного примера, данный способ построения объектов сложного вида не очень удобен, так как требует построения дополнительных двухмерных объектов. Рассматриваемое далее создание моделей трехмерного вида объектов устраняет эти недостатки, позволяя делать объекты более реалистичными.
4.2 Создание модели трехмерного вида объекта
Вид объекта, созданного с помощью шаблона, является достаточно простым. На всем протяжении метрики объект выглядит одинаково. Этого вполне достаточно для многих типов объектов, таких как леса, дороги, коммуникации, ограждения, различных точечных и векторных. Но для вида большинства строений важно, чтобы фасад и торец здания имели разное изображение. Кроме того, существуют отдельные детали домов: подъезды, завершения лифтовых шахт, арки для проезда, башенки и т.д. Все эти детали относятся к одному объекту, имеют общую семантику и должны отображаться как единое целое. Выше было показано, как, используя шаблоны, можно сформировать достаточно сложное изображение, но такой способ требует создания большого количества дополнительных объектов и дублирования семантических характеристик. Более того, даже для объектов с одинаковым видом придется создавать дополнительные объекты к каждому отдельно. Для решения такой задачи предлагается строить более сложный вид объекта – модель. Самой простой моделью является набор шаблонов, для каждого из которых указано на какой части метрики (формы) модели он рисуется.
4.2.1 Структура модели
Модель трехмерного вида объекта состоит из формы, вектора привязки и подчиненных моделей. Для каждой подчиненной модели указано положение (сдвиг, поворот и растяжение) относительно вектора привязки основной модели, форма, вектор привязки и ссылка на параметры. Параметрами подчиненных моделей могут быть другие модели или шаблоны.
Метрику модели будем называть формой. Форма отличается от метрики конкретного объекта тем, что она трехмерная, не содержит “лишних точек” на сторонах, углы выпрямлены. В форме выделен отрезок, который будем называть вектором привязки модели. Модель может содержать несколько форм. К форме, как к каркасу, привязываются дочерние модели, каждая из которых имеет свою форму.
Моделью трехмерного вида объекта назовем набор форм метрик с привязанными к ним подчиненными моделями.
Для создания модели объекта пользователю предлагается выбрать одну из заданных форм метрики (прямоугольник, Г-образная метрика и т.д.) или создать форму по метрике объекта.
Для серии домов одного вида пользователь создает а редакторе классификатора отдельные модели – подъезд, верх шахты лифта, торец, фасад, тыльную сторону здания и т.д. Далее создается основная модель. Выбирается форма и на этой форме, укладываются подчиненные модели. Модель привязывается к конкретному объекту карты автоматически. Конкретная форма модели указывается в семантике объекта. Если семантики у объекта нет выбирается первая форма модели. Вектор привязки модели совмещается с первыми двумя точками метрики объекта. Позднее пользователь может указать вектор привязки объекта вручную.
Модели, так же как и шаблоны, лежат в файле трехмерных изображений.
