Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Компьютерная графика и геометрическое моделирование в информационных системах. Учебное пособие для бакалавров направлений подготовки 230100 «Информати.pdf
X
- •ВВЕДЕНИЕ
- •5. ПРОЕЦИРОВАНИЕ ТРЁХМЕРНЫХ ОБЪЕКТОВ
- •6. РАСТРОВОЕ ТЕКСТУРИРОВАНИЕ
- •10. МОДЕЛИ ОСВЕЩЕНИЯ
- •12. ВОСПРОИЗВЕДЕНИЕ КРИВЫХ
- •12.1. ИНТЕРПОЛИРОВАНИЕ С ПОМОЩЬЮ МНОГОЧЛЕНОВ
- •12.2. МНОГОЧЛЕНЫ БЕЗЬЕ
- •12.3. ПАРАМЕТРИЧЕСКИЕ КУБИЧЕСКИЕ КРИВЫЕ
- •13.1. ФОРМА ЭРМИТА
- •12.5. СРАВНЕНИЕ КРИВЫХ ЭРМИТА, БЕЗЬЕ И B-СПЛАЙНОВ
- •13.2. ФОРМА БЕЗЬЕ
- •13.3. ФОРМА B-СПЛАЙНОВ
- •14. ПРИБЛИЖЕНИЕ И ВОСПРОИЗВЕДЕНИЕ ПОВЕРХНОСТЕЙ
- •14.2. ПЛАЗОВЫЕ ПОВЕРХНОСТИ
- •14.3. ПОВЕРХНОСТЬ КУНСА
- •14.4. ПОСТРОЕНИЕ ПОВЕРХНОСТЕЙ ПО ОРИЕНТИРАМ
- •16. МОДЕЛИРОВАНИЕ ГЕОМЕТРИЧЕСКИХ ФОРМ
- •16.1. МЕТОДЫ ПОСТРОЕНИЯ МОДЕЛЕЙ
- •16.2. ВНУТРЕННЕЕ ПРЕДСТАВЛЕНИЕ МОДЕЛЕЙ
- •16.3. ДВУМЕРНОЕ МОДЕЛИРОВАНИЕ
- •16.4. ТРЁХМЕРНОЕ МОДЕЛИРОВАНИЕ
- •ЗАКЛЮЧЕНИЕ
- •СПИСОК ЛИТЕРАТУРЫ

• возможно вычисление ряда геометрических величин, напри-
мер объёмов и т.д.;
•
предусмотрено использование различных функций (ЧПУ, раз-
работка серии изделий, расчёт конструкций).
Для удовлетворения этих требований необходимо, чтобы модель
обладала следующим набором математических свойств:
9 однородность: тело должно быть заполнено внутри;
9 конечность: тело должно занимать конечную часть пространства;
9 жёсткость: сплошное тело должно сохранять свою форму не-
зависимо от положения и ориентации.
Кроме того, программная система должна удовлетворять сле-
дующим требованиям:
согласованность операций: любая операция, выполняемая над
1)
телами, должна приводить к образованию сплошных тел (перемещения или булевы операции), если иное не оговорено пользователем;
возможность описания: каждое тело должно быть представимо
2)
в машинном коде;
непротиворечивость информации: точка пространства может
3)
принадлежать не более чем одному телу (т.е. о каждой точке пространства можно сказать, принадлежит ли она какому-нибудь телу).
Отметим, что для одного объекта возможно несколько моделей и
для объектов, принадлежащих одной совокупности, могут одновременно существовать несколько различных моделей, что приводит с
точки зр
ения инфо
рматики к трудностям при обеспечении непротиворечивости. В частности, в некоторых случаях невозможны переход от
одних моделей к другим и их сосуществование.
Наконец, геометрическая модель должна иметь и другие трудно-
формализуемые качества, в том числе:
Компактность. Это свойство определяется «количеством ин-
формации», необходимой для данного представления. Оно, однако,
не является независимым от способа обработки, и для эффективности
ряда алгоритмов иногда полезна определенная избыточность информации;
Открытость для различных применений. Модель или модели
должны быть пригодны для использования в различных алгоритмах и
применениях (ЧПУ, задачи на размещение и т.д.). Это свойство также
не является достаточно определённым, однако очевидно, что часто
оказываются полезными различные представления (в сочетании с непротиворечивостью). Свойство открытости чрезвычайно важно, поскольку оно оп
ределяет пр
именимость геометрической модели для
различных функций (для метода конечных элементов, для расчётов,
числового программного управления и т.д.)
71

16.1. МЕТОДЫ ПОСТРОЕНИЯ МОДЕЛЕЙ
К основным методам построения моделей можно отнести [4]:
техническое черчение;
−
задание тел толщиной, вращением и перемещением;
−
параметризация;
−
построение моделей из базовых элементов;
−
локальные изменения.
−
Рассмотрим каждый метод вкратце.
Под техническим черчением в данном случае понимается использование методов, аналогичных тем, которые традиционно применяются чертёжниками, но с использованием средств вычислительной техники (дисплеи, планшеты, ЭВМ и т.п.). Соответствующие программы
для ЭВМ дают возможность конечному пользователю формировать и
изменять (при необходимости в интерактивном реж
име) черт
ежи. Такой вариант модели предоставляет в распоряжение пользователя лишь
совокупность двумерных элементов (обычно это отрезки и дуги).
В модели содержится только один вид объекта, что соответствует
очень низкому уровню знаний о нём. Если сформировано несколько
видов, то как правило, в модели не представлены возможные отношения между видами, поэтому всякое изменение в одн
м виде должно
о
быть отражено и в других видах оператором.
Объекты, которые задаются одним видом и толщиной, и объекты,
представляющие собой тела вращения, являются особым классом объектов, которые могут быть описаны средствами технического черчения
и параметрами, определяющими объект в пространстве (толщина или
ось и угол).
Объект мо
жно также
описать каким-либо элементом (например,
гранью или сплошным телом) и траекторией в пространстве. Этот метод в значительной мере подсказан методами изготовления. Например,
а) б)
Рис. 16.2. Задание тела толщиной (а) и вращением (б)
72

станок может удалять материал со сплошного тела с помощью инструмента заданной формы, движущегося по заданной траектории.
Параметризация строится на основе понятия «семейство деталей». Последнее состоит из элементов, различающихся лишь значениями некоторых параметров (в данном случае геометрических). Тогда
конкретный вариант тела определяется путём задания значений параметров, свойственных семейству.
При по
троении модели из базовых объектов происходит генера-
с
ция сложных объектов путём выполнения булевых операций над более
простыми объектами. Базовыми объектами могут быть параллелепипед, цилиндр, сфера и конус. Обычно выполняются такие операции,
как объединение, пересечение, вычитание (рис. 16.3).
Преимущество этого метода моделирования состоит в том, что
при условии тщательного задания сема
нтики базовы
х операций могут
быть сформированы только приемлемые решения.
При локальных изменениях, например, изменяя координаты одной точки объекта, можно моделировать новые объекты. Однако в
этом случае могут возникнуть некоторые проблемы, связанные с непротиворечивостью информации.
а)
б)
в)
Рис. 16.3. Операции объединения (а), пересечения (б) и вычитания (в)
73

16.2. ВНУТРЕННЕЕ ПРЕДСТАВЛЕНИЕ МОДЕЛЕЙ
Одно из первых решений, которое должен принять разработчик
систем, состоит в выборе представления либо с помощью структур
данных, либо с помощью процедурной формы [4].
Такой выбор становится особенно важен, когда моделируемые
объекты были сформированы с помощью языка, связанного с моделью. Для удобства работы (визуализация, интерактивная работа) процедурное представление должно быть п
реобразовано в более удо
бное
представление, обычно в структуру данных. Преимуществом процедурного представления являются компактность и меньшая избыточность, чем у структуры данных, и оно в определённой степени обеспечивает непротиворечивость информации.
Выбор представления приобретает особое значение, если с моде-
лью предполагается работать в интерактивной системе. Однако далеко
типа «либо то, либо другое». Так, напри-
не всегда можно дать отве
т
мер, параметризованная форма может существовать одновременно и в
виде вычисленных значений, и в процедурном виде. При определении
модели очень важно указать, какими данными эта модель должна
управлять. Можно выбрать модель, очень близкую к представлению
при визуализации (отрезки и дуги для двумерной модели, рёбра и ве
ршины для трёхмерной модели). Такое решение ограничивает диапазон
возможностей модели, как мы его определили выше. Обычно предпочитают модели, которые позволяют легко выполнять традиционные
функции (простановка размеров, двумерные геометрические преобразования, разрезы, удаление скрытых частей при трёхмерном представлении и т.д.). В настоящее время разработчики моделей стремятс
более по
лное представление о моделируемом объекте, благодаря чему
я дать
упрощаются очень сложные операции (например, модификации с учётом ограничений или интерактивная параметризация). Такие операции
по-разному реализуются в двумерных и трёхмерных моделях. Однако
они не должны противоречить сложившимся методам конструирования, поэтому необходимо понять логику работы конструктора и суметь
роизве
её восп
сти.
Данные, которые хранятся в модели, также сильно различаются в
зависимости от требуемого качества моделирования. Рассмотрим, какого рода данные наиболее характерны для четырёх основных типов
моделей.
Двумерная модель. В более простых моделях удовлетворяются
тем, что работают с элементами, которые близки к уровню визуализации. В более сложных моделях эле
нально (например, раз
мерные линии соотносятся с объектами или же
менты ассоциируются функцио-
запоминается способ соединения элементов). Известны попытки при-
74

менения методов построения (например, построение окружности, касательной к заданным прямым).
Структуры двумерных моделей весьма разнообразны и существенно зависят от области применения: в машиностроении удовлетворяются информацией, близкой к чистой графике, в схемотехнике можно оперировать символами и их соединениями.
Каркасная модель. Хотя эта модель и трёхмерная, она имеет мало
возможно
стей. В ней хранится информация двух типов: топологическая (рёбра, определяемые вершинами) и геометрическая (координаты
вершин).
Поверхностная модель. В моделях этого типа хранится только
описание поверхностей. Однако эти поверхности могут сильно различаться, и разработчики моделей для работы с поверхностями используют математические методы компактного представления, обеспечивающие возможность интерактивного реж
има и сложных расчётов.
Объёмная модель. В такой модели хранится информация, позволяющая отличать материал от пустоты (при этом пустота может рассматриваться как особый вид материала). В настоящее время обычно
используют два метода:
•
Объект представлен в модели охватывающей его «оболочкой».
Тогда, как и в каркасной модели, сохраняется информация геометрического и топологического типа, однако она более полная (грани заданы и ориентированы таким образом, что известны их наружная и внутренняя стороны).
•
Объект представлен в модели операциями построения, ис-
пользованными для его задания. Сами операции могут быть представлены в процедурной форме или же структурой данных.
16.3. ДВУМЕРНОЕ МОДЕЛИРОВАНИЕ
Двумерная геометрическая модель оперирует данными следующих типов [4]:
геометрическими (координаты точек, уравнения прямых или
•
окружностей и т.д.);
•
топологическими (отрезок, соединяющий две точки, контур,
определённый своими базовыми объектами, направления обхода и
пересечения и т.д.);
структурными (комплекс состоит из базовых элементов).
•
Структурирование, ориентированное на понятия сборки, часто выполняется в виде дерева;
оформительскими (размерные линии, тексты, штриховка и
•
различные условные обозначения). Так, например, оформление чертежа должно выполняться на двумерной модели, которая может содер-
75

жать много полезных сведений, в частности о связях между размерами
и соответствующими элементами, о методах построения, реализуемых
достаточно просто и имеющих много достоинств (использование библиотек символов, геометрические преобразования).
Назначение программного обеспечения для трёхмерного моделирования состоит в том, чтобы обеспечить возможность формирования
и использования модели объекта в процессе его проектирования в трёх
измерениях [4]. Выше было показано, что существуют различные
уровни моделей: каркасная, поверхностная и объёмная. Объёмная модель может представлять собой совокупность двух других.
Ряд свойств программного обеспечения для ма
го черчения ц
чение для трёхмерного моделирования. Среди них: интерактивность,
открытость для прикладных задач, независимость от аппаратуры и
средств диалога.
Решения, принимаемые при разработке программного обеспечения для трёхмерного моделирования, существенно зависят от прикладных задач. Дело в том, что операции, выполняемые с помощью
программного обеспечения для ма
сительно недороги, а соответствующие модели обычно удовлетворяют
одним и тем же критериям. Для программного обеспечения, используемого при трёхмерном моделировании, дело обстоит иначе.
Некоторые операции стоят очень дорого (удаление скрытых частей, сечения и т.д.) и к тому же зависят от выбора возможных моделей,
а сделать такой выбор иногда совсем непр
очевидно, что для задания формы кузова легкового автомобиля необходима поверхностная модель, однако ещё необходимо выбрать такую
модель, которая наиболее пригодна для данной задачи.
Таким образом, решения, которые могут быть приняты при трёхмерном моделировании, разнообразны и существенно зависят от соответствую
В трёхмерном моделировании обрабатываемые элементы разнообразнее, чем в двумерном программном обеспечении. Обычно трёхмерное программное обеспечение может работать и с двумерными
элементами (точка, прямая и т.д.).
В качестве базовых элементов трёхмерного моделирования можно отнести следующие:
элементы уровня 0, т.е. двумерные элементы (точки, прямые и
•
отрезки прямых, окружности и дуги окружности, кривые, контуры);
76
16.4. ТРЁХМЕРНОЕ МОДЕЛИРОВАНИЕ
шиностроительно-
елесообразно распространить и на программное обеспе-
троительного черчения, отно-
шинос
о
сто. Так, например, почти
применений.
щих

• элементы уровня 1, т.е. поверхности (плоскости, линейчатые
поверхности, поверхности вращения, криволинейные поверхности);
•
элементы уровня 2, т.е. объёмы (цилиндры, конусы, призмы и
т.д., произвольные многогранники, произвольные объёмы).
Из этих элементов с помощью различных операций можно создавать комплексы.
При анализе различных внутренних представлений, используемых
для геометрических моделей сплошных тел, можно выделить два типа:
9 представление с помощью границ объекта: для сплошного
тела в модели хранятся его границы (например, грани, рёбра и вершины);
9 представление с помощью дерева построения: нетерминаль-
ные узлы представляют операторы, листья представляют базовые объекты (или же поверхности).
ЗАКЛЮЧЕНИЕ
Данное учебное пособие предназначено для ознакомления с основными методами визуализации и геометрического компьютерного
моделирования в компьютерной графике.
В пособии рассмотрены базовые алгоритмы двумерной и трёхмерной графики.
Особое внимание уделено построению параметрически заданных
кривых и поверхностей в форме Безье, Эрмита и В-сплайнов.
Классифицированы и определены основные подходы в геометрическом мо
лезно для бакалавров, обучающихся по направлениям 230100 «Информатика и вычислительная техника» и 230400 «Информационные
системы и технологии» очной формы обучения.
делировании форм в двумерной и трёхмерной графике.
Авторы надеются, что предлагаемое учебное пособие будет по-
77

СПИСОК ЛИТЕРАТУРЫ
1. Фоли, Дж. Основы интерактивной машинной графики. В 2 т. /
Фоли Дж., вэн Дэм А. – М. : Мир, 1985.
Роджерс, Д. Алгоритмические основы машинной графики /
2.
Д. Роджерс. – М. : Мир, 1989.
Павлидис, Т. Алгоритмы машинной графики и обработки
3.
изображений / Т. Павлидис. – М. : Радио и связь, 1986.
Гардан, И. Машинная графика и автоматизация конструиро-
4.
вания / И. Гардан, М. Люка. – М. : Мир, 1987.
Пореев, В. Н. Компьютерная графика / В. Н. Пореев. – СПб. :
5.
БХВ-Петербург, 2002.
6.
Шикин, Е. В. Начала компьютерной графики / Е. В. Шикин,
А. В. Боресков, А. А. Зайцев. – М. : ДИАЛОГ-МИФИ, 1993.
Шикин, Е. В. Компьютерная графика. Динамика, реалистиче-
7.
ские изображения / Е. В. Шикин, А. В. Боресков. – М. : ДИАЛОГМИФИ, 1995.
Шикин, Е. В. Компьютерная графика. Полигональные модели /
8.
Е. В. Шикин, А. В. Боресков. – М. : ДИАЛОГ-МИФИ, 2000.
Казанцев, А. В. Основы компьютерной графики / А. В. Казан-
9.
цев. – Казань : Изд-во КТУ, 2001.
Васильев, С. А. OpenGL. Компьютерная графика / С. А. Ва-
10.
сильев. – Тамбов : Изд-во Тамб. гос. техн. ун-та, 2005.
Васильев, С. А. Информационные технологии в САПР. Вы-
11.
числительные сети и компьютерная графика / С. А. Васильев, В. Е. Подольский, И. В. Милованов, В. И. Лоскутов. – Тамбов : Изд-во Тамб.
гос. техн. ун-та, 2008.
Математика и САПР. В 2 кн. / пер. с фр. С. Д. Чигиря, П. Ше-
12.
нен, М. Коснар, И. Гардан и др. ; под ред. Н. Г. Волкова. – М. : Мир,
1988.
78

ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ …………………………………………………………..... 3
1. АЛГОРИТМ БРЕЗЕНХЕМА ДЛЯ ПРЕОБРАЗОВАНИЯ
ОТРЕЗКОВ ПРЯМЫХ ИЗ ВЕКТОРНОЙ ФОРМЫ В РАСТРОВУЮ
4
2. АЛГОРИТМ БРЕЗЕНХЕМА ДЛЯ РАСТРОВОЙ РАЗВЁРТКИ
ОКРУЖНОСТИ ………………………………………………………..
6
3. АФФИННЫЕ ПРЕОБРАЗОВАНИЯ НАД ДВУМЕРНЫМИ
ОБЪЕКТАМИ ………………………………………………………….
8
4. ТРЁХМЕРНЫЕ АФФИННЫЕ ПРЕОБРАЗОВАНИЯ
3D-ОБЪЕКТОВ ………………………………………………………..
12
5. ПРОЕЦИРОВАНИЕ ТРЁХМЕРНЫХ ОБЪЕКТОВ ……………… 15
6. РАСТРОВОЕ ТЕКСТУРИРОВАНИЕ …………………………….. 19
7. АЛГОРИТМ «ПЛАВАЮЩЕГО ГОРИЗОНТА» ДЛЯ ВИЗУА-
ЛИЗАЦИИ ФУНКЦИОНАЛЬНО-ЗАДАННЫХ ПОВЕРХНОСТЕЙ
8. АЛГОРИТМ
УДАЛЕНИЯ НЕВИДИМ
ЫХ ГРАНЕЙ, ИСПОЛЬ-
23
ЗУЮЩИЙ BSP-ДЕРЕВО...…………………………………………… 25
9. АЛГОРИТМ ОПРЕДЕЛЕНИЯ ВИДИМЫХ ПОВЕРХНОСТЕЙ
ПУТЁМ ТРАССИРОВКИ ЛУЧЕЙ …………………………………... 29
10. МОДЕЛИ ОСВЕЩЕНИЯ ………………………………………… 32
11. ГЛОБАЛЬНАЯ МОДЕЛЬ ОСВЕЩЕНИЯ С ТРАССИРОВКОЙ
ЛУЧЕЙ ………………………………………………………………… 37
12. ВОСПРОИЗВЕДЕНИЕ КРИВЫХ ……………………………….. 42
12.1. Интерполирование с помощью многочленов ……………... 43
12.2. Многочлены Безье …………………………………………... 44
12.3. Параметрические кубические кривые ……………………... 47
12.3.1. Форма Эрмита ……………………………………….. 47
12.3.2. Форма Безье ………………………………………….. 50
12.3.3. Форма B-сплайнов …………………………………... 51
12.4. Построение кривых по точкам с помощью сплайнов ……
52
.
12.4.1. Основные понятия и определения ………………….. 52
12.4.2. В-сплайны ……………………………………………. 53
12.4.3. Применение В-сплайнов в машинной графике …… 55
12.5. Сравнение кривых Эрмита, Безье и B-сплайнов ………….. 56
79

13. ПОСТРОЕНИЕ ПАРАМЕТРИЧЕСКИХ КУБИЧЕСКИХ
ПОВЕРХНОСТЕЙ ……………………………………………………. 57
13.1. Форма Эрмита ……………………………………………….. 57
13.2. Форма Безье …………………………………………………. 61
13.3. Форма B-сплайнов …………………………………………... 62
14. Приближение и воспроизведение поверхностей ……………….. 62
14.1. Линейные и билинейные интерполяционные участки
поверхности, ограниченные замкнутыми кривыми …………….. 64
14.2. Плазовые поверхности ……………………………………… 65
14.3. Поверхность Кунса ………………………………………….. 66
14.4. Построение поверхностей по ориентирам ………………… 66
14.4.1. Поверхности Безье …………………………………... 66
14.4.2. Поверхности, построенные с помощью B-сплайнов 67
15. ПРЕОБРАЗОВАНИЕ КРИВЫХ И КУСКОВ ПОВЕРХНОСТЕЙ 67
16. МОДЕЛИРО
ВАНИ
Е ГЕОМЕТРИЧЕСКИХ ФОРМ …………… 68
16.1. Методы построения моделей ………………………………. 72
16.2. Внутреннее представление моделей ………………………. 74
16.3. Двумерное моделирование …………………………………. 75
16.4. Трёхмерное моделирование ………………………………... 76
ЗАКЛЮЧЕНИЕ ……………………………………………………….. 77
СПИСОК ЛИТЕРАТУРЫ ……………………………………………. 78
80
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
