Jump to content

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

Объекты CSG могут быть представлены в виде двоичных деревьев, где листья представляют примитивы, а узлы представляют операции. На этом рисунке узлы помечены для пересечения , для объединения и для различия .

Конструктивная твердотельная геометрия ( CSG ; ранее называвшаяся вычислительной бинарной твердотельной геометрией ) — это метод, используемый в твердотельном моделировании . Конструктивная твердотельная геометрия позволяет разработчику модели создавать сложную поверхность или объект, используя логические операторы для объединения более простых объектов. [1] потенциально создание визуально сложных объектов путем объединения нескольких примитивных объектов. [2] [3]

В 3D-компьютерной графике и САПР CSG часто используется при процедурном моделировании . CSG также может выполняться на полигональных сетках и может быть процедурным и/или параметрическим, а может и не быть.

Сравните CSG с моделированием полигональной сетки и моделированием коробки .

Работа [ править ]

Простейшие твердые объекты, используемые для представления, называются геометрическими примитивами . Обычно это предметы простой формы: кубоиды , цилиндры , призмы , пирамиды , сферы , конусы . [1] Набор допустимых примитивов ограничен каждым программным пакетом. Некоторые пакеты программного обеспечения позволяют использовать CSG для изогнутых объектов, а другие — нет.

Объект создается из примитивов с помощью допустимых операций , которые обычно представляют собой логические операции над множествами : объединение , пересечение и разность , а также геометрические преобразования этих множеств. [1]

Примитив обычно может быть описан процедурой , которая принимает некоторое количество параметров ; например, сфера может быть описана координатами ее центральной точки, а также значением радиуса. Эти примитивы можно объединить в составные объекты с помощью таких операций:

Комбинируя эти элементарные операции, можно создавать объекты высокой сложности, начиная с простых.

Трассировка лучей [ править ]

Рендеринг конструктивной твердотельной геометрии особенно прост при трассировке лучей . Трассировщики лучей пересекают луч с обоими обрабатываемыми примитивами, применяют оператор к интервалам пересечения вдоль 1D-луча, а затем принимают в качестве результата точку, ближайшую к камере вдоль луча.

Приложения [ править ]

Операции CSG применяются в контексте лучей в трассировщике лучей

Конструктивная твердотельная геометрия имеет ряд практических применений. Он используется в тех случаях, когда желательны простые геометрические объекты. [ нужна ссылка ] или где важна математическая точность. [4] Почти все пакеты инженерных САПР используют CSG (где это может быть полезно для представления вырезов инструментов и элементов, в которых детали должны соответствовать друг другу).

Hammer ( ) родной редактор Эту систему используют движок Quake и Unreal Engine, а также уровней движка Source и Torque Game Engine / Torque Game Engine Advanced . CSG популярен, потому что моделист может использовать набор относительно простых объектов для создания очень сложной геометрии. [3] Когда CSG является процедурным или параметрическим, пользователь может пересматривать их сложную геометрию, изменяя положение объектов или изменяя логическую операцию, используемую для объединения этих объектов.

Одним из преимуществ CSG является то, что он может легко гарантировать, что объекты являются «твердыми» или водонепроницаемыми, если все примитивные формы водонепроницаемы. [5] Это может быть важно для некоторых производственных или инженерных вычислений. Для сравнения, при создании геометрии на основе представлений границ требуются дополнительные топологические данные или необходимо выполнять проверки согласованности, чтобы гарантировать, что данное описание границы указывает действительный твердотельный объект. [1]

Удобным свойством фигур CSG является то, что произвольные точки легко классифицировать как находящиеся внутри или снаружи формы, созданной CSG. Точка просто классифицируется по всем базовым примитивам и вычисляется результирующее логическое выражение. [6] Это желательное качество для некоторых приложений, таких как трассировка лучей . [6]

Преобразование сеток в CSG [ править ]

Поскольку модели CSG параметризуются по конструкции, они часто предпочтительнее обычных сеток , когда речь идет о приложениях, целью которых является изготовление индивидуальных моделей. Для таких приложений может быть интересно преобразовать уже существующие сетки в деревья CSG. Эта проблема автоматического преобразования сеток в деревья CSG называется обратной CSG .

Результирующее дерево CSG должно занимать тот же объем в трехмерном пространстве, что и входная сетка, при этом имея минимальное количество узлов. Предпочтительны простые решения, чтобы полученную модель можно было легко редактировать.Решение этой проблемы является сложной задачей из-за большого пространства поиска, которое необходимо изучить. Он сочетает в себе непрерывные параметры, такие как размерность и размер примитивных фигур, и дискретные параметры, такие как логические операторы, используемые для построения окончательного дерева CSG.

Дедуктивные методы решают эту проблему, создавая набор полупространств , описывающих внутреннюю часть геометрии. Эти полупространства используются для описания примитивов, которые можно объединить для получения окончательной модели. [7]

Другой подход разделяет обнаружение примитивных форм и вычисление дерева CSG, которое определяет окончательную модель. Этот подход использует способность современных инструментов синтеза программ находить дерево CSG с минимальной сложностью. [8]

Существуют также подходы, которые используют генетические алгоритмы для итеративной оптимизации исходной формы до формы желаемой сетки. [9]

с поддержкой CSG Известные приложения

языки моделирования и программное обеспечение Общие

и транспорт Трассировка лучей частиц

Компьютерное проектирование [ править ]

Игры [ править ]

Другие [ править ]

Ссылки [ править ]

  1. Перейти обратно: Перейти обратно: а б с д Фоли, Джеймс Д. (1996), «12.7 Конструктивная твердотельная геометрия», Компьютерная графика: принципы и практика , Addison-Wesley Professional, стр. 557–558, ISBN  9780201848403 ,
  2. ^ Рот, Скотт (1982). «Лучевое моделирование для моделирования твердых тел». Компьютерная графика и обработка изображений . 18 (2): 109–144. дои : 10.1016/0146-664X(82)90169-1 .
  3. Перейти обратно: Перейти обратно: а б Блументаль, Жюль; Баджадж, Чандраджит (1997), «5.2.5 Пересечение с деревьями CSG», Введение в неявные поверхности , Морган Кауфманн, стр. 178–180, ISBN  9781558602335 .
  4. ^ Фоли (1996) , с. 559.
  5. ^ ван Россен, Сандер; Барановский, Мэтью (2011), «Конструктивная твердотельная геометрия в реальном времени», в Ансари, Марван (ред.), Инструменты разработки игр , CRC Press, стр. 79–96, ISBN  9781439867723 .
  6. Перейти обратно: Перейти обратно: а б Гласснер, Эндрю С. (1989), Введение в трассировку лучей , Морган Кауфманн, стр. 80, ISBN  9780122861604 .
  7. ^ Бучеле, Сюзанна Ф.; Кроуфорд, Ричард Х. (2004). «Построение дерева конструктивной твердотельной геометрии трехмерного полупространства на основе неявных граничных представлений». Компьютерное проектирование . 36 (11): 1063–1073. дои : 10.1016/j.cad.2004.01.006 .
  8. ^ Ду, Тао; Инала, Дживана Прия; Пу, Юэн; Спилберг, Эндрю; Шульц, Адриана; Рус, Даниэла; Солар-Лезама, Армандо; Матусик, Войцех (2018). «InverseCSG: автоматическое преобразование 3D-моделей в деревья CSG» . АКМ Транс. График . дои : 10.1145/3272127.3275006 .
  9. ^ Файоль, Пьер-Ален; Пасько, Александр А. (2016). «Эволюционный подход к извлечению деревьев построения объектов из трехмерных облаков точек» (PDF) . Компьютерное проектирование . 74 : 1–17. дои : 10.1016/j.cad.2016.01.001 .
  10. ^ Godot Engine - Godot получает поддержку CSG
  11. ^ Грегори, Пол (12 февраля 2002 г.). «Большой релиз» . Получено 20 мая 2020 г. - через SourceForge.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: ccb3748495d711659158b57b048d908d__1716407880
URL1:https://arc.ask3.ru/arc/aa/cc/8d/ccb3748495d711659158b57b048d908d.html
Заголовок, (Title) документа по адресу, URL1:
Constructive solid geometry - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)