1. Модели и структуры трехмерных пространственных данных
2. Построение поверхностей на основе триангуляционной сети
- Модели и структуры трехмерных пространственных данных
Выбор модели и структуры данных является важной задачей моделирования пространственных данных. Выделяется четыре категории геопространственных объектов: точки, кривые, многоугольники, пространственные наборы.
Точка описывает нульмерный объект. Кривая - образ одномерного объекта. Кривая моделируется набором прямых линий или сплайн-интерполяцией. Многоугольники задают область на плоскости. Пространственные наборы описывают сложные объекты, состоящие из совокупности точек, кривых и многоугольников. Каждый объект имеет набор характеристик. В состав характеристик входят номер объекта, код объекта по классификатору и ряд характеристик, которые задают свойства объекта.
Для применения операций над пространственными объектами они объединяются в слои или пространства. Каждый слой имеет набор своих характеристик.
|
|
Простейшее и наиболее общее из всех пространств называется множественно- ориентированным. К числу основных отношений, применяемых в этом пространстве, относятся отношения объединения, пересечения, включения и членства.
Другой вид пространств представляют собой топологические пространства. Топологические пространства допускают над собой гомоморфные и изоморфные преобразования. При изоморфных преобразованиях сохраняется форма объекта, а при гомоморфных - нет.
Обычными пространственными отношениями являются вложение, пересечение, соприкосновение, соседство. Так, точка может находиться внутри, снаружи или на границе плоскости. Кривая может пересекать внутреннюю область поверхности или соприкасаться с поверхностью или не пересекаться с ней.
Топологическая форма представления отличается от обычной векторной модели тем, что объекты в каждом слое обработаны специальной процедурой учета топологии, которая просматривает, как правило, все объекты в слое и создает описание их расположения друг относительно друга. Для хранения описания расположения объектов друг относительно друга процедура построения топологии создает еще одну или несколько специальных таблиц. В этих таблицах хранятся не атрибутивные данные объектов, а список всех объектов слоя со ссылками друг на друга. Для того чтобы описать расположение друг относительно друга линейных объектов, потребуется еще составить список всех точек, которые являются концами для линейных объектов. Естественно, в местах пересечения такие точки будут общими. Эти точки называются узлами. Поэтому при построении линейной топологии учитываются не только сами линейные объекты, но и узлы. Список линейных объектов хранится в одной специальной таблице, а список узлов, в другой. Для каждого линейного объекта в специальную таблицу характеристик вносятся номера двух узлов - начального и конечного. Центроид - это точка, которая лежит внутри полигона. На этот центроид каждый линейный объект, являющийся границей полигона, также имеет ссылку.
|
|
Взаимосвязь между объектами в реляционной базе данных может быть реализована при помощи ссылок между объектами. Более сложные модели - иерархическая и сетевая.
Нетопологическими операциями над объектами являются определение расстояния, направления, длины, периметра, площади и т. д. Отношения, связанные с направлением, могут являться абсолютными либо учитывать положение объекта или наблюдателя.
Вышеописанные операции являются статическими. Динамические операции изменяют объекты, над которыми они работают. Основные динамические операции: создание, удаление, обновление. Разновидностями операции «создать» являются воспроизведение, порождение, разделение, соединение. К операциям «обновить» относятся перемещение, поворот, масштабирование, отражение.
Существуют различные формы представления поверхностей и объектов и различные методы преобразования пространственных данных из одного представления в другое.
1. 1. Аналитические модели представления поверхностей
Под аналитической моделью поверхности (АМП) будем понимать ее математическое описание, например в виде функции двух аргументов или в виде уравнения
Для ряда задач удобно использовать параметрическую форму описания поверхности. В этом случае формулы для описания поверхности в декартовой системе координат принимают вид
где - параметры, которые изменяются в определенном диапазоне, а функции определяют форму поверхности.
Преимущество параметрического представления состоит в возможности описания поверхности, которую нельзя представить в виде однозначной функции рельефа, или замкнутой поверхности. Кроме того, при параметрическом способе задания АМП можно выбрать такой вид описания, при котором модель становится инвариантной к геометрическим поворотам.
В качестве примера можно представить аналитическое описание сферической поверхности, которая в декартовой системе координат имеет вид
а в параметрической форме записи:
Одной из наиболее простых разновидностей приближений является применение двумерных многочленов Безье:
,
- опорные точки-ориентиры, 0< < 1; 0 < < 1, и - коэффициенты бинома Ньютона, рассчитываемые по формуле
Для бикубического сплайна Безье, когда т = 3, п = 3, необходимо задание 16 точек-ориентиров . При этом коэффициенты , равны 1,3,3,1. Здесь можно рассмотреть и другие методы.
1.2. Векторные полигональные модели
При моделировании пространственных объектов в различных приложениях в качестве базовых элементов часто используются графические объекты-примитивы: шины, отрезки прямых, полилинии, полигоны, полигональные поверхности. Элемент «вершина» - основной элемент описания, так как он присутствует при описании всех других объектов-примитивов.
Рис. Базовые элементы векторно-полигональной модели
Вершина может моделировать отдельный точечный объект, размер которого не пределен, а также может использоваться в качестве конечных точек для линейных объектов и полигонов.
Двумя вершинами задается отрезок прямой (или вектор). Несколько векторов составляют полилинию. Полилиния может моделировать отдельный линейный объект, толщина которого не учитывается, а также может представлять контур полигона (участок плоскости). Полигон моделирует площадной объект. Один полигон может описывать плоскую грань объемного объекта. Несколько граней составляют объемный объект в виде полигональной поверхности - многогранник или незамкнутую поверхность (полигональная сетка).
|
|
Полигональные модели можно считать наиболее распространенными описании поверхностей объектов методами трехмерной компьютерной граф Их используют в системах автоматизированного проектирования, в тренаж в САПР, геоинформационных системах и др.
1.3. Сеточные модели
Эти модели описывают координаты отдельных точек поверхности следующим способом. Каждому узлу сетки с индексами приписывается значение высоты , а индексам отвечают определенные значения плановых координат отдельных точек объекта. Расстояние между соседними узлами сетки вдоль оси равно , а вдоль оси равно . На рис. представлена равномерная сеточная модель рельефа, для которой шаги и . имеют постоянные значения независимо от места расположения узлов сетки. Значения и назовем шагом сетки, а саму модель - шаговой моделью поверхности рельефа (ШМР).
Фактически такая модель представляет собой двумерный массив данных или матрицу, каждый элемент которой соответствует значению высоты.
С помощью ШМР в декартовой системе координат может быть описана только поверхность, для которой каждому значению плановых координат , соответствует только одно значение высоты . Следовательно, даже поверхность в декартовой системе координат не может быть описана ШМР. Однако для описания поверхности можно использовать полярные координаты, в этом случае, например, поверхности второго порядка могут быть также описаны ШМР.
Рис. Равномерная сеточная модель
1.4. Алгоритмы триангуляции
Существуют различные способы триангуляции. В одном способе производятся все возможные соединения, выбираются кратчайшие и удаляются все соединения, которые пересекаются с кратчайшими. Эта процедура повторяется со следующими кратчайшими соединениями до тех пор, пока ни одно соединение не пересекается. Результатом работы алгоритма является набор соединений с минимальным расстоянием между соседними точками. В другом способе триангуляции выбираются две точки и к ним присоединяется третья, находящаяся вблизи от перпендикуляра, восставленного из середины отрезка, соединяющего первые две исходные точки. Этот способ основан на создании треугольников близких к равносторонним.
|
|
Задачей построения триангуляции по заданному набору двумерных точек называется задача соединения заданных точек непересекающимися отрезками таким образом, чтобы в полученной триангуляции между двумя данными точками нельзя было построить новые отрезки без пересечения с уже существующими. Поскольку отрезки замыкают треугольники, мы будем считать их ребрами. Любой набор точек, за исключением тривиальных случаев, допускает несколько способов триангуляции, удовлетворяющих следующим свойствам:
- для одного набора точек число образуемых треугольников не зависит от
способа триангуляции;
- для набора из >3 точек, из которых являются внутренними точками (т. е. находятся внутри выпуклой оболочки, построенной по внешним точкам), и условия, что неколлинеарных точек не может быть менее трех, число образуемых треугольников в результате триангуляции будет равно + + 2. Имеется ряд алгоритмов машинной триангуляции: выпуклое обминание, триангуляция с минимальным краем, «жадная» триангуляция и т. д. В настоящее время в практических приложениях наиболее широко используется триангуляция Делоне.