Язык генеративного моделирования - Generative Modelling Language

Язык генеративного моделирования (GML) в компьютерная графика и генеративное компьютерное программирование - очень простой язык программирования для краткого описания сложных трехмерных фигур. Он следует парадигме «Генеративного моделирования», в которой сложные наборы данных представлены «списками операций», а не списками объектов, как, например, в случае реляционная база данных.

Обзор

Обычный Форматы файлов 3D описать виртуальный мир с точки зрения геометрические примитивы. Это могут быть кубики и сферы в CSG дерево, NURBS патчи, набор неявные функции, а треугольная сетка, или просто облако точек. Термин «генеративное трехмерное моделирование» описывает другую парадигму описания формы. Основная идея состоит в том, чтобы заменить трехмерные объекты операциями создания объектов: форма описывается последовательностью этапов обработки, а не треугольниками, которые являются конечным результатом применения этих операций. Дизайн формы становится дизайном правил. Этот подход может применяться к любому представлению формы, которое обеспечивает базовый набор функций генерации, называемых в этом контексте «элементарными операторами формы». Его эффективность была продемонстрирована, например, в области процессуальных создание сетки, с участием Операторы Эйлера как полный и замкнутый набор обратимых функций формирования формы для сеток, работающих на уровне половинной кромки.

Генеративное моделирование повышает эффективность за счет возможности создания операторов формы высокого уровня из операторов формы низкого уровня. Любую последовательность этапов обработки можно сгруппировать вместе для создания нового комбинированный оператор. Он может использовать элементарные операторы, а также другие комбинированные операторы. Конкретные значения можно легко заменить параметрами, что позволяет отделить данные от операций: одна и та же последовательность обработки может применяться к различным наборам входных данных. Одни и те же данные можно использовать для создания различных форм, применяя разные комбинированные операторы, например, из библиотеки операторов моделирования, зависящих от предметной области. Это позволяет создавать очень сложные объекты только из нескольких входных параметров высокого уровня, таких как, например, библиотека стилей.

Язык генеративного моделирования

GML - это конкретная реализация генеративного подхода. Это стековый, интерпретируемый язык программирования, очень похоже на Adobe PostScript, но без каких-либо операторов 2D-компоновки. Вместо этого он предоставляет ряд операторов для создания 3D-моделей (полигоны, вторые повторения, подразделения поверхностей ). Как «язык программирования фигур», это настоящее обобщение «плоских» форматов 3D-файлов, таких как OBJ, DXF, или же VRML которые содержат просто списки геометрических примитивов.

Вместе со своим OpenGL -основан двигатель времени выполнения GML также можно рассматривать как средство просмотра со встроенным разработчиком моделей, чтобы преодолеть обычное разделение 3D моделирование из интерактивная визуализация. Вместо этого оба переплетаются. GML позволяет краткое представление параметризованных трехмерных объектов, которые могут быть оценены на лету во время выполнения, визуализированные с помощью адаптивный уровень детализации, и позволяет интерактивно управлять всеми параметрами.

Пример GML

1:   (0,0, -2) (1,1,0) 2 четверных
2:/ голубой setcurrentmaterial
5 poly2doubleface
3:(0,1,1) выдавливать
4:(0,0,1) (1,0,1) нормализовать
0 project_ringplane
5:(2,0,0) (0,1, -1) 2 четверных
6:/ желтый setcurrentmaterial
5 poly2doubleface
7:0 мостов
 GML-example-gehrung.png

Приложения

Процедурная модель Кельнского собора

С процедурными моделями сложность модели больше не связана напрямую (т.е. линейно) с размером файла. В Процессуальный собор, базовая модель Кельнский собор, содержит 70 узор окон, а одно окно с максимальным разрешением содержит около 7 миллионов треугольников. Они «развернуты» всего из 126 КБ кода GML (18 КБ в архиве).

Готический оконный узор

Готическая архитектура является ярким примером эффективности процедурного проектирования форм: в готическом стиле все геометрические конструкции выполняются исключительно с использованием компас и линейка. Вариации были получены путем процедурного комбинирования постоянно меняющимися способами набора простых основных параметризованных геометрических операций. Поэтому найти два узор окна в разных зданиях, которые имеют идентичную геометрическую конструкцию.

Интерактивный дизайнер пещер

В интерактивный дизайнер пещеры помогает соответствовать ПЕЩЕРА в маленькую комнату. Из-за бетонных решеток под потолком сложно разместить его, используя только 2D-планы помещения. Степени свободы (синие стрелки) - это положение и ориентация секции проекционного экрана, угол раскрытия проекторов и положение / ориентация верхнего зеркала. Степень свободы умеренно ограничена, чтобы принимать только допустимые значения. Степень свободы остается неизменной, то есть при перемещении отсеков центры проекторов также перемещаются (или отражаются от стен).

Генеративная модель обода автомобиля

Учитывая набор из примерно 30 моделей автомобильных колесных дисков в САПР, задача состояла в том, чтобы найти общую параметризацию, позволяющую генерировать каждый из отдельных экземпляров (генеративный реконструкция поверхности ). В результате новые похожие колесные диски могут быть синтезированы в пространстве дизайна, которое охватывает данные 30 дисков, которые были вручную классифицированы на 3 основные категории. Некоторыми высокоуровневыми параметрами можно напрямую управлять с помощью ползунков и кнопок (стрелок и шариков).

Структура стула

Генеративное моделирование предлагает различать «структуру» и «внешний вид» (например, стиль) 3D-моделей. На удивление многие объекты имеют ту же структуру, что и стул, т.е. они «близки» к стулу на структурный уровень. Затем дифференциация позволяет (в принципе) применять внешний вид одного объекта этого класса в другой.

Дидактическая диаграмма Вороного

Дидактический апплет, показывающий построение Диаграммы Вороного: Возможно ли реконструировать центры ячеек Вороного по границам области? Интерактивный апплет дает хорошее представление об идее формального доказательства.

Смотрите также

Рекомендации

дальнейшее чтение

  • Майкл Лейтон. Генеративная теория формы (доступно в его домашняя страница )
  • Джон Снайдер. Генеративное моделирование для компьютерной графики и САПР: проектирование символьных форм с использованием интервального анализа

внешняя ссылка