Информатика в техническом университете / Информатика в техническом университете. Компьютерная графика
.pdf
2.1. Общие сведения об ЭВМ
а |
б |
Рис. 2.11. Субноутбук (а) и планшетный ноутбук (б)
•субноутбуки — самые компактные и легкие модели (размеры менее И", вес до 2 кг, диагональ дисплея до 11") с достаточно высокой функциональностью, предназначенные в первую очередь тем, кто часто путешествует. Субноутбук может обеспечить неплохую комфортность в работе, однако высокой производительности от подобных компьютеров ожидать не следует. Часто их возможности ограничены офисными приложениями, интернет-браузером, почтовым агентом и прочими не особо требовательными к ресурсам приложениями (рис. 2.11, а). Их стоимость составляет около 2000 долл.;
•планшетные ПК (Tablet PC) — по оснащенности и габаритным размерам близки к субноутбукам, но оснащены сенсорным экраном, позволяющим выполнять различные операции с помощью стилуса или пальца, включая ввод рукописного текста и его распознавание. Выпускаются два вида планшетных ПК: чистые планшетные ПК (без клавиатуры) и планшетные ноутбуки (имеющие обычную клавиатуру и поворотно-откидной сенсорный экран (рис. 2.11, б)). Стоимость планшетных ПК составляет около 2 000 долл.
Карманные (или наладонные) переносные компьютеры (КПК) помещаются на ладони или в кармане. КПК также называют наладонники (от англ. — palmtop). Кроме палмтопов существуют карманные компьютеры, которые называют PDA (personal digital assistent). Общее название карманных компьютеров — handhold computers — компьютеры, которые держат в руках (рис. 2.12).
Все карманные компьютеры в зависимости от наличия клавиатуры делятся на две большие группы: КПК с клавиатурой и КПК без клавиатуры. КПК с клавиатурой внешне похожи на ноутбук, уменьшенный до карманных размеров. КПК без клавиатуры оснащены сенсорным экраном и информация вводится на экран при помощи специальной указки — стилуса, при этом может использоваться экранная клавиатура или написание символов стилусом непосредственно на экране. Стоимость карманных ПК колеблется от 300 до 1000 долл.
В карманных компьютерах программы хранятся в микросхемах энергонезависимой памяти. В набор программ обычно входит ОС, текстовый и графический редакторы, система баз данных и электронные таблицы, программы для
81
2.Технические средства компьютерной графики
!si i
"Ухноо!
F-'.^-^o- J
а б в
Рис. 2.12. Карманные компьютеры: а — палмтоп; б — Pocket PC; в — PDA
работы в Интернете. Эти компьютеры позволяют обрабатывать документы, работать с базами данных, производить вычисления, читать электронные книги, слушать музыку, просматривать фильмы и работать в Интернете. Переносной и карманный компьютеры удобны для использования в поездках.
Карманные компьютеры в зависимости от используемой ОС также делятся на две группы — Palm OS и Windows Mobile. Причем в отличие от настольных компьютеров и ноутбуков конструкция КПК сильно связана с типом ОС и замена типа ОС для КПК возможна только теоретически. ОС Palm OS разработана специально для КПК и не предъявляет особых требований к их ресурсам. ОС Windows Mobile разработана фирмой Microsoft и хорошо интегрирована с ОС Microsoft для настольных компьютеров, что расширяет функциональные возможности КПК, однако при этом возрастают требования к ресурсам КПК.
Из всех перечисленных классов в России наибольшее распространение получили персональные ЭВМ, персональные рабочие станции и ноутбуки. Причем указанные классы ЭВМ базируются на процессорах семейства х86 фирмы Intel. Другие классы ЭВМ в России широкого применения не нашли. В связи с вышесказанным в дальнейшем основное внимание будет уделяться аппаратным средствам ЭВМ на платформе IBM PC с процессорами, совместимыми с архитектурой х86 фирмы Intel, относящимися к трем распространенным классам.
Каждая ВС обладает определенными функциональными возможностями обработки ГИ. Все возможности ВС реализуются совместно программными и аппаратными средствами и должны органично сочетаться с возможностями пользователя ЭВМ. Разделение функций между аппаратными и программными средствами направлено на повышение эффективности ВС при решении различных задач. Степень разделения функций между аппаратными и программными средствами зависит от уровня развития микроэлектроники и вычислительной техники.
Программные средства дешевы, гибки и доступны, аппаратные средства сложнее в реализации и специализированы. Соотношение по стоимостным затратам между аппаратными и программными средствами постоянно изменяется
82
3. Математические модели геометрических объектов
шенными преобразованиями геометрических операндов являются булевские операции объединения, пересечения и вычитания. Возможности конструктивной твердотельной геометрии весьма значительны. Достаточно сказать, что ее средствами можно описать большую часть деталей из классификатора машиностроительных деталей.
Самый общий подход к моделированию состоит в представлении трехмерных тел в виде совокупности ограничивающих поверхностей, ребер и вершин. Каждая граничная оболочка представляет собой множество соединенных друг с другом поверхностей произвольной формы и включает в себя полное описание своих границ и связей с соседними фрагментами. Этот способ описания объектов называется граничным представлением, в англоязычной литературе и в интерактивных руководствах многих пакетов машинной графики он называется Boundary Representation, или В-rep. Представление тел с помощью границ позволяет моделировать трехмерные объекты самой сложной геометрии. Оно допускает множество формообразующих операций над телами, сохраняя при этом единый способ описания их внутреннего устройства.
3.4.2. Регулярные булевские операции
Пусть разработан эффективный способ описания геометрии объемных тел. Отвлечемся от технических деталей такого описания и будем опираться на гипотезу о его существовании. Из исходных простых геометрических форм можно построить более сложные производные объекты. Существует множество способов формообразования, основанных на комбинации геометрических операндов, но самой естественной техникой такого вида являются булевские операции. Операции сложения, вычитания и пересечения (рис. 3.37) являются обязательными в любой развитой системе геометрического моделирования. Иногда в их состав включают некоторые дополнительные способы синтеза, которые не обладают общностью трех перечисленных.
Если обычные булевские операции применить к объемным телам, то в результате можно получить объект с иной размерностью: поверхность, линию или даже
|
/ |
/ / / |
/ |
А |
/ |
/ |
|
/ |
/ |
/ |
/ |
/ |
|
/ / |
|
|
/У |
а |
|
б |
|
|
в |
Рис. 3.37. Булевские операции на примере двух кубов: a — A U В; б — Л ( 1 В ; в - А-В
232
3.4. Твердотельное моделирование
/
/
/ /
Г |
7 |
/ |
/ |
/ |
Рис. 3.38. Варианты операции булевского пересечения
точку. Справедливость этого тезиса подтверждает пример, приведенный на рис. 3.38, где показаны различные варианты пересечения двух кубических объемных тел.
Вместо обычных булевских операций будем использовать так называемые регулярные операции, которые обозначим привычными символами, но с добавлением верхнего индекса — звездочки (U*, Г)*, -*). Регулярные операции, будучи примененными к объемным операндам, всегда дают геометрическое тело, обладающее объемом, например на рис. 3.38 регулярное пересечение дает непустой результат только в первом варианте.
Чтобы глубже исследовать разницу между обычными и регулярными булевскими операциями, рассмотрим объект, определенный как множество точек, которые разделены на внутренние и граничные. Граничными называются точки, имеющие нулевое расстояние до объекта и его дополнения. Множество граничных точек не всегда принадлежит самому объекту. Замкнутые объекты включают в себя границу, а открытые — нет. Объединение множества внутренних точек объекта и его границы обычно называется операцией замыкания. Регуляризацией множества называется замыкание множества внутренних точек. Множество, которое эквивалентно само себе после выполнения операции регуляризации, называется регулярным.
На рис. 3.39 приведен пример операции регуляризации. Исходное состояние объекта представлено на рис. 3.39, а. Он определен как множество внутренних точек, показанных серым цветом и множеством граничных точек, изображенных черным цветом. Часть границы, которая не входит в состав объекта, изображена пунктиром. Объект включает в себя несколько висячих фрагментов: две линии и
Рис. 3.39. Регуляризация объекта:
а— исходное состояние множества; б — множество после операции замыкания;
в— внутренняя область множества; г — регуляризованное множество
233
3. Математические модели геометрических объектов
точку. Черная точка внутри объекта представляет собой границу, которая не принадлежит самой фигуре.
На рис. 3.39, б показано состояние объекта после выполнения операции замыкания. Теперь все граничные точки принадлежат фигуре, внутренний фрагмент границы также входит в ее состав.
На рис. 3.39, в изображены все внутренние точки объекта, иными словами, он представлен как открытое множество точек. Чтобы получить внутренние точки, следует отбросить все висячие и несвязные фрагменты.
На рис. 3.39, г изображен объект после выполнения операции регуляризации. По определению, регулярное множество не может иметь граничных точек и фрагментов, не обладающих смежностью с некоторыми внутренними точками, поэтому для таких объектов исключается существование висячих граничных
фрагментов любого вида (точек, линий или поверхностей).
Регулярные операции можно сформулировать в терминах обычных булевских операций:
A U* В = closure(interior(A U В);
АП* В = closure(interior(A П В);
А-* В = closure(interior(A - В).
Регулярные операции над регулярными операндами всегда дают регулярные множества.
Обычная булевская операция находит пересечение внутренних точек обоих операндов, и, кроме того, включает в состав новой фигуры пересечение границ с внутренними и граничными областями обеих исходных фигур. Регулярное пересечение состоит из пересечения внутренних областей операндов и пересечения внутренностей с границами другой фигуры за исключением пересечения границ.
Рассмотрим более подробно разницу между двумя типами операций на примере объектов, изображенных на рис. 3.40.
На рис. 3.40, а показаны два исходных объекта, которые являются операндами для обычного (рис. 3.40, б) и регулярного (рис. 3.40, в) булевского пересе-
А
а |
б |
в |
Рис. 3.40. Булевское пересечение:
а— исходное состояние операндов; б — булевское пересечение;
в— регулярное булевское пересечение
234
3. Математические модели геометрических объектов
иЛ
А в а
L.
е |
ж |
з |
и |
к |
Рис. 3.41. Обычные булевские операции над элементами объектов:
а — операнды А и В; б — А, П В,; в — А,• - В; г — В,• - А; д — АЬС\ Bt;e — Вй Л А,; дас — Аь-В\
В табл. 3.2 приведены правила сведения регулярных операций к обычным. На рис. 3.41 на примере простейших форм показаны схемы этих операций. Буквами А и В обозначены операнды, нижние индексы / и Ъ означают соответственно внутренние и граничные области, #(АЬ П Bh) — часть общей границы объектов А и В, относительно которой At и В,- лежат по одну сторону, наконец, ~(АЬ П Вь) означает часть общей границы, где А и В лежат по разные стороны. Каждая регулярная булевская операция сводится к набору обычных операций, которые в табл. 3.2 отмечены знаком «+».
Для всех регулярных операций каждый фрагмент результирующей границы принадлежит либо одному, или обоим операндам. Для операций А<и* ВиАП* В нормали к граням результирующего объекта наследуют свое положение от одного или обоих операндов. Для операции А -* В действует иное правило. Нормали граней результирующего тела, которое получено вычитанием В из А, имеют противоположное
направление нормалям соответствующих граней В. |
Это следует из тождества |
А -* В = А Г\* В, где В — дополнение В. Тело В |
может быть получено допол- |
нением внутренней части тела В с последующим обращением нормалей границы.
Во многих графических редакторах и системах автоматизированного проектирования пользовательский интерфейс основывается на использовании регулярных булевских операций. Эта техника предоставляет оператору удобный и надежный способ формирования сложных объектов из нескольких простых.
3.4.3. Параметрическое моделирование геометрии
Во многих отраслях техники сложный объект или система рассматривается как сочетание некоторого набора стандартных элементов. Очевидные преимущества
236
3.4. Твердотельное моделирование
этого подхода к проектированию сделали привлекательной идею о такой организации процесса геометрического моделирования, когда облик изделия создается из стандартных форм— элементов некоторого геометрического конструктора. Эти элементы принято называть геометрическими примитивами. Примитивы, у которых зафиксированы все геометрические и конструктивные параметры, имеют ограниченную область применения, поэтому в геометрическом проектировании используются параметризованные примитивы. Например, примитивом будет многоугольник, для которого пользователь может задавать не только геометрические размеры, но и число сторон. Примитивом может быть элемент некоторого семейства объектов, члены которого различаются несколькими конструктивными, технологическими и геометрическими параметрами. Такой подход, названный групповая технология, используется в системах автоматизированного проектирования.
Параметризация примитивов часто применяется для определения таких сравнительно сложных объектов, как болты, гайки, зубчатые колеса и т. п. Конечно, эти формы допускают определение в терминах регулярных булевских операций, однако данный подход требует кропотливой работы над элементарными геометрическими телами, которые являются операндами сложных тел.
Примером сложного параметризованного примитива является зубчатое колесо, которое описывается набором из четырех геометрических и конструктивных параметров (рис. 3.42).
Привлекательная идея параметризации примитивов имеет несколько существенных ограничений. В этой парадигме не существует никаких средств для синтеза сложных объектов из набора простых. Для создания нового примитива требуется разрабатывать его код заново. Каждый примитив должен иметь программное окружение, состоящее из набора сервисных процедур и утилит. Например, в нее могут входить программы для расчета массы, объема, момента инерции и других конструктивных характеристик объекта. Как правило, утилиты такого типа являются уникальными: они создаются под спецификацию конкретного примитива и в общем случае не способны рассчитывать другие элементы базиса.
Рис. 3. 42. Параметризованное зубчатое колесо:
а— диаметр — 40, толщина — 10, отверстие — 10, число зубьев — 10;
б— диаметр — 60, толщина — 20, отверстие — 15, число зубьев — 16
237
3. Математические модели геометрических объектов
3.4.4. Заметание
Заметанием (sweeping) называется способ формообразования при помощи движения объекта по некоторой траектории или согласно некоторому заданному закону. Это очень продуктивный метод, позволяющий получать трехмерные тела, которые с трудом воспроизводятся с помощью иных способов геометрического синтеза. Простейший пример этого метода генерации форм дает движение замкнутой двухмерной кривой вдоль прямолинейной траектории. Во многих пакетах машинной графики данный метод формообразования называют экструдированием (extrude). Эксгрудирование позволяет получить множество трехмерных форм, описывающих машиностроительные детали, элементы архитектурных конструкций, предметы интерьера и т. п.
Возможности формообразования значительно расширятся, если использовать траектории в виде кривых произвольной формы. В этом случае движение сечения ограничивается дополнительным условием, согласно которому в каждой точке пути нормаль сечения должна совпадать с касательной к траектории.
Вращение сечения вокруг некоторой фиксированной оси — еще один результативный способ генерации трехмерных форм, потенциально способный породить множество всех объектов, которые в инженерной практике именуются телами вращения. В англоязычной литературе этот способ называется rotational sweeping, что обычно переводят как заметание вращением.
Таким образом, если выбрать образующую, направляющую и закон движения, то множество точек пространства, которое заметет первый объект при смещении по второму, полностью определяет новое, в общем случае трехмерное тело. На рис. 3.43
Л
Рис. 3.43. Примеры кривых и трехмерных форм, порожденных их движением в пространстве
238
3.4. Твердотельное моделирование
показаны примеры кривых и трехмерных тел, которые они порождают своим движением вдоль различных траекторий.
Чтобы получить трехмерную форму методом заметания, необязательно смещать двухмерное сечение, в некоторых случаях намного удобнее в качестве образующей использовать некоторый трехмерный объект. Этот метод формообразования используется при программировании металлообрабатывающих систем с числовым программным управлением и в системах управления роботами и робототехническими комплексами.
Следует отметить, что рассмотренный метод формообразования может иметь различные наименования в системах геометрического моделирования и литературе по КГ. Например, в популярной системе трехмерной графики 3Ds Max заметание называется Loft, в описаниях пакета на русском языке его именуют лофтингом. Заметание вращением (rotational sweeping) называется Lathe. Существуют и другие терминологические варианты, получившие распространение в кругах пользователей определенных пакетов трехмерной графики или систем автоматизированного проектирования.
Заметание — естественный способ генерации новых трехмерных форм. Он допускает простое управление и дает предсказуемые результаты. Однако его изобразительные возможности не безграничны, существуют трехмерные объекты, которые нельзя создать движением образующих. Заметание требует значительных вычислительных ресурсов для расчета трехмерных объектов, полученных движением по самопересекающимся траекториям. Кроме того, класс объектов, полученных этим способом, не является замкнутым относительно регуляризованных булевских операций.
На рис. 3.44 представлены две призмы, полученные смещением треугольников вдоль прямой траектории. Булевское объединение этих форм не может быть создано заметанием каких-либо двухмерных или трехмерных образующих.
Формообразование можно существенно расширить, если допустить использование нескольких образующих, связанных с одной траекторией. На рис. 3.45
Рис. 3.44. Объединение двух трехмерных объектов, созданных экструдированием треугольников, не может быть получено заметанием
239
3. Математические модели геометрических объектов
Рис. 3.45. Заметание с тремя образующими
показан пример трехмерного тела, полученного движением трех образующих вдоль одной кривой.
В некоторых пакетах машинной графики этот способ формообразования считается самостоятельным и называется скиннингом (skinning).
3.4.5. Граничное представление
Граничным представлением (Boundary Representation, B-rep) называется описание пространственных тел в терминах границ и их элементов. Это один из самых простых, выразительных и хорошо изученных способов определения трехмерной геометрии.
В описании границы тела участвуют объекты с интуитивно -понятным геометрическим содержанием: вершины, ребра, грани и оболочки. Рассмотрим подробнее топологические свойства граничных составляющих.
Оболочки тела должны обладать свойством однородности — это значит, что все они должны быть описаны по единым правилам. Так, согласно этому принципу, не разрешается смешивать в одном описании явные и неявные модели граничных оболочек. Оболочки могут состоять из нескольких граней. Каждая грань представляет собой фрагмент некоторой поверхности с данными о связях с соседними гранями и ориентации относительно внутреннего объема тела.
Ограничивающие оболочки делят пространство на две части: внутреннюю и внешнюю. Невозможно перейти из одной части пространства в другую без пересечения границы. Существуют объекты, для описания которых требуется несколько граничных оболочек. Примерами таких тел являются отливки с кавернами, машиностроительные детали, обладающие отверстиями, резервуары и пр. Геометрия всех названных примеров описывается, по крайней мере двумя оболочками: внешней и внутренней. Внутренние оболочки определяют пустоты и
240
