Конструктивная блочная геометрия, КБГ (англ.Constructive Solid Geometry, CSG) — технология, используемая в моделировании твёрдых тел[англ.]. Конструктивная блочная геометрия зачастую, но не всегда, является способом моделирования в трёхмерной графике и САПР. Она позволяет создать сложную сцену или объект с помощью битовых операций для комбинирования нескольких иных объектов. Это позволяет более просто математически описать сложные объекты, хотя не всегда операции проходят с использованием только простых тел. Так, часто с помощью конструктивной блочной геометрии представляют модели или поверхности, которые выглядят визуально сложными; на самом деле, они являются немногим более чем умно скомбинированные или декомбинированные простые объекты. В некоторых случаях конструктивная блочная геометрия исполняется с помощью полигональных сеток (англ.polygonal mesh), и может быть процедурной и/или параметрической.
Простейшие тела, используемые в конструктивной блочной геометрии — примитивы (англ.primitives), тела с простой формой: куб, цилиндр, призма, пирамида, сфера, конус. Набор доступных примитивов зависит от программного пакета. Так, некоторые программы позволяют создание конструктивной блочной геометрии на основе кривых объектов, а некоторые нет.
Примитив, как правило, может быть описан процедурой, которая принимает некоторые значения параметров, например, для построения сферы достаточно знать её радиус и положение центра.
Примитивы могут быть скомпонованы в составные объекты с помощью таких операций:
Конструктивная блочная геометрия имеет ряд практических применений. Она используется там, где необходима простота (игровой движок, например, Unreal Engine и Source Engine) или математическая точность (САПР, например, определение водонепроницаемости конструкции).
Martti Mantyla, «An Introduction to Solid modeling», 1988
Christoph M. Hoffman, «Geometric and Solid modeling», 1989
Philip M. Hubbard, «Constructive Solid Geometry for Triangulated Polyhedra», 1990
Michael Muuss & Lee Butler, Глава «Combinatorial Solid Geometry, B-Reps, and n-Manifold Geometry» из книги «State of the Art in Computer Graphics», 1991
SimpleGeo — интерактивное твердотельное моделирование для симуляции перемещения частиц по методу Монте-Карло.
FMEpedia CSGBuilder example — wikipedia CSG binary tree as replicated using FME (Feature Manipulation Engine).
SolidKit Library — программная библиотека для программ с 3D/2D-графикой, разработанная на C++ с использованием OpenGL, содержит способности CSG на сетках из треугольников.
Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!