Interested Article - Конструктивная сплошная геометрия

Конструктивная блочная геометрия, КБГ ( англ. 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

Ссылки

  • — объяснение терминов, уравнений и применений.
  • — библиотека с открытым кодом ( LGPL ), которая содержит возможности CSG на сетках из треугольников.
  • — библиотека с открытым кодом ( LGPL , ), которая содержит, помимо прочего, .
  • — библиотека с открытым кодом, которая производит ориентированный на изображения CSG- рендеринг с использованием OpenGL .
  • — простой функциональный язык для геометрического моделирования, способный исполнять CSG-операции на различных типах объектов.
  • — программа 3D CAD с открытым исходным кодом.
  • — интерактивное твердотельное моделирование для симуляции перемещения частиц по методу Монте-Карло.
  • — wikipedia CSG binary tree as replicated using FME (Feature Manipulation Engine).
  • — программная библиотека для программ с 3D/2D-графикой, разработанная на C++ с использованием OpenGL, содержит способности CSG на сетках из треугольников.
Источник —

Same as Конструктивная сплошная геометрия