Главная > Математика > Геометрическое моделирование
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

6.10. Построение тонкостенного тела

Рассмотрим построение тонкостенных тел двух типов. Тела обоих типов будут строиться по некоторому базовому телу. Тело первого типа будет иметь замкнутую полость внутри. Оно имеет две оболочки, делящие пространство на три части: одна из них лежит вне тела, вторую занимает тело, а третья является внутренней полостью тела. Тело второго типа будет представлять собой открытое тонкостенное тело, имеющее одну оболочку. Тело первого типа будем называть закрытым тонкостенным телом, а тело второго типа — открытым тонкостенным телом. Закрытое тонкостенное тело можно считать частным случаем открытого тонкостенного тела.

Закрытое тело.

Закрытое тонкостенное тело с толщиной стенки h получим следующим образом. Построим эквидистантную оболочке базового тела оболочку. Процесс построения эквидистантной оболочки был описан при построении эквидистантного тела. Далее вывернем наизнанку одну из этих оболочек. Если h > 0, то вывернем наизнанку оболочку базового тела, если h < 0, то вывернем наизнанку эквидистантную оболочку. Эти две оболочки и создадут тонкостенное тело. Закрытое тонкостенное тело можно представить по рис. 6.9.5.

Данное тонкостенное тело является в отличие от других рассмотренных тел телом с пустотами. В общем случае тело с пустотами имеет несколько оболочек. Одна из них является внешней, а остальные — внутренними и лежат внутри внешней оболочки. Все оболочки не должны пересекать друг друга. Вектор нормали к внешней оболочке направлен вне объема оболочки, а векторы нормалей к внутренним оболочкам направлены внутрь объема, ограниченного ими.

Открытое тело.

Открытое тонкостенное тело строится на базе некоторого тела путем удаления одной или нескольких граней последнего и «придания оставшимся граням конечной толщины». Конечно, грань не может иметь толщину, поэтому к оставшейся после удаления некоторых граней открытой оболочке строится эквидистантная открытая оболочка, а затем эти оболочки замыкаются частями удаляемых граней. В результате получается одна замкнутая оболочка.

Рис. 6.10.1. Исходное тело

Рис. 6.10.2. Тонкостенное тело

На рис. 6.10.2 приведен пример открытого тонкостенного тела (h > 0), построенного путем вскрытия одной грани тела, показанного на рис. 6.10.1.

Рассмотрим процесс построения оболочки открытого тонкостенного тела. Прежде всего, рассортируем грани базового тела на две группы: к первой группе отнесем вскрываемые грани базового тела, а ко второй группе отнесем остальные грани базового тела, которые будем называть сохраняемыми. Сгруппируем ребра базового тела: к первой группе отнесем ребра, по которым пересекаются между собой вскрываемые грани базового тела, а ко второй группе отнесем ребра сохраняемых граней базового тела.

Процесс построения оболочки открытого тонкостенного тела имеет много общего с процессом построения эквидистантного тела.

Для каждой сохраняемой грани базового тела построим эквидистантную грань. Поверхность каждой эквидистантной грани и каждой вскрываемой грани должна иметь возможность быть продолженной до пересечения с поверхностями соседних граней. Радиус-вектор эквидистантной поверхности определяется формулой (3.14.1). На продолжении эквидистантной поверхности за пределы области определения параметров ее радиус-вектор будем вычислять по одной из формул (3.14.8)-(3.14.10) в зависимости от замкнутости базовой поверхности.

Далее рассмотрим вершины сохраняемых граней базового тела. Каждой рассматриваемой вершине будут соответствовать одна или несколько вершин тонкостенного тела. В каждой вершине тонкостенного тела будут стыковаться несколько ребер. Вершина тонкостенного тела базируется на точке пересечения эквидистантных поверхностей или на точке пересечения эквидистантных поверхностей с поверхностями вскрываемых граней. Вычислив эти точки, мы найдем параметры пересекающихся поверхностей, которые будут служить нам в качестве начальных и конечных точек линий пересечения поверхностей.

Рассмотрим последовательно ребра сохраняемых граней базового тела (ребра второй группы). Для каждого ребра построим соответствующее ребро тонкостенного тела. Для этого найдем линии пересечения эквидистантных поверхностей между собой и с поверхностями вскрываемых граней. Начальные и конечные точки ребер нам известны.

По построенным вершинам перестроим ребра пересечения вскрываемых граней (ребра первой группы).

Далее вывернем наизнанку часть граней.

Рис. 6.10.3. Базовое тело

Рис. 6.10.4. Тонкостенное тело, построенное внутрь от базового тела

Рис. 6.10.5. Тонкостенное тело, построенное наружу от базового тела

Если , то изменим на противоположные направления циклов и нормалей сохраняемых граней базового тела и направления циклов вскрываемых граней базового тела. Если h < 0, то изменим на противоположные направления нормалей эквидистантных граней (циклов они еще не имеют).

На последнем этапе построим циклы эквидистантных граней и перестроим циклы вскрываемых граней. Таким образом, оболочка открытого тонкостенного тела будет составлена из сохраняемых граней, эквидистантных к ним граней и частей вскрываемых граней.

Открытое тонкостенное тело может быть построено как наружу (h > 0), так и внутрь (h < 0) от базового тела. На рис. 6.10.4 приведено открытое тонкостенное тело, построенное внутрь от базового тела путем вскрытия трех граней. Базовое тело приведено на рис. 6.10.3. На рис. 6.10.5 приведено открытое тонкостенное тело, построенное на основе этого же базового тела наружу от него тела путем вскрытия тех же трех граней (с большей толщиной стенки).

Операция построения тонкостенного тела наряду с булевыми операциями является мощным средством для построения тел сложной формы. На рис. 6.10.6 приведено открытое тонкостенное тело, построенное на базе тела, показанного на рис. 6.10.5, путем вскрытия двух граней.

Рис. 6.10.6. Тонкостенное тело на базе тонкостенного тела

Рис. 6.10.7. Разрез тонкостенного тела

На рис. 6.10.7 приведен разрез двумя плоскостями этого тонкостенного тела, на котором видны внутренние полости тела.

Тонкостенное тело принадлежит к сложным телам. В его дерево построения положим структуру данных исходного тела, толщину стенки и список удаляемых граней.

<< Предыдущий параграф Следующий параграф >>
Оглавление