Введение

Создание сложной 3D поверхности или объекта путем объединения примитивных объектов.

Конструктивная твердотельная геометрия (CSG; ранее называлась вычислительной бинарной твердотельной геометрией) — это техника, используемая в твердотельном моделировании. Конструктивная твердотельная геометрия позволяет моделировщику создавать сложную поверхность или объект, используя булевы операции для объединения более простых объектов, что потенциально позволяет генерировать визуально сложные объекты, комбинируя лишь несколько примитивов. В 3D компьютерной графике и CAD CSG часто применяется в процедурном моделировании. CSG также может выполняться над полигональными сетями и может быть как процедурной, так и параметрической, или не быть ими. В отличие от CSG, существуют моделирование полигональных сеток и моделирование примитивами (box modeling).

Работа

Простейшие твердые объекты, используемые для представления, называются геометрическими примитивами. Обычно это объекты простой формы: кубоиды, цилиндры, призмы, пирамиды, сферы, конусы. Почти все инженерные CAD-системы используют CSG (конструктивную твердотельную геометрию), что может быть полезно для представления резов инструмента и элементов, где детали должны точно соединяться. Движки Quake и Unreal Engine используют эту систему, как и Hammer (нативный редактор уровней движка Source) и Torque Game Engine / Torque Game Engine Advanced. CSG популярен, поскольку моделист может использовать набор относительно простых объектов для создания очень сложной геометрии. Это может быть важно для некоторых производственных или инженерных вычислительных задач. В отличие от этого, при создании геометрии на основе граничных представлений требуются дополнительные топологические данные или необходимо проводить проверки согласованности, чтобы убедиться, что заданное описание границы определяет корректный твердый объект. Это важное свойство для некоторых приложений, таких как трассировка лучей. Другой подход разделяет обнаружение примитивных форм и вычисление CSG-дерева, определяющего конечную модель. Этот подход использует возможности современных инструментов программного синтеза для поиска CSG-дерева с минимальной сложностью. Существуют также методы, использующие генетические алгоритмы для итеративной оптимизации начальной формы в направлении формы целевой сетки.