Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
М_Г6_116_131.doc
Скачиваний:
2
Добавлен:
24.04.2019
Размер:
195.58 Кб
Скачать

6. Модели объектов. Плоские и пространственные линейные преобразования

6.1. Модели (структуры данных) графических объектов

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

Абстрактная модель объекта может быть задана в виде некоторого графа, в котором примитивы, промежуточные элементы, объект и операции показаны вершинами, а связи между ними – ребрами. Например, абстрактная модель плоского треугольника ABC (Рис. 6.1) может быть изображена в виде дерева показанного на Рис. 6.2. Нижний уровень содержит примитивы (отрезки), к ним применена операция объединения (U) и в итоге получен треугольник. Представление объекта в виде абстрактной модели указывает последовательность доступа к отдельным элементам или примитивам, входящим в него, а также порядок их обработки при преобразованиях всего объекта.

Для представления абстрактной модели в памяти ЭВМ и последующей работы с ней её необходимо преобразовать

116

EMBED Рисунок AutoCAD 14

Рис.6.1 Рис.6.2

в программную модель, т.е. представить в терминах некоторого языка программирования либо в каком-либо стандартном формате. Рассмотренная выше абстрактная модель треугольника ABC может быть описана при помощи следующего набора одномерных массивов:

  1. TR ( АВ, ВС, АС),

  2. АВ (Х А , Y А , ХB , YB) ,

  3. ВCB , Y B , ХC , YC) ,

  4. АCА , Y А , ХC , YC) ,

где первый массив TR указывает, что треугольник состоит из трёх сторон АВ, ВС и АС, а три последующих массива задают декартовы координаты вершин, образующих эти стороны .

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

117

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

В модели треугольника ABC, представленной на Рис. 6.1, топологическая информация ( а) треугольник является объединением отрезков AB,BC,AC; б) отрезки соединяют пары точек (A,B); (B,C); (A,C)) соединена с геометрической информацией (точки A,B,C имеют плоские декартовы координаты (XA , YA), (XB , YB), (XC , YC) ). Такая модель не оптимальна с точки зрения преобразований объекта – при топологических преобразованиях одновременно необходи-мо оперировать с геометрическими характеристиками эле-ментов и наоборот. Оба вида информации в модели жела-тельно разделить. Пример абстрактной модели плоского треугольника ABC с разделением топологической и геомет-рической информации дан на Рис. 6.3. В программной модели топологическая информация будет отображена в

Рис.6.3

118

двухмерном массиве

TR ((TА ,TВ ),(TВ , TС ) ,(T A ,TС ).

Из массива TR следует, что треугольник образован тремя отрезками прямых , которые соединяют между собой точки TА ,TВ , TС . Геометрическая информация представляет собой координаты точек TА ,TВ , TС :

TА = (XA , YA);

TВ = (XB , YB);

TС = (XC , YC).

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]