WikiSort.ru - Комьютерные игры

ПОИСК ПО САЙТУ | о проекте

Конструктивная блочная геометрия, КБГ (англ. Constructive Solid Geometry, CSG) — технология, используемая в моделировании твёрдых тел. Конструктивная блочная геометрия зачастую, но не всегда, является способом моделирования в трёхмерной графике и САПР. Она позволяет создать сложную сцену или объект с помощью битовых операций для комбинирования нескольких иных объектов. Это позволяет более просто математически описать сложные объекты, хотя не всегда операции проходят с использованием только простых тел. Так, часто с помощью конструктивной блочной геометрии представляют модели или поверхности, которые выглядят визуально сложными; на самом деле, они являются немногим более чем умно скомбинированные или декомбинированные простые объекты. В некоторых случаях конструктивная блочная геометрия исполняется с помощью полигональных сеток (англ. polygonal mesh), и может быть процедурной и/или параметрической.

Простейшие тела, используемые в конструктивной блочной геометрии — примитивы (англ. primitives), тела с простой формой: куб, цилиндр, призма, пирамида, сфера, конус. Набор доступных примитивов зависит от программного пакета. Так, некоторые программы позволяют создание конструктивной блочной геометри на основе кривых объектов, а некоторые нет.

Построение более сложного объекта происходит путём применения к описаниям объектов булевых (двоичных) операций на множествах — объединение, пересечение и разность.

Примитив, как правило, может быть описан процедурой, которая принимает некоторые значения параметров, например, для построения сферы достаточно знать её радиус и положение центра.

Примитивы могут быть скомпонованы в составные объекты с помощью таких операций:

Операции на конструктивной блочной геометрии
булево объединение булева разность булево пересечение
Объединение: слияние двух объектов в один Разность: вычитание одного объекта от другого Пересечение: общая часть обоих объектов

Применение

Сложный объект может быть представлен двоичным деревом, где «листья» — это объекты, а узлы — операции. ( пересечение, объединение, разность)

Конструктивная блочная геометрия имеет ряд практических применений. Она используется там где необходима простота (игровой движок, например, Unreal Engine и Source Engine) или математическая точность (САПР, например, определение водонепроницаемости конструкции).

Программы

Литература

Ссылки

  • Leadwerks Software 'What is Constructive Solid Geometry?' — объяснение терминов, уравнений и применений.
  • GNU Triangulated Surface library — библиотека с открытым кодом (LGPL), которая содержит возможности CSG на сетках из треугольников.
  • Computational Geometry Algorithms Library — библиотека с открытым кодом (LGPL, QPL), которая содержит, помимо прочего, возможности CSG.
  • The CSG rendering library — библиотека с открытым кодом, которая производит ориентированный на изображения CSG-рендеринг с использованием OpenGL.
  • HyperFun Project — простой функциональный язык для геометрического моделирования, способный исполнять CSG-операции на различных типах объектов.
  • Overview of CSG in avoCADo — программа 3D CAD с открытым исходным кодом.
  • SimpleGeo — интерактивное твердотельное моделирование для симуляции перемещения частиц по методу Монте-Карло.
  • FMEpedia CSGBuilder example — wikipedia CSG binary tree as replicated using FME (Feature Manipulation Engine).
  • SolidKit Library — программная библиотека для программ с 3D/2D-графикой, разработанная на C++ с использованием OpenGL, содержит способности CSG на сетках из треугольников.

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии