Web Analytics

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Generative Modelling Language - Wikipedia

Generative Modelling Language

aus Wikipedia, der freien Enzyklopädie

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

[Bearbeiten] 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.

[Bearbeiten] 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.

[Bearbeiten] 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
  Image:GML-example-gehrung.png

[Bearbeiten] Anwendungen

Bild: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).

Bild:GML-Gothic-Window-Thickness.jpg

Gotische Architektur ist ein Beispiel für die Reichhaltigkeit der prozeduralen Formgestaltung: In der Gotik wurden sämtliche Konstruktionen wurden 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.

Bild:GML-Cave-Designer.jpg

Der interaktive CAVE-Designer hilft dabei, eine CAVE in einen 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.

Bild:GML-Autofelge.jpg

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.

Bild:GML-Stuhl-Template.jpg

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.

Bild:GML-Voronoi-Diagram.jpg

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 zugrundeliegt.

[Bearbeiten] Weblinks

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

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu