Generative Modelling Language

Generative Modelling Language

In generative computer programming, the Generative Modelling Language (GML) is a very simple programming language for the concise description of complex 3D shapes. It follows the "Generative Modelling" paradigm, where complex datasets are represented by lists of operations rather than by lists of objects, which is for instance the case in a relational database.

Generative 3D Modelling

Traditionally, 3D objects and virtual worlds are defined by lists of geometric primitives: cubes and spheres in a CSG tree, NURBS patches, a set of implicit functions, a consommé of triangles, or just a cloud of points.

The term generative modelling describes a paradigm change in shape description, the generalization from objects to operations: A shape is described by a sequence of processing steps, rather than just the end result of applying these operations. Shape design becomes rule design. This approach is very general. It can be applied to any shape representation that provides a set of generating functions, the 'elementary shape operators'. Its effectiveness has been demonstrated, e.g., in the field of procedural mesh generation, with Euler operators as complete and closed set of invertible shape generating functions for meshes, operating on the half-edge level.

Generative modeling gains its efficiency through the possibility of creating high-level shape operators from low-level shape operators. Any sequence of processing steps can be grouped together to create a new "combined operator". It may use elementary operators as well as other combined operators. Concrete values can easily be replaced by parameters, which makes it possible to separate data from operations: The same processing sequence can be applied to different input data sets. The same data can be used to produce different shapes by applying different combined operators from, e.g., a library of domain-dependent modeling operators. This makes it possible to create very complex objects from only a few high-level input parameters, such as for instance a style library.

The Generative Modelling Language

The GML is a concrete implementation of the generative approach. It is a stack-based, interpreted programming language, very similar to Adobe's PostScript, but without any of the 2D layout operators. It provides instead a number of operators for creating 3D models (polygons, b-reps, subdivision surfaces). As a "shape programming language," it is a true generalization of "flat" 3D file formats like OBJ, DXF, or VRML that contain just lists of geometric primitives.

Together with its OpenGL-based runtime engine the GML can also be seen as a viewer with an integrated modeler, to overcome the usual separation of 3D modeling from interactive visualization. Both are interwoven instead:

* GML permits a concise representation of parameterized 3D objects
* which can be evaluated on-the-fly at runtime,
* rendered with adaptive level-of-detail,
* and allows for the interactive manipulation of all parameters.

GML Example

Applications

With procedural models, the model complexity is no longer directly (i.e., linearly) related with the file size. The "Procedural Cathedral", a basic model of the Cologne Cathedral, contains 70 tracery windows, and a single window in highest resolution contains about 7 million triangles. These are "unfolded" from only 126 KB of GML code (18 KB zipped).

Gothic architecture is a prime example for the effectiveness of procedural shape design: In the Gothic style, all geometric constructions are exclusively executed using compass and ruler. Variations were obtained by procedurally combining in ever changing ways a set of simple basic parameterized geometric operations. Therefore it is practically impossible to find two tracery windows in different buildings that follow an identical geometric construction.

The "interactive CAVE designer" helps to fit a CAVE into a small room. Because of the concrete bars under the ceiling it is difficult to place it using only 2D plans of the room. Degrees of freedom (blue arrows) are the position and orientation of the projection screen cubicle, the opening angle of the projectors, and the position/orientation of the top mirror. The DOFs are mildly restricted to take only valid values. DOFs are kept consistent, i.e., when moving the cubicles, the projector centers move as well (or get reflected at the walls).

Given a set of about 30 CAD models of car wheel rims, the task was to find a common parametrization that is capable of generating each of the individual instances ("generative surface reconstruction"). As a result, new, similar wheel rims can be synthesized within the design space that is spanned by the given 30 rims, that were manually classified into 3 main categories. A few of the high-level parameters can be directly manipulated using sliders and buttons (arrows and balls).

Generative modeling suggests to differentiate between "structure" and "appearance" (e.g., the style) of 3D models. Surprisingly many objects have the same structure as a chair, i.e., they are "close" to a chair on the "structural" level. The differentiation then permits (in principle) to apply the "appearance" of one object in this class to another.

Didactic applet showing the construction of Voronoi diagrams: Is it possible to reconstruct the centers of the Voronoi cells from the region boundaries? The interactive applet conveys a good intuition of the idea behind the formal proof.

Further reading

* The GML homepage on [http://www.generative-modeling.org generative-modeling.org]
* Dissertation of Sven Havemann on [http://www.digibib.tu-bs.de/?docid=00000008 UB TU Braunschweig] describes why and how GML was created
* Michael Leyton's book A Generative Theory of Shape, available from his [http://www.rci.rutgers.edu/~mleyton/homepage.htm homepage]
* The original inspiration came from John Snyder's book Generative Modeling for Computer Graphics and CAD: Symbolic Shape Design Using Interval Analysis (out of print). See the [http://www.gg.caltech.edu/genmod/gen_mod_page.html Caltech pages on GENMOD]


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • Generative Modelling Language — Die Generative Modelling Language GML ist eine Programmiersprache zur Beschreibung dreidimensionaler Form. Sie folgt dem Paradigma der Generativen Modellierung, bei dem nicht Objekt Listen, sondern (objekt erzeugende) Operationen zur… …   Deutsch Wikipedia

  • Modeling language — A modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the… …   Wikipedia

  • Language acquisition — Linguistics …   Wikipedia

  • Second language acquisition — is the process by which people learn a second language in addition to their native language(s). The term second language is used to describe the acquisition of any language after the acquisition of the mother tongue. The language to be learned is …   Wikipedia

  • Glossary of Unified Modeling Language terms — This glossary of Unified Modeling Language terms covers all versions of UML. Individual entries will point out any distinctions that exist between versions.A* Abstract An indicator applied to a classifier (e.g., actor, class, use case) or to some …   Wikipedia

  • ATLAS Transformation Language — ATL is a model transformation language (MTL) developed at INRIA to answer the QVT Request For Proposal. QVT is an Object Management Group standard for performing model transformations. It can be used to do syntactic or semantic translation. ATL… …   Wikipedia

  • GML — GML: GML  код аэропорта Гостомель по классификации IATA. GML (англ. Generalized Markup Language)  язык разметки, разработанный IBM; послужил основой для SGML. GML (англ. Geography Markup Language)  язык географической… …   Википедия

  • Automatic programming — In computer science, the term automatic programming [Ricardo Aler Mur, [http://et.evannai.inf.uc3m.es/icml06/aiptutorial.htm Automatic Inductive Programming] , ICML 2006 Tutorial . June 2006.] identifies a type of computer programming in which… …   Wikipedia

  • 3D-Modell — Geometrische Modellierung, auch Computer Aided Geometric Design (CAGD) genannt, bezeichnet die computergestützte Beschreibung der Form geometrischer Objekte. Sie beschäftigt sich sowohl mit der Beschreibung von zweidimensionalen Kurven als auch… …   Deutsch Wikipedia

  • CAGD — Geometrische Modellierung, auch Computer Aided Geometric Design (CAGD) genannt, bezeichnet die computergestützte Beschreibung der Form geometrischer Objekte. Sie beschäftigt sich sowohl mit der Beschreibung von zweidimensionalen Kurven als auch… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”