User:Andi Wi92/sandbox

Shape grammars, deutsch Figur-Grammatiken sind eine Art von Produktionssystemen in der Informatik zur Generierung von geometrischen Figuren. Üblicherweise werden Shape grammars zur Erzeugung von zwei- bzw. dreidimensionalen Figuren eingesetzt, heutzutage vor allem im Bereich der Computergrafik. Die Grundlage für Shape grammars wurde in einem Seminar-Artikel von George Stiny und James Gips im Jahr 1971 geschaffen. , (deutsch "Figur-Grammatiken und die generative Spezifikation von Gemälden und Skulpturen").

Definition
Eine Shape grammar ist formal definiert als ein 4-Tupel $$G = (V_T, V_M, R, I)$$.


 * $$V_T$$ ist eine endliche Menge von Figuren,
 * $$V_M$$ ist eine endliche Menge von Figuren, sodass $$V_T* /Cap V_M = /Sigma$$,
 * $$R$$ ist eine endlichen Menge von Produktionsregeln
 * $$I$$ ist die Startfigur bestehend aus Elementen von $$V_T*$$ und $$V_M$$.

Elemente der Menge $$V_T*$$ sind eine endliche Anordnung von beliebig vielen Elementen aus $$V_T$$ mit beliebiger Skalierung oder Orientierung.

Elemente aus $$V_T*$$, die in einer Regel $$(u,v)$$ aus $$R$$, oder in $$I$$ vorkommen werden Terminale Figuren genannt.

Elemente aus $$V_T$$ sind sogenannte Nonterminale Figuren oder Marker. Elemente $$(u,v)$$ aus $$R$$ werden Shape-ruls bzw. Produktionsregeln genannt und werden in der Form $$u->v$$ notiert.

Die linke Seite $$u$$ ist eine Figur bestehend aus einem Element aus $$V_T*$$ kombiniert mit einem Elemetn aus $$V_T$$.

Die rechte Seite $$v$$ ist eine Figur, die entweder aus demselben Element aus $$V_T*$$ das in $$u$$ vorkommt, dem selben Element aus $$V_T*$$ in $$u$$, kombiniert mit einem Element aus $$V_M$$, oder dem selben Element aus $$V_T*$$ in $$u$$, mit einem Zusätzlichen Element aus $$V_T*$$ kombiniert mit einem Element aus $$V_M$$.

$$I$$ ist die Startfigur, bestehend aus Elementen von $$V_T*$$ und $$V_M$$. Sie beinhaltet normalerweise aus zumindest einem Element, dass als $$u$$ in einer Regel $$(u,v)$$ in $$R$$ vorkommt.

Beschreibung
Eine Shape grammar besteht aus Regeln sowie einer Generierungs-Engine welche die Regeln auswählt und verarbeitet bzw. berechnet. Eine Regel definiert wie eine existierende Figur (bzw. ein Teil davon) im Geometrischen Raum transformiert werden kann. Die Definition einer Shape grammar folgt der Standarddefinition einer Phrasenstrukturgrammatik von Chomsky, wobei statt Symbolen, Figuren ("shapes") verwendet werden.

Eine Shape grammar generiert eine Figur durch rekursives anwenden der Shape rules, beginnend mit der Startfigur. Das Ergebnis der angewendeten Regel auf eine vorhandene Figur, ist immer eine neue Figur, die aus der vorhandenen Figur besteht, wobei ein Vorkommnis der linken Seite der Regel in der neuen Figur durch die Figur auf der rechten Seite der Regel ersetzt wurde.

Eine Shape grammar besteht minimal aus drei Produktionsregeln (=Shape rules). Einer Anfangsregel, zumindest einer Transformationsregel und einer Terminierungsregel. Die Startregel ist erforderlich um den Generierungsprozess zu starten, während die Terminierungsregel notwendig ist um die Generierung abzuschließen. Der einfachste Weg den Prozess zu stoppen ist des den Marker (=Nonterminale) zu entfernen. Im gegensatz zu Chomsky-Grammatiken können Produktionsregeln in Shape grammars nicht nur seriell, sondern auch parallel angewendet werden, ähnlich dem Ablauf von L-Systemen.

Ein Shape grammar System hat meist einen bestimmten Arbeitsbereich in der die erzeugten Formen angezeigt werden. Die Generierungs-Engine überprüft die bestehende Figur nach Übereinstimmungen mit den Bedingungen auf der linken Seite der Shape rules. Werden mehr als eine geeignete Regel gefunden, entscheidet die Engine welche angewendet werden soll. Eine Alternative Methode ist es, zuerst eine Regel auszuwählen, und dann alle Übereinstimmungen der Linken Seite mit der aktuellen Figur zu suchen. Gibt es mehrere Übereinstimmungen, wird je nach Implementierung entweder
 * die Regel auf alle Übereinstimmungen parallel angewendet,
 * die Regel auf alle Übereinstimmungen seriell angewendet (könnte zu Inkonsistenzen führen) oder
 * eine der Übereinstimmungen ausgewählt und die Regel nur auf diesen Bereich angewendet.

Parametrische shape grammars sind eine Erweiterung von Shape grammars. An Stelle der Produktionsregeln werden Shape rule schema ($$\alpha -> \beta$$) verwendet, die aus parametrisierten Figuren bestehen. Durch das Einsetzen von konkreten Werten in die Variablen von $$\alpha$$ und $$\beta$$ werde neue Shape rules definiert, welche dann in der üblichen Art und Weise verwendet wird um neue Figuren zu erzeugen. Durch diese Generalisierung kann eine größere Variation von Figuren generiert werden.

Anwendung
Shape grammars wurden ursprünglich für Gemälde und Skulpturen präsentiert, wurden seither jedoch vor allem in der Architektur (Computer-aided architectural design) angewendet. Shape grammars eignen sich dabei vor allem für kleine, klar definierte Probleme, wie etwa Struktur und Layout von Innenräumen oder Fassaden von Gebäuden. Shape grammars bestehen dabei sehr oft aus einer großen Anzahl an Regeln. So besteht die von William Mitchell präsentierte Shape grammar zur Generierung einer Villa im Stile des italienischen Architekten Andrea Palladio aus 69 Regeln, die in 8 Durchführungschritten angewendet werden.

Ähnlich zur Anwendung in der Architektur haben Shape grammars auch in der Computergrafik in den letzen Jahrzehnten an Bedeutung gewonnen. Shape grammars werden dabei vor allem bei der prozeduralen Modellierung von Gebäuden oder Städten eingesetzt (z.B.: für Filme oder Videospiele). Shape Grammars bilden dabei die Grundlage für zahlreiche entwickelter Systeme die anhand von Produktionsregeln eine Variation von unterschiedlichen 3D-Modellen generieren. Sowohl für die Generierung von realistischen Straßenplänen, als auch Fassaden oder Innenräume von Gebäuden können dabei mit Hilfe von Shape Grammars prozedural erstellt werden.

Zu weiteren Bereichen in denen Shape grammars angewendet wurden, zählen Industriedesign und Ingenieurswissenschaften.

Software Prototypen
Hier finden Sie eine Liste von im Internet verfügbaren Software Prototypen von Shape grammar Systemen. :
 * Grammar Environment
 * GRAPE
 * SD2
 * Shape Grammar Interpreter
 * Shaper2D
 * spapper
 * SubShapeDetector
 * Yingzao fashi building generator

Literatur

 * Stiny, G. & Gips, J. (1972). Shape grammars and the generative specification of painting and sculpture. In Information Processing 71, 1460–1465. North-Holland Publishing Company. Link zum Artikel
 * Stiny, G. (1980). Introduction to shape and shape grammars. Environment and Planning B: Planning and Design 7(3), 343-351.
 * Knight, T.W. (1994). Transformations in Design: A Formal Approach to Stylistic Change and Innovation in the Visual Arts. Cambridge University Press.
 * Stiny, G. (2006). Shape: Talking about Seeing and Doing. MIT Press, Cambridge, MA. Link zum Buch

Siehe Auch

 * Formale Grammatik
 * Graphersetzungssystem
 * Lindenmayer-System
 * Produktionssystem (Informatik)
 * Prozedurale Synthese

Externe Links

 * www.shapegrammar.org
 * Shape Grammar and Style Simulation (Liste von Referenzen)
 * Shape grammar implementation: from theory to useable software (Übersicht über aktuelle Implementierungen)

Category:Architectural theory