Manichev-Zhuk-lab00-teoria (525026), страница 2
Текст из файла (страница 2)
При определении плоского контура, пользователь может наложитьгеометрические ограничения и/или ввести размеры вместо непосредственногоопределения контура. При этом геометрические ограничения – это отношения междуэлементами контура (например, перпендикулярность между двумя линиями, касаниемежду дугой и линией и т. п.). В этом случае система генерирует точный контур,удовлетворяющий данным размерам. Таким образом, изменение геометрическихограничений и/или размеров приведет к различным телам, получаемых в результатеданных операций. Этот подход называется параметрическим моделированием, потому чторазличные тела генерируются путем изменения параметров.
Параметрами могут бытьнекоторые константы, входящие в геометрические и/или размерные ограничения.Функция натягивания генерирует тело, создавая поверхность типа оболочки,заключающей некоторый объем для заданного набора сечений тела. Функции во второйгруппе моделируют каркас тела очень близко к истинному каркасу, потому что базовыесечения описывают результирующее тело точно.3. Функции сопряжения и скругления используются главным образом длямодификации существующего каркаса тела.Функции создания примитивов восстанавливают тело из числа примитивных тел,сохраняемых в библиотеке тел заранее и создают тело с тем же самым каркасом, но сразмером, указанным пользователем.
На рис. 5. показаны примитивы, поддерживаемыебольшинством систем твердотельного моделирования (в том числе и MicroStation).Рис. 5. Твердотельные примитивы.Примитивы сохраняются в некоторой процедуре, а значения параметровпримитивов передаются процедуре как ее параметры.
Комбинации примитивов сиспользованием булевых операций могут создавать любые тела. Булевы операцииоснованы не теории множеств и были применены как метод комбинирования примитивовпри моделировании тел. Каждое примитивное тело рассматривается как множествовзаимосвязанных точек, булевы операции выполняются на множествах точек и дают врезультате тело, составленное из точек, получаемых в результате этих операций.На рис. 6 приведен пример двух примитивов - параллелепипеда - тело А ицилиндра - тело В.Рис. 6 Исходные примитивы для выполнения булевых операцийБулевы операции, поддерживаемые большинством систем твердотельногомоделирования - это операции объединения, пересечения и вычитания.
На рис. 7 а), 7 б) и7 в) показаны результаты этих операций для тел А и В.а)б)в)Рис. 7. Булевы операции твердотельного моделированияОтносительные местоположения и ориентации этих двух примитивов должны бытьопределены перед выполнением булевых операций. Булевы операции можно применять кдвум любым телам, а не только к примитивам.При использовании булевых операций следует избегать ситуаций, которыеприводят к недопустимым телам.
Рис. 8. иллюстрирует случай, когда после операциипересечения тел В и А будет получена поверхность, а не тело.Рис. 8. Недопустимые тела для операции пересечения телНекоторые системы твердотельного моделирования дают предупреждение, когдавстречается такая ситуация, а некоторые могут аварийно завершиться. Гибридныесистемы моделирования тел-поверхностей допускают такие ситуации.Функции заметания используют плоский замкнутый параметрический контур дляполучения модели тела.
В этих функциях контур перемещается или вращается впространстве, чтобы сформировать тело. В первом случае получается тело протягивания,а во втором тело вращения. В системах гибридного моделирования, если плоский контурне замкнут, то получается поверхность вместо тела. На рис.
9 а) и 9 б) показанырезультаты выполнения этих функций.а)б)Рис. 9. Получение тел заметаниемФункция натягивания формирует замкнутый объем или тело, создавая поверхностьоболочки по заранее созданным плоским контурам-сечениям, как показано на рис 10.Рис. 10. Тело натягиванияЕсли две конечные грани не добавляются к результирующей ограничивающейповерхности натягивания, то получится модель поверхности вместо тела. Такиевозможности доступны в системах гибридного моделирования.Функции сопряжения и скругления модифицируют существующую модель так,чтобы ребро или вершина были заменены гладкой криволинейной поверхностью,нормальные векторы которой непрерывны с векторами сопрягаемых поверхностей.
Рис.11. показывает различные варианты скругления ребер и скругление вершины.Рис. 11. Скругление ребер и вершиныСтруктурыданныхмоделированияклассическоготвердотельногоВыше были рассмотрены основные функции твердотельного моделирования.Рассмотрим структуры данных в различных форматах для однозначного математическогоописания тел. Можно выделить три основных структуры данных для твердотельногомоделирования:1. Представление конструктивной объемной геометрии (constructive solid geometry(CSG)) или CSG представление сохраняет в некотором графе хронологию применениябулевых операций на примитивах. Этот граф называют CSG деревом.2. Граничное представление (boundary representation (B-Rep)) сохраняет граничнуюинформацию для тела (вершины, ребра и грани вместе с информацией относительно того,как они связаны между собой). Эту структуру данных называют B-Rep структуройданных.3.
Декомпозиционная модель (decomposition model) сохраняет тело как агрегат изпростых тел типа параллелепипедов.Конструктивная объемная геометрияCSG представление сохраняет последовательность применения булевых операцийна примитивах. Рассмотрим тело, показанное на рис.12. а).а)б)Рис.12. CSG представлениеПоследовательность булевых операций для него можно представить двоичнымдеревом или CSG деревом, как показано на рис. 12. б). CSG представление имеетследующие преимущества- Структура данных проста и компактна. Соответственно, управление даннымибудет простым.- Тело, сохраненное в CSG дереве будет всегда правильным телом.- CSG представление тела может всегда преобразовано в соответствующее B-repпредставление.
Таким образом, CSG представление может быть связано соответствующиминтерфейсом с прикладными программами, написанными для B-Rep.- Параметрическое моделирование может быть легко реализовано путем измененияпараметров соответствующих примитивов, например диаметра цилиндра на рис. 12.Однако CSG представление имеет следующие недостатки:- Поскольку CSG древовидная структура сохраняет последовательностьприменения булевых операций, то только эти операции разрешены в процессемоделирования, поэтому диапазон форм, которые будут смоделированы строго ограничен.Кроме того, функции модификации типа сопряжения нельзя использовать.- Требуется выполнить большой объем вычислений, чтобы из CSG дерева получитьинформацию относительно граничных граней, ребер и вершин и обеспечения связи междуэтими граничными объектами.
Вместе с тем многие приложения требуют этой граничнойинформации. Например, вычисление траекторий инструмента при обработке поверхноститела на фрезерном станке с ЧПУ. В этом случае информация об обрабатываемойповерхности с ее граничными гранями необходима. В связи с этим твердотельноемоделирование, основанное на CSG представлении, обычно поддерживает и граничное Brep представление. Эту комбинацию называют гибридным представлением, в которомподдержание соответствия между этими двумя представлениями является очень важным.B-Rep представление.Основными элементами, составляющими границу тела являются вершины, ребра играни. Таким образом, B-Rep структура данных сохраняет эти объекты вместе синформацией о том, как они связаны между собой.Таблица 1ГраньF1F2F3F4F5РебраE1,E5,E6E2,E6,E7E3,E7,E8E4,E8,E5E1,E2,E3,E4Таблица 2РеброE1E2E3E4E5E6E7E8ВершиныV1,V2V2,V3V3,V4V4,V1V1,V5V2,V5V3,V5V4,V5Таблица 3ВершинаV1V2V3V4V5Координатыx1,y1,z1x2,y2,z2x3,y2,z3x4,y4,z4x5,y5,z5В таблицах 1-3 представлен пример простой структуры данных для граничногопредставления тела, показанного на рис.
13.Рис. 13. B-rep представление телаТаблица 1 это таблица граней и она хранит список ограничивающих ребер длякаждой грани. Последовательность ребер для каждой грани определяется против часовойстрелки, когда тело рассматривается с его внешней стороны. Это правило позволяет иметьинформацию о том, где находится внутренняя и внешняя часть тела, т.е. можно для любойточки определить, расположена ли она на внутренней или внешней части тела.
Вершины,ребра и грани, показанные на рис. 13., пронумерованы в соответствии с граничнымпредставлением, показанным в таблицах 1-3.Каждая строка таблицы ребер хранит вершины для концов каждого ребра, атаблица вершин хранит x, y и z координаты вершин.
Эти координаты обычноопределяются не в мировой системе координат, а относительно системы координат тела.Если не рассматривать таблицу граней, то ту же самую структуру данных можноиспользовать для каркасных моделей, что используется для быстрого просмотрарезультатов моделирования. Такая структура данных предназначена для моделированияплоских многогранников, если грани будут криволинейными поверхностями, то в каждуюстроку таблицы граней и таблицы ребер будут добавлены уравнения соответствующихповерхностей и кривых.Декомпозиционные моделиТвердотельная модель любого тела может быть описана приблизительно какмножество простых трехмерных ячеек (например, кубиков). Такую модель называютдекомпозиционной моделью. Можно выделить три типа таких моделей:Вокселные модели;Модели в форме дерева октантов (octree);Ячеечные модели.Вокселная модель - это просто трехмерное расширение растрового представлениядвумерных форм (воксел - трехмерный аналог пиксела: pixel - picture element, voxel volume element).