Теоретико-множественные (булевы) операции играют важную роль
в твердотельном геометрическом моделировании и используются для создания сложных
объектов путём комбинирования более простых форм. К основные булевым операциям
можно отнести объединение (union), пересечение (intersection) и разность
(difference) геометрических объектов. Эти операции позволяют объединять две и
более фигур в одну, находить их пересечения или вычитать одну или несколько
фигур из другой. Применение булевых операций широко используется в
CAD-системах, инженерном проектировании, а также в моделировании физических
объектов, а подход к их реализации был неоднократно изложен в работах
отечественных [1] и зарубежных [2-5] авторов.
Операция объединения создаёт из двух объектов один,
охватывающий все области, занимаемые каждым из первоначальных объектов. С точки
зрения теории множеств, она включает в себя все точки первого и второго
объекта, а также все точки области, где эти два объекта пересекаются.
Операция разности вычитает один объект из другого, оставляя
только ту область первого объекта, которая не перекрывается вторым.
Операция пересечения создаёт из двух объектов один,
состоящий только из той области пространства, в которой эти два объекта
пересекаются.
Реализация булевых операций в системах автоматизированного
проектирования (САПР) всегда сопровождалась рядом сложностей и проблем [6-8], к которым можно отнести следующее: постоянный пересчёт границ и обрезка
поверхностей в местах пересечения объектов; настройка связности ребер и вершин
для поддержания топологической целостности конструируемых объектов; обеспечение
правильной топологии для реализации последующих операций с моделируемыми
объектами; сложность при аналитическом описании объектов сложной формы, иногда
получаемых в результате операций вычитания и пересечения; точное определение
места пересечения объектов, требующее достаточно большого объёма вычислительных
ресурсов.
Ключевыми аспектами булевых операций в геометрическом
моделировании является работа с представлениями твёрдых тел, такими как
граничное представление (B-rep), конструктивная блочная геометрия (CSG) или воксельные модели. Булевы операции в таких системах
требуют точного вычисления новых границ объектов, которые возникают на
пересечениях. Проблемы возникают из-за вычислительной сложности операций,
ошибок округления и численной нестабильности при работе с представлениями
объектов. Например, в B-rep применение булевых операций существенно влияет на
топологию объектов, поскольку эти операции изменяют структуру граней, рёбер и
вершин объектов: может измениться число граней, рёбер и вершин; рёбра и вершины
могут быть разделены или объединены; возникают сложности создания границ
геометрических объектов и замкнутых поверхностей; могут возникать некорректные
пересечения объектов.
Одной из сложностей является корректное выполнение булевых
операций с объектами, которые имеют сложные границы, или с объектами,
представления которых могут содержать ошибки. Например, если границы объектов
не замкнуты или не соответствуют правилам B-rep, результаты операций могут быть
неверными. Также при вычислениях возникают проблемы, связанные с точностью,
особенно в ситуациях, когда объекты пересекаются по очень малым участкам или
почти касаются друг друга. Это может приводить к некорректным результатам,
таким как потеря частей объекта или появление артефактов на его поверхности.
Многие исследователи в области геометрического моделирования
сосредоточились на решении этих проблем, предлагая различные алгоритмы и методы
для повышения точности и устойчивости булевых операций. Одним из подходов
является использование процедурного и адаптивного моделирования, которое
минимизирует ошибки за счёт более точного представления и обработки
пересечений. В настоящее время большое внимание уделяется интеграции булевых
операций в современные вычислительные среды с использованием GPU и параллельных
вычислений, что позволяет значительно ускорить операции.
Несмотря на значительные достижения, проблема повышения
надёжности и эффективности булевых операций остаётся актуальной. Современные
исследования направлены на улучшение алгоритмов для работы с объектами произвольной
сложности и их адаптацию для работы с большими моделями, применяемыми в
архитектуре, машиностроении и медицинской визуализации.
Использование точечного исчисления в моделировании булевых
операций над твердотельными объектами, в силу своих особенностей, способно
исключить ряд указанных проблем или существенно понизить уровень сложности их
решения. Например, все вопросы, связанные с хранением и обработкой
топологической информации о моделируемых объектах, не будут касаться моделей,
построенных при помощи точечного исчисления [9,
10]. Это связано с тем, что вся информация о геометрических свойствах модели и
её положении в пространстве изначально закладывается в единственное точечное
уравнение.
Следует отметить, что в рамках точечного исчисления
исследования в направлении теоретико-множественных операций ещё не проводились.
Методы реализации теоретико-множественных операций в
точечном исчислении сейчас находятся в стадии разработки и общий подход ещё не
выработан. В материале предлагается рассмотреть несколько классов тел с
различными конфигурациями вырезов и отверстий.
Наиболее простыми для реализации в точечном исчислении
являются тела вращения с осевыми отверстиями. Способ их построения заключается
в реализации их геометрической схемы таким образом, чтобы текущая точка тела
начинала своё движение от оси. Для создания подобных твердотельных моделей
будет достаточно изменения границ линейного параметра, отвечающего за
заполнение внутренней части тела. Для примера можно модель цилиндрического
тела, рассмотренного в [12]. Его точечное уравнение имеет следующий вид:
За заполнение точками внутреннего пространства цилиндра
отвечает линейный параметр
,
заданный в пределах от
0 до 1. Если задать его, например, в пределах от 0,5 до 1, то мы получим
цилиндр с осевым отверстием, диаметр которого равен половине диаметра цилиндра
(визуализация представлена рис. 2а). При этом нам не понадобилось
модифицировать само уравнение, а только изменить значение линейного параметра. Данный
способ моделирования подходит для всех тел вращения, в которых необходимо
получить осевое отверстие, по своей форме соответствующее форме тела. Таким
образом можно существенно упростить задачу построения каналовых тел, подробно
описанную в [11], так как не придётся аналитически учитывать наличие стенки
канала, что существенно упростит итоговое уравнение. Если конфигурация
отверстия по своей форме отличается от формы тела, то необходимо использовать
другой способ моделирования. Он заключается в получении уравнения оболочки
отверстия и соединения его с оболочкой основного тела текущей точкой. Также
этот способ подойдёт для случаев, когда ось отверстия или выреза не совпадает с
осью тела.
В качестве примера возьмём простую конфигурацию – конический
вырез в коническом теле (рис. 1). Сначала определим уравнение выреза. Так как
построение конического тела уже разбиралось в [12],
то запишем уравнение боковой поверхности конического выреза, исходя из нашей
геометрической схемы:
|
(1)
|
где
– угловой
параметр от 0 до
,
а параметры
,
и
являются отношениями
к
,
к
и
к
соответственно.
В случае равенства первых двух параметров – конический вырез будет круговым.
Далее определим боковую поверхность основного конуса:
|
(2)
|
Здесь следует акцентировать внимание на том, что в формулах
(1) и (2) должны быть использованы одинаковые угловые и линейные параметры.
Согласованность этих параметров в соединяемых текущей точкой оболочках
обеспечивает при формировании тела обеспечивает упорядоченность точек внутри
тела, а также гарантирует отсутствие самопересечений.
Рис.
1. Геометрическая схема кругового конуса с коническим вырезом.
Соединяем (1) и (2) текущей точкой
при
помощи линейного параметра
,
изменяющегося от 0 до
1:
|
(3)
|
Результаты моделирования по уравнению 3 можно увидеть на
рисунке 1б. Модель содержит 90 000 точек. Отношение радиуса основания
выреза к радиусу основания основного конуса 0,75, параметры
и
равны.
Также приводим результаты моделирования с
и
на рис. 1в (для наглядности модель
представлена в разрезе).
Рис. 2.
Визуализация модели тела цилиндра с осевым отверстием а), кругового конуса с
коническим вырезом б) и кругового конуса с эллиптическим коническим вырезом в).
Разберём поэтапно процесс моделирования усечённого
конического тела с эллиптическим осевым отверстием. Первый этап – получение
точечного уравнения тела усечённого конуса (рис. 3). В [13]
подобная задача рассматривалась, но там была использована иная параметризация
и, как следствие, получилось другое уравнение.
Рис.
3. Геометрическая схема усечённого конуса.
Определим на отрезках
,
и
текущие
точки
,
и
соответственно при помощи параметра
,
изменяющегося от 0 до 1:
|
(4)
|
Таким образом, мы получили точки подвижного симплекса
,
в котором можно определить текущую точку
эллипса
:
|
(5)
|
где
–
угловой параметр от 0 до
.
Заполним полученный эллипс точками, определив текущую точку
,
используя (5):
|
(6)
|
где
–
линейный параметр, изменяющийся от 0 до 1.
Теперь определим наше тело конуса путём подстановки (1) в
(3):
|
(7)
|
Уравнение (7) представляет собой один вариантов уравнения
тела конуса, где параметр
отвечает за высоту конуса
и данное уравнение также может быть использовано для построения тела усечённого
конуса, если параметр
задать не от 0 до 1, а от 0 до
отношения высоты усечённого конуса к высоте полного конуса. Следует отметить,
что для правильного построения модели необходимо, чтобы «нулевое» значение
параметра
определяло нижнюю плоскость конуса.
Теперь немного усложним задачу и смоделируем тело усечённого
конуса с вертикальным осевым отверстием (рис. 4).
Рис.
4. Геометрическая схема усечённого конуса с вертикальным осевым отверстием.
Процесс моделирования будет похож на предыдущий пример с той
разницей, что в данной схеме необходимо определить эллиптический вырез путём
нахождения его точек
и
при
помощи формулы параллельного переноса:
|
(8)
|
где
.
В уравнениях (8) точка
является
текущей точкой оси конуса, что даёт возможность сформировать подвижный симплекс
[14] для построения вертикального
отверстия. Далее определяем текущую точку эллиптического отверстия с
последующей подстановкой (4) и (8):
|
(9)
|
где
–
угловой параметр от 0 до
.
Определяем точку
с последующей
подстановкой формулы (4):
|
(10)
|
Определяем точку
на отрезке
при помощи (9) и (10):
|
(11)
|
где
–
линейный параметр, изменяющийся от 0 до 1.
Результатом работы уравнения (11) является точечное
уравнение тела усеченного конуса с осевым эллиптическим отверстием (рис. 5).
Условием правильной работы уравнения (11) является корректная увязка
постоянного параметра
и максимального значения
изменяемого параметра
:
Рис.
5. Визуализация точечного тела усеченного конуса с осевым отверстием.
Если необходимо сделать вырез, форма которого будет
отличаться от формы остального тела, то необходимо провести изменения в
геометрической схеме. Следует написать уравнение внутренней поверхности тела и
соединить его с внешней поверхностью, предварительно синхронизировав их
параметры. Синхронизация параметров является неотъемлемой частью данного
способа построения геометрических твердотельных объектов, так как в случае
нарушения направления или шага параметров связываемых между собой объектов,
геометрические свойства итогового точечного тела будут нарушены или полностью
утрачены.
Например, создадим аналитическое описание сферического тела
с эллиптическим внутренним вырезом (рис. 6).
Рис. 6.
Геометрическая схема эллиптического тела с вырезом
Внутренний вырез определяется точками, лежащими на осях
локального симплекса
:
Уравнение эллиптической поверхности возьмём из [15]. Причём, и для внутреннего, и для внешнего тела уравнения будут одинаковы за
исключением опорных точек. Угловые параметры также будет совпадать, так как
точки должны в телах заполняться в одном и том же направлении и порядке.
где
–
текущий угловой параметр точечного уравнения, который изменяется от 0 до 2π,
а где
– текущий угловой параметр, который
изменяется от
до
.
После получения уравнений оболочек, остаётся соединить их
при помощи текущий точки
средствами линейного
параметра
:
Результаты моделирования представлены на рис. 7.
Рис. 7.
Точечная твердотельная модель сферы с эллиптическим внутренним вырезом
Особенностью данного способа построения твердотельных
геометрических объектов является возможность создавать внутреннюю структуру
точечных тел вращения без дополнительных изменений в аналитическом описании, а
только средствами работы с параметрами, которые определяют внутреннюю структуру
тела вращения.
С точки зрения создания вырезов и отверстий в ТИ, гранные
тела являются более сложными в связи с особенностями их параметризации. В
первую очередь это связано с тем, что тела вращения, в большинстве случаев,
образуются на основании уравнения эллипса, которое имеет единственный угловой
параметр. Причём, в случае тел вращения, есть возможность создавать
поверхность, а лишь после этого проводить заполнение внутренней её части
точками при помощи дополнительного параметра. Организация структуры гранных тел
в ТИ существенно отличается – связывание нескольких прямых линий в тело
происходит средствами нескольких параметров, минуя стадию создания отдельной
поверхности. Т.е. на выходе мы сразу получаем уравнение тела с тремя
параметрами. Это свойство накладывает определённые ограничения и на
всевозможные конфигурации вырезов и отверстий, которые можно создавать в
гранных телах, также это касается гранной формы отверстий вырезов в телах
вращения.
В качестве одного из примеров рассмотрим создание призматического
осевого отверстия в цилиндрическом теле (рис. 8).
Уравнения цилиндрического и призматического тел известны из [12]. Для создания данной конфигурации отверстия нам необходимо соединить
внутреннюю поверхность выреза с внешней поверхностью при помощи текущей точки.
Но есть сложности с созданием внутренней поверхности: в процессе создания
призматических тел, уравнение боковой поверхности такого тела не получается ни
на одном из этапов моделирования. Тем не менее, массив точек, который будет
представлять собой боковую поверхность призматического тела (как и любого
другого гранного тела), получить можно. Но для этого нужно сначала получить все
точки тела, а затем сделать выборку по значению параметра среди них (какие
именно значения параметра нужно выбирать – зависит от конкретного случая
параметризации тела). Это легко сделать, если существует база данных точек. Но
получить отдельное аналитическое описание всей боковой поверхности или полной
поверхности гранного тела на данном этапе развития твердотельного моделирования
в ТИ не представляется возможным. В связи с этим, для получения аналитического
описания всевозможных конфигураций вырезов в таких телах, предлагается
разбивать тело на этапе проектирования на отдельные части (по количеству граней
тела или выреза). В случае рис. 8 – это 4 части.
Рис. 8.
Геометрическая схема цилиндрического тела с квадратным осевым отверстием
Пусть задан пространственный симплекс
,
а на его сторонах
и
– точки
и
соответственно,
которые определяют конфигурацию отверстия:
Уравнение боковой поверхности цилиндра будет иметь вид:
где
– линейный
параметр,
– угловой параметр.
Для получения тела необходимо соединить грань отверстия
с сегментом боковой поверхности цилиндра
при помощи текущей точки и согласовать параметры, отвечающие за формирование
сегмента цилиндра и стенки выреза. Для этого определим точку
на прямой
и
соединим её с точкой
на дуге
:
Мы получили заполненную точками плоскость
.
Причём в качестве параметра, который
отвечает за текущую точку
мы взяли
,
чтобы параметры на дуге и прямой были
синхронизированы. При этом
.
Аналогично определим верхнее основание тела
:
Далее остаётся соединить 2 полученные точки
и
при
помощи параметра
:
Рис.
9. Точечное тело сегмента кругового цилиндра с призматическим вырезом
Для получения полного тела, полученный (рис. 9) сегмент
можно размножить при помощи кругового массива. В случае, если отверстие в теле
будет смещено, необходимо будет получить уравнение для каждого из сегментов
(уравнения будут однотипными и отличаться только постоянными параметрами,
определяющими опорные точки отверстия).
Приведём пример построения четырёхугольной призмы с
эллиптическим отверстием. Пусть в пространственном симплексе
задана четырёхугольная призма с
эллиптическим отверстием.
Рис.
10. Геометрическая схема четырехугольной призмы с эллиптическим отверстием
Определим положение точек
и
на прямых
и
соответственно.
Следует отметить, что при использовании для точек
и
одинаковых
параметров, отверстие будет иметь круглую форму, но если взять различные
параметры, то форма отверстия станет эллиптической.
Определим текущую точку
плоскости
:
Аналогично определим текущую точку
плоскости
:
Общее уравнение тела получим, соединив точки
и
:
Все параметры уравнений аналогичны тем, что были описаны при
построении сегмента цилиндрического тела с призматическим вырезом. Принцип
построения уравнений и согласование параметров также аналогичны. Пример
визуализации приведён на рис. 11.
Рис.
11. Точечное тело сегмента четырехугольной призмы с эллиптическим отверстием
Для обработки параметрических уравнений применялось
авторское программное обеспечение Point Calculus Software (свидетельство о
государственной регистрации программы для ЭВМ №
2025610353).
Результаты вычислений экспортировались в формат .DXF,
после чего полученные массивы точек визуализировались с использованием свободно
распространяемого программного обеспечения CloudCompare (cloudcompare.org).
В результате проведенных исследований можно сделать
следующие выводы:
1.
Рассмотрены новые способы получения твердотельных моделей на базе
аппарата точечного исчисления, получены точечные параметрические уравнения
некоторых тел вращения и гранных тел с различными конфигурациями отверстий и
вырезов, реализована визуализация полученных моделей.
2.
Описаны особенности параметризации полученных геометрических моделей,
сделаны акценты на взаимодействии параметров.
3.
В работе предложен способ создания вырезов и отверстий в телах вращения
без изменения уравнений этих тел. Изменение геометрической конфигурации тела
происходит за счёт особенностей параметризации модели и последующего численного
изменения параметров при её построении. Это позволяет существенно сократить
объём аналитического описания тела и оптимизировать вычислительные ресурсы при
его моделировании и визуализации.
4.
Описанные способы моделирования позволяют изменять геометрические
характеристики твердотельных моделей, не привлекая при этом дополнительный
объем ресурсов для хранения и обработки информации, так как все итоговые модели
представляют собой точечные параметрические уравнения, содержащие информацию о
внешней и внутренней структуре объекта, а также о его положении в пространстве.
Полученные результаты позволяют перейти к моделированию более сложных
конфигураций твёрдых тел.
5.
Визуализация полученных результатов осуществлялась при помощи точечно
представленной геометрической модели.
1.
Голованов Н. Н. Геометрическое моделирование. ДМК Пресс, 2024. 408 с.
2.
C. Hoffmann. Geometric
and Solid Modeling. — 2002
3.
R. Rossignac, A.G.
Requicha. Solid Modeling // Review article. — 1994
4.
Michael E.
Mortenson.
Geometric
Modeling 2nd Edition.
Wiley – 1997.
5.
M. Mantyla. An
Introduction to Solid Modeling. — 1988
6.
A.G. Requicha, H.B.
Voelcker. Boolean Operations in Solid Modeling: Boundary Evaluation and Merging
Algorithms // Technical Memorandum. — 1984
7.
M.C. Arruda. Boolean
Operations on Non-Manifold and B-Rep Solids for Mesh Generation. — 2006
8.
S. Krishnan, M. Gopi, D. Manocha, M. Mine. Interactive
Boundary Computation of Boolean Combinations of Sculptured Solids. — 1997
9.
Konopatskiy, E.
Theoretical Basis of Mathematical Apparatus for Parallel Computing
Implementation in Computer-Aided Design Systems / E. Konopatskiy // Programming
and Computer Software. – 2024. – Vol. 50, No. 5. – P. 335-342.
10.
Конопацкий, Е. В. Геометрические
основы параллельных вычислений в системах компьютерного моделирования и
автоматизированного проектирования / Е. В. Конопацкий // Труды Международной
конференции по компьютерной графике и зрению "Графикон". – 2022. – №
32. – С. 816-825.
11.
Конопацкий Е.В. , Бездитный А.А.
Проблема визуализации твердотельных моделей в виде трёхпараметрического
множества точек (2022). Научная визуализация 14.2: 49 - 61, DOI:
10.26583/sv.14.2.05
12.
Principles of solid modelling in point calculus
/ E. V. Konopatskiy, A. A. Bezditnyi, M. V. Lagunova, A. V. Naidysh // Journal
of Physics: Conference Series: 5, Omsk, 16–17
марта
2021
года.
– Omsk, 2021. – P. 012063. – DOI
10.1088/1742-6596/1901/1/012063.
13.
Бездитный, А. А. Формообразующие
операции выдавливания и вращения твердотельного моделирования геометрических
объектов в точечном исчислении / А. А. Бездитный // Вестник компьютерных и
информационных технологий. – 2023. – Т. 20, № 1(223). – С. 18-26. – DOI
10.14489/vkit.2023.01.pp.018-026.
14.
Малютина, Т. П. Задание
поверхности вращения эвольвенты круга методом подвижного симплекса / Т. П.
Малютина, И. П. Давыденко // Вестник Донбасской национальной академии
строительства и архитектуры. – 2021. – № 3(149). – С. 51-55.
15.
Konopatskiy E., Bezditnyi A. Solid modeling
of geometric objects in point calculus / CEUR Workshop Proceedings: 31, Nizhny
Novgorod, 27–30 sept. 2021. – Nizhny Novgorod, 2021. – P. 666-672.
Implementation of the Set-Theoretic Subtraction Operation in Point Calculus
Author: A.A. Bezditnyi1
Melitopol State University
1 ORCID: 0000-0003-0528-9731, bezdytniy@gmail.com
Abstract
This paper presents an approach to modeling solid geometric objects and their interactions using the apparatus of point calculus in the context of Boolean operations. The study explores the implementation of the Boolean subtraction operation for point-based bodies of various configurations. Parametric point equations are proposed for cuts and holes of different shapes, along with the required modeling parameters and their combinations.
Several modeling techniques are introduced, including the creation of holes through parameter adjustments without modifying the original point equations. This enables the construction of thin-walled structures based on point-defined solids. The method of combining surfaces into a unified body via a current point, with consistent parameter coordination, is also discussed. These techniques eliminate the need for intersection computations between surfaces, thereby avoiding issues such as discontinuities and invalid boundaries. The modeling accuracy is directly dependent on the available computational resources and is ensured by increasing the density of points within the solid object.
To visualize the equations obtained in the work, a point-represented geometric model is used, which is defined as an analytically defined ordered set of points in Euclidean space, formed using parametric equations, possessing a controllable internal structure and not requiring explicit topological connections.
Keywords: geometric modeling, set theorists, boolean operations, geometric solid, point calculus, point solid model.
1. Golovanov N.N. Geometric modeling. DMK Press, 2024. 408 p.
2. C. Hoffmann. Geometric and Solid Modeling. — 2002.
3. R. Rossignac. A.G. Requicha. Solid Modeling // Review article. — 1994.
4. Michael E. Mortenson. Geometric Modeling 2nd Edition. Wiley - 1997.
5. M. Mantyla. An Introduction to Solid Modeling. — 1988.
6. Requicha A.G., Voelcker H.B.. Boolean Operations in Solid Modeling: Boundary Evalu-ation and Merging Algorithms // Technical Memorandum. — 1984.
7. Arruda M.C.. Boolean Operations on Non-Manifold and B-Rep Solids for Mesh Genera-tion. — 2006.
8. S. Krishnan, M. Gopi, D. Manocha, M. Mine. Interactive Boundary Computation of Boolean Combinations of Sculptured Solids. — 1997.
9. Konopatskiy E.V.. Theoretical Basis of Mathematical Apparatus for Parallel Computing Implementation in Computer-Aided Design Systems / E. Konopatskiy // Programming and Computer Software. – 2024. – Vol. 50, No. 5. – P. 335-342.
10. Konopatsky E.V.. Geometric foundations of parallel computing in computer modeling and computer-aided design systems // Proceedings of the International Conference on Com-puter Graphics and Vision "Graphicon". – 2022. – No. 32. – P. 816-825.
11. Konopatsky E.V. , Bezditny A.A. The problem of visualizing solid models in the form of a three-parameter set of points (2022). Scientific Visualization 14.2: 49 - 61, DOI:
10.26583/sv.14.2.05.
12. Konopatskiy E.V., Bezditnyi A. A., Lagunova M.V., Naidysh A.V. Principles of solid modeling in point calculus // Journal of Physics: Conference Series: 5, Omsk, March 16–17, 2021. – Omsk, 2021. – P. 012063. – DOI 10.1088/1742-6596/1901/1/012063.
13. Bezditny A.A. Shape-forming operations of extrusion and rotation of solid modeling of geometric objects in point calculus // Bulletin of computer and information technologies. – 2023. – T. 20, No. 1(223). – P. 18-26. – DOI 10.14489/vkit.2023.01.pp.018-026.
14. Malyutina, T. P. Assigning a computer surface of a circle involute by the moving sim-plex method / T. P. Malyutina, I. P. Davydenko // Bulletin of the Donbass National Academy of Civil Engineering and Architecture. - 2021. - No. 3 (149). - P. 51-55.
15. Konopatskiy E.V., Bezditnyi A.A. Solid modeling of geometric objects in point calculus / CEUR Workshop Proceedings: 31, Nizhny Novgorod, 27–30 sept. 2021. – Nizhny Novgorod, 2021. – P. 666-672.