El lenguaje de modelado generativo (GML) en gráficos por computadora y programación de computadora generativa es un lenguaje de programación muy simple para la descripción concisa de formas complejas en 3D. Sigue el paradigma del "modelado generativo", en el que los conjuntos de datos complejos se representan mediante "listas de operaciones" en lugar de listas de objetos, como ocurre, por ejemplo, en una base de datos relacional .
Descripción general
Los formatos de archivo 3D habituales describen un mundo virtual en términos de primitivas geométricas . Estos pueden ser cubos y esferas en un árbol CSG , parches NURBS , un conjunto de funciones implícitas , una malla triangular o simplemente una nube de puntos . El término "modelado 3D generativo" describe un paradigma diferente para describir la forma. La idea principal es reemplazar los objetos 3D por operaciones de generación de objetos: una forma se describe mediante una secuencia de pasos de procesamiento, en lugar de los triángulos que son el resultado final de la aplicación de estas operaciones. El diseño de formas se convierte en diseño de reglas. El enfoque se puede aplicar generalmente a cualquier representación de forma que proporcione un conjunto básico de funciones generadoras, denominadas en este contexto "operadores de forma elemental". Su eficacia ha sido demostrada, por ejemplo, en el campo de la generación de mallas procedimentales , con operadores de Euler como conjunto completo y cerrado de funciones generadoras de formas invertibles para mallas, operando en el nivel de medio borde.
El modelado generativo gana eficiencia a través de la posibilidad de crear operadores de formas de alto nivel a partir de operadores de formas de bajo nivel. Cualquier secuencia de pasos de procesamiento se puede agrupar para crear un nuevo operador combinado . Puede utilizar operadores elementales así como otros operadores combinados. Los valores concretos se pueden reemplazar fácilmente por parámetros, lo que hace posible separar los datos de las operaciones: la misma secuencia de procesamiento se puede aplicar a diferentes conjuntos de datos de entrada. Los mismos datos se pueden usar para producir diferentes formas aplicando diferentes operadores combinados de, por ejemplo, una biblioteca de operadores de modelado dependientes del dominio. Esto hace posible crear objetos muy complejos a partir de unos pocos parámetros de entrada de alto nivel, como por ejemplo una biblioteca de estilos.
El lenguaje de modelado generativo
El GML es una implementación concreta del enfoque generativo. Es un lenguaje de programación interpretado basado en pilas , muy similar al PostScript de Adobe , pero sin ninguno de los operadores de diseño 2D. En su lugar, proporciona una serie de operadores para crear modelos 3D ( polígonos , b-reps , superficies de subdivisión ). Como "lenguaje de programación de formas", es una verdadera generalización de formatos de archivo 3D "planos" como OBJ , DXF o VRML que contienen solo listas de primitivas geométricas.
Junto con su OpenGL -basado motor de tiempo de ejecución de la GML también puede ser visto como un visor con un modelador integrado, para superar la separación habitual de modelado 3D de visualización interactiva . En cambio, ambos están entrelazados. GML permite una representación concisa de objetos 3D parametrizados que se pueden evaluar sobre la marcha en tiempo de ejecución, renderizados con un nivel de detalle adaptativo y permite la manipulación interactiva de todos los parámetros.
Ejemplo de GML
| ![]() |
Aplicaciones
Con los modelos de procedimiento, la complejidad del modelo ya no está directamente (es decir, linealmente) relacionada con el tamaño del archivo. La Catedral de Procedimientos , un modelo básico de la Catedral de Colonia , contiene 70 ventanas de tracería , y una sola ventana en la resolución más alta contiene alrededor de 7 millones de triángulos. Estos se "despliegan" a partir de sólo 126 KB de código GML (18 KB comprimidos).
La arquitectura gótica es un excelente ejemplo de la eficacia del diseño de formas procedimentales: en el estilo gótico, todas las construcciones geométricas se ejecutan exclusivamente con brújula y regla . Las variaciones se obtuvieron mediante la combinación de procedimientos de formas siempre cambiantes un conjunto de operaciones geométricas básicas parametrizadas simples. Por tanto, es prácticamente imposible encontrar dos ventanas de tracería en diferentes edificios que sigan una construcción geométrica idéntica.
El diseñador interactivo de CUEVAS ayuda a encajar una CUEVA en una habitación pequeña. Debido a las barras de concreto debajo del techo, es difícil colocarlo usando solo planos 2D de la habitación. Los grados de libertad (flechas azules) son la posición y orientación del cubículo de la pantalla de proyección, el ángulo de apertura de los proyectores y la posición / orientación del espejo superior. Los DOF están levemente restringidos para tomar solo valores válidos. Los grados de libertad se mantienen consistentes, es decir, cuando se mueven los cubículos, los centros del proyector también se mueven (o se reflejan en las paredes).
Dado un conjunto de aproximadamente 30 modelos CAD de llantas de ruedas de automóviles, la tarea fue encontrar una parametrización común que sea capaz de generar cada una de las instancias individuales ( reconstrucción generativa de la superficie ). Como resultado, se pueden sintetizar llantas nuevas y similares dentro del espacio de diseño que abarca las 30 llantas dadas, que se clasificaron manualmente en 3 categorías principales. Algunos de los parámetros de alto nivel se pueden manipular directamente mediante controles deslizantes y botones (flechas y bolas).
El modelado generativo sugiere diferenciar entre "estructura" y "apariencia" (por ejemplo, el estilo) de los modelos 3D. Sorprendentemente, muchos objetos tienen la misma estructura que una silla , es decir, están "cerca" de una silla en el nivel estructural . La diferenciación permite entonces (en principio) aplicar la apariencia de un objeto de esta clase a otro.
Applet didáctico que muestra la construcción de diagramas de Voronoi : ¿Es posible reconstruir los centros de las células de Voronoi a partir de los límites de la región? El subprograma interactivo transmite una buena intuición de la idea detrás de la prueba formal.
Ver también
Referencias
Otras lecturas
- Michael Leyton. Una teoría generativa de la forma (disponible en su página de inicio )
- John Snyder. Modelado generativo para gráficos por computadora y CAD: diseño de formas simbólicas mediante análisis de intervalo
enlaces externos
- Generative-modeling.org Página de inicio de GML.
- La disertación de Sven Havemann sobre UB TU Braunschweig describe por qué y cómo se creó GML
- Páginas de Caltech en GENMOD