Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Компьютерная графика и геометрическое моделирование в информационных системах. Учебное пособие для бакалавров направлений подготовки 230100 «Информати.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
• возможно вычисление ряда геометрических величин, напри-
мер объёмов и т.д.;
•
предусмотрено использование различных функций (ЧПУ, раз-
работка серии изделий, расчёт конструкций).
Для удовлетворения этих требований необходимо, чтобы модель
обладала следующим набором математических свойств:
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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]