§1. Модели (структуры данных) графических объектов
В машинной графике сложные объекты конструируются из более простых, которые, в свою очередь, получают из еще более простых и т.д. Таким образом, модель (структура данных) любого достаточно сложного объекта может быть представлена иерархической структурой, в которой объект находится на самом верхнем уровне, на низшем уровне рас-положены примитивы, а между ними указаны промежу-точные элементы, а также операции (связи), с помощью ко-торых производится построение элементов более высокого уровня. За счет использования разных видов связей из одно-го и того же набора исходных примитивов могут быть смо-делированы различные виды объектов. Например, из набора вершин можно построить каркасные, поверхностные или твердотельные модели.
Абстрактная модель объекта может быть задана в виде не-которого графа, в котором примитивы, промежуточные эле-менты, объект и операции показаны вершинами, а связи между ними – ребрами. Например, абстрактная модель плоского треугольника ABC (Рис. 6.1) может быть изображена в виде дерева показанного на Рис. 6.2. Нижний уровень содержит примитивы (отрезки), к ним применена операция объединения (U) и в итоге получен треугольник. Представление объекта в виде абстрактной модели указывает последовательность доступа к отдельным элементам или примитивам, входящим в него, а также порядок их обработки при преобразованиях всего объекта.
Для представления абстрактной модели в памяти ЭВМ и последующей работы с ней её необходимо преобразовать в
114
EMBED Рисунок AutoCAD 14
Рис.6.1 Рис.6.2
программную модель, т.е. представить в терминах неко-торого языка программирования либо в каком-либо стан-дартном формате. Рассмотренная выше абстрактная модель треугольника ABC может быть описана при помощи следующего набора одномерных массивов:
TR ( АВ, ВС, АС),
АВ (Х А , Y А , ХB , YB) ,
ВC (Х B , Y B , ХC , YC) ,
АC (Х А , Y А , ХC , YC) ,
где первый массивTR указывает, что треугольник состоит из трёх сторон АВ, ВС и АС, а три последующих массива задают декартовы координаты вершин, образующих эти стороны .
В процессе обработки геометрические объекты под-вергаются двум основным видам преобразований: топо-логическим и геометрическим. Топологические заключа-ются в изменении связей между элементами объекта при неизменном их пространственном положении – например, проводится отрезок между двумя точками, в многоугольник добавляется вершина и т.д. При геометрических преобра-зованиях связи элементов внутри объекта остаются неиз-менными, а изменяются пространственные характеристики
115
самих элементов (координаты точек, расстояния между ними, углы между отрезками и др.). Соответственно, информация об объекте, содержащаяся в модели, может быть также разделена на топологическую и геометри-ческую. Это позволяет выполнять оба вида преобразований независимо и за счёт этого ускорить их.
В модели треугольника ABC, представленной на Рис. 6.1, топологическая информация ( а) треугольник является объединением отрезков AB,BC,AC; б) отрезки соединяют пары точек (A,B); (B,C); (A,C) )соединена с геометрической информацией (точки A,B,C имеют плоские декартовы координаты ,,). Такая модель не оптимальна с точки зрения преобразований объекта – при топологических преобразованиях одновременно необхо-димо оперировать с геометрическими характеристиками элементов и наоборот. Оба вида информации в модели желательно разделить. Пример абстрактной модели плос-кого треугольникаABC с разделением топологической и геометрической информации дан на Рис. 6.3. В програм-
Рис.6.3
116
мной модели топологическая информация будет отобра-жена в двухмерном массиве
TR ((TА ,TВ ),(TВ , TС ) ,(T A ,TС ).
Из массива TR следует, что треугольник образован тремя отрезками прямых , которые соединяют между собой точки TА ,TВ , TС . Геометрическая информация представляет собой координаты точек TА ,TВ , TС :
TА = (XA , YA);
TВ = (XB , YB);
TС = (XC , YC).
Для более сложных объектов помимо топологии и геометрии задают текстуры поверхностей (окраска, рельеф), механические и иные свойства.
Поскольку вся геометрическая информация объекта мо-жет быть задана при помощи координат отдельных точек, то для выполнения преобразований этого вида достаточно найти правила, по которым следует пересчитывать только эти характеристики.
- Глава 1. Основные виды геометрических объектов
- §1. Основные аналитические способы задания кривых
- §2. Виды кривых
- §3. Основные способы задания прямых
- §4. Способы задания окружностей и их дуг
- §6. Виды поверхностей
- Пример 2.Уравнение конуса второй степени
- §7. Основные способы задания плоскостей
- §8. Аналитические способы задания пространственных тел
- Глава 2. Интерполяция кривых и поверхностей алгебраическими полиномами
- §1. Основные способы моделирования кривых. Интерполяция и аппроксимация
- §2. Интерполирование кривых с помощью алгебраических полиномов канонического вида
- §3. Интерполирование по однократным узлам. Интерполяционные многочлены Лагранжа и Ньютона
- §4. Интерполирование по двукратным узлам. Интерполяционные многочлены Эрмита
- §5. Интерполирование поверхностей
- 5.1. Интерполирование по однократным узлам. Билинейные поверхности
- 5.2. Интерполирование по двукратным узлам
- Глава 3. Моделирование кривых и поверхностей при помощи сплайнов
- I. Построение локальных сплайнов.
- II. Построение интерполяционных сплайнов.
- §1. Интерполирование кривых и поверхностей с помощью локальных сплайнов
- 1.1 Построение сплайнов по однократным узлам
- 1.2 Интерполирование по двукратным узлам
- §2. Построение интерполяционных сплайнов.
- 2.2. Кубические интерполяционные сплайны
- §3. Интерполяция с помощью в-сплайнов
- Глава 4. Интерполирование поверхностей по линиям
- §1.Интерполирование по кривым (линейчатые или плазовые поверхности)
- §2. Линейные поверхности Кунса
- §3. Обобщенные поверхности Кунса
- Глава 5. Аппроксимация алгебраическими полиномами
- §1. Аппроксимация по методу наименьших квадратов
- §2. Аппроксимация алгебраическими многочленами по критерию наилучшего равномерного приближения
- § 3. Аппроксимация при помощи кривых и поверхностей Безье
- Глава 6. Модели объектов. Плоские и пространственные линейные преобразования
- §1. Модели (структуры данных) графических объектов
- §2. Задание плоских и пространственных линейных преобразований при помощи уравнений связи
- § 3. Однородные координаты. Матричные представления линейных преобразований
- Задачи. Записать прямые и обратные матрицы элемен-тарных преобразований, при помощи которых можно осу-ществить следующие действия:
- § 4. Составные линейные преобразования
- § 5. Линейные преобразования каркасных моделей
- Глава 7.Проективные изображения трехмерных объектов
- §1. Аксонометрические проекции
- 1.1.Ортогональные проекции
- 1.2 Диметрические проекции
- Куб Диметрическая проекция
- 1. 3. Изометрическая проекция
- §2. Перспективные проекции
- §3. Построение проективных векторных изображений трёхмерных объектов
- Глава 8. Графические базы данных (гбд)
- §1. Структура и схема функционирования типовых гбд
- §2. Постановка задачи проектирования гбд в графической системе AutoCad
- Точки привязки
- §3. Разработка структуры гбд
- §4. Пакетные файлы гбд
- §5. Параметрические функции гбд
- §6. Создание библиотек слайдов гбд
- §7. Модификация основного меню AutoCad 2000
- 7.1. Файл меню. Его разделы. Управляющие символы
- 7.2. Модификация всплывающего и падающего меню AutoCad2000
- 7.3. Модификация экранного меню AutoCad2000
- 7.4. Модификация графического меню AutoCad2000
- §8. Использование разработанной базы данных
- Глава 9. Создание реалистических изображений
- § 1. Пространственные модели
- §2. Геометрическое моделирование объектов сложной формы
- § 3. Текстуры
- § 4. Основные операции при построении реалистических изображений
- § 5. Моделирование источников освещения и расчёт освещённости малых участков поверхности объектов
- § 6. Моделирование отражающих свойств поверхностей
- § 7. Моделирование отражения от поверхности (затенение)
- § 8. Удаление невидимых граней. Расчёт теней
- §9. Создание стереоскопического эффекта
- §10. Анимация
- Порядок выполнения и примерные темы курсовых работ
- Литература