csgdel

Удалите контуры между субдоменами

Описание

пример

[dl1,bt1] = csgdel(dl,bt,bl) удаляет контуры между субдоменами, заданными в bl. При удалении контуров в bl делает анализируемую матрицу геометрии противоречивой, затем csgdel удаляет дополнительные сегменты границы (сегменты ребра между субдоменами), чтобы сохранить непротиворечивость.

Удаление контуров обычно изменяет идентификаторы ребра остающихся контуров.

csgdel не удаляет граничные сегменты (внешние границы).

пример

[dl1,bt1] = csgdel(dl,bt) удаляет все контуры между субдоменами.

Примеры

свернуть все

Удалите ребра в 2D геометрии, созданной в приложении PDE Modeler и экспортируемой в MATLAB® рабочая область.

Создайте геометрию в приложении PDE Modeler путем ввода следующих команд в командное окно MATLAB:

pdecirc(0,0,1,'C1')
pdecirc(0,0,0.5,'C2')
pderect([-0.2 0.2 0.2 0.9],'R1')
pderect([0 1 0 1],'SQ1')

Уменьшайте геометрию до первого квадранта путем пересечения его с квадратом. Для этого введите (C1+C2+R1)*SQ1 в поле Set formula.

Из приложения PDE Modeler экспортируйте матрицу описания геометрии, установите формулу и матрицу пространства имен к рабочему пространству MATLAB путем выбора Export Geometry Description, Set Formula, Labels из меню Draw.

В командном окне MATLAB используйте decsg функция, чтобы разложить экспортируемую геометрию на минимальные области. Это создает AnalyticGeometry объект dl. Постройте dl.

[dl,bt] = decsg(gd,sf,ns);
pdegplot(dl,'EdgeLabels','on','FaceLabels','on')
xlim([-0.1 1.1])
ylim([-0.1 1.1])

Geometry consisting of two nested quarter-circles and a rectangle forming four faces

Удалите ребра 1, 2, и 13 использований csgdel функция. Задайте ребра, чтобы удалить как вектор из идентификаторов ребра. Постройте получившуюся геометрию.

[dl1,bt1] = csgdel(dl,bt,[1 2 13]);
pdegplot(dl1,'EdgeLabels','on','FaceLabels','on')
xlim([-0.1 1.1])
ylim([-0.1 1.1])

Geometry with two faces

Теперь удалите все контуры между субдоменами и постройте получившуюся геометрию.

[dl1,bt1] = csgdel(dl,bt);
pdegplot(dl1,'EdgeLabels','on','FaceLabels','on')
xlim([-0.1 1.1])
ylim([-0.1 1.1])

Geometry with one face, which is a quarter of a circle

Входные параметры

свернуть все

Анализируемая матрица геометрии, возвращенная как матрица чисел с двойной точностью. Это содержит представление анализируемой геометрии в терминах разделенных минимальных областей, созданных decsg алгоритм. Каждый сегмент ребра минимальных областей соответствует столбцу в dl. Сегменты ребра между минимальными областями (субдомены) являются сегментами границы. Внешние границы являются граничными сегментами. В каждом столбце вторые и третьи строки содержат запуск и окончание x - координаты. Четвертые и пятые строки содержат соответствующий y - координаты. Шестые и седьмые строки содержат левые и правые минимальные метки области относительно направления, вызванного начальными и конечными точками (направление против часовой стрелки на круге и сегментах эллипса). Существует три типа возможных сегментов ребра в минимальной области:

  • Для круговых сегментов ребра первой строкой является 1. Восьмые и девятые строки содержат координаты центра круга. 10-я строка содержит радиус.

  • Для сегментов ребра линии первой строкой является 2.

  • Для сегментов ребра эллипса первой строкой является 4. Восьмые и девятые строки содержат координаты центра эллипса. 10-е и 11-е строки содержат полуоси эллипса. 12-я строка содержит вращательный угол эллипса.

Все столбцы в анализируемой матрице геометрии имеют одинаковое число строк. Строки, которые не требуются для конкретной формы, заполнены нулями.

Номер строки Круговой сегмент ребра Сегмент ребра линии Сегмент ребра эллипса
1124
2запуск x - координатазапуск x - координатазапуск x - координата
3окончание x - координатаокончание x - координатаокончание x - координата
4запуск y - координатазапуск y - координатазапуск y - координата
5окончание y - координатаокончание y - координатаокончание y - координата
6оставленная минимальная метка областиоставленная минимальная метка областиоставленная минимальная метка области
7правильная минимальная метка областиправильная минимальная метка областиправильная минимальная метка области
8x- центра x- центра
9y- центра y- центра
10радиус круга x- перед вращением
11  y- перед вращением
12  

Угол в радианах между x - ось и первой полуосью

Типы данных: double

Булева таблица, связывающая исходные формы с минимальными областями, возвращенными как матрица 1 с и 0s.

Типы данных: double

Контуры, чтобы удалить в виде положительного целого числа или вектора из положительных целых чисел. Каждое целое число представляет граничный ID.

Типы данных: double

Выходные аргументы

свернуть все

Измененная анализируемая матрица геометрии, возвращенная как матрица чисел с двойной точностью.

Типы данных: double

Булева таблица, связывающая остающиеся исходные формы с минимальными областями, возвращенными как матрица 1 с и 0s.

Типы данных: double

Смотрите также

Представлено до R2006a