Generative Modelling Language

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 Datenrepräsentation verwendet werden.

Inhaltsverzeichnis

Generative Modellierung

Die generative Modellierung ist ein alternativer Ansatz zur Beschreibung von dreidimensionaler Form. Zugrunde liegt die Idee, ein Modell nicht wie üblich durch eine Ansammlung geometrischer Primitive (Dreiecke, Punkte, NURBS-Patches) zu beschreiben, sondern durch Funktionen. Der Paradigmenwechsel von Objekten zu Geometrie-erzeugenden Operationen ermöglicht es, prozedural aufgebaute Modelle (Stuhl, Autofelge) auch prozedural zu repräsentieren. Statt nur das Resultat eines 3D-Konstruktionsprozesses zu speichern, kann so der Konstruktionsprozess selber repräsentiert werden. Der generative Ansatz ermöglicht, auf einen Fundus bereits gelöster Konstruktions-Aufgaben zurückzugreifen, um sie in ähnlichen, leicht variierten Situationen wiederzuverwenden. Das Konstruktions-Wissen kann dazu in Form von Bibliotheken parametrisierter, Domänen-spezifischer Modellier-Werkzeuge gesammelt werden.

Die Generative Modelliersprache

Die „Generative Modeling Language (GML)“ ist eine konkrete Realisierung einer generativen Modellbeschreibungs-Sprache. Sie ist eine stack-basierte, interpretierte Programmiersprache, die ähnlich aufgebaut ist wie Adobes PostScript, allerdings ohne Operatoren für 2D-Layouts. Stattdessen enthält sie eine ganze Reihe von Operatoren für den Aufbau von 3D-Modellen (u. a. für Polygone, b-Reps, Subdivision Surfaces). Als „Programmiersprache für Form“ stellt sie unter anderem eine echte Verallgemeinerung existierender primitiv-basierter 3D-Modellformate wie OBJ, DXF oder VRML dar.

Zusammen mit ihrer OpenGL-basierten Runtime-Engine erlaubt die GML,

  • eine kompakte Beschreibung parametrisierter 3D-Objekte
  • die zur Laufzeit on-the-fly ausgewertet werden kann,
  • die Darstellung mit adaptivem Level of Detail (LOD),
  • und das interaktive Verändern der Modell-Parameter.

GML Beispiel

1:     (0,0,−2) (1,1,0) 2 quad
2: /cyan setcurrentmaterial
5 poly2doubleface
3: (0,1,1) extrude
4: (0,0,1) (1,0,1) normalize
0 project_ringplane
5: (2,0,0) (0,1,−1) 2 quad
6: /yellow setcurrentmaterial
5 poly2doubleface
7: 0 bridgerings
  GML-example-gehrung.png

Anwendungen

GML-Gothic-Cathedral.jpg

Bei prozeduralen Modellen hängt die Modellgröße nicht mehr direkt (d. h. linear) von der Dateigröße ab. Die „Prozedurale Kathedrale“, ein Grobmodell des Kölner Doms, enthält 70 Maßwerkfenster, in der höchsten Auflösung enthält ein einzelnes Fenster rund 7 Millionen Dreiecke. Diese „entfalten“ sich aus nur 126 kB GML Code (18 kB gezippt).

GML-Gothic-Window-Thickness.png

Gotische Architektur ist ein Beispiel für die Reichhaltigkeit der prozeduralen Formgestaltung: In der Gotik wurden sämtliche Konstruktionen ausschließlich mit Zirkel und Lineal durchgeführt. Variationen erhielt man, indem im Grunde sehr einfache parametrische Grundoperationen in immer neuer Weise prozedural kombiniert wurden. Daher ist es praktisch unmöglich, zwei Maßwerkfenster an unterschiedlichen Bauten zu finden, bei denen die parametrische Konstruktion identisch ist.

GML-Cave-Designer.png

Der interaktive CAVE-Designer hilft dabei, eine CAVE in einen kleinen Raum einzupassen. Wegen der Unterzüge ist es schwierig, das Problem nur mit 2D-Plänen zu lösen (Grundriss, Aufriss). Freiheitsgrade (blaue Pfeile) sind die Position und Orientierung der Leinwände und der Öffnungswinkel der Projektoren.

GML-Autofelge.png

Ausgehend von 30 gegebenen CAD-Modellen von Autofelgen wurde hier versucht, eine gemeinsame Parametrisierung zu finden, so dass jede einzelne der gegebenen Felgen daraus erzeugt werden kann („generative Flächenrückführung“). Nun lassen sich in dem Design-Raum, der von den Einzelfelgen aufgespannt wird, leicht auch neue, ähnliche Modelle erzeugen.

GML-Stuhl-Template.png

Die generative Modellierung legt eine Differenzierung zwischen der „Struktur“ und der „Erscheinung“ (z. B. dem Stil) eines 3D-Modells nah. Erstaunlich viele Objekte haben die gleiche Struktur wie ein Stuhl, d. h. sind strukturell ähnlich aufgebaut. Im Prinzip erlaubt diese Trennung dann, die „Erscheinung“ eines Objektes innerhalb dieser Klasse auf jedes andere zu übertragen.

GML-Voronoi-Diagram.png

Didaktisches Applet zur Veranschaulichung von Voronoi-Diagrammen. Es geht um die Frage, ob sich die Mittelpunkte der Voronoi-Zellen aus den Grenzen der Regionen ableiten lassen. Das Applet vermittelt die Idee, die dem formalen Beweis zugrunde liegt.

Weblinks

  • GML Homepage auf generative-modeling.org
  • GML ist entstanden im Rahmen der Dissertation von Sven Havemann an der TU Braunschweig
  • Michael Leyton: A Generative Theory of Shape. Erhältlich auf seiner Homepage
  • John Snyder: Generative Modeling for Computer Graphics and CAD: Symbolic Shape Design Using Interval Analysis. Nicht mehr erhältlich, siehe daher die GENMOD-Seite bei Caltech. Ursprüngliche Motivation war dieses Buch.

Wikimedia Foundation.

Игры ⚽ Нужен реферат?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • 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… …   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”