PDF-Download
Transcription
PDF-Download
90 Prozedurale 3D-Stadtmodellierung mit der ESRI CityEngine Dominik HOFMANN und Armin HELLER Universität Innsbruck · [email protected] Dieser Beitrag wurde durch das Programmkomitee als „reviewed paper“ angenommen. Zusammenfassung Die prozedurale 3D-Stadtmodellierung fristet bislang ein noch weitgehend unbeachtetes Schattendasein, dabei bietet gerade dieser Ansatz ein hohes Anwendungspotenzial. Unter dem Oberbegriff der prozeduralen Modellierung versteht man die regelbasierte Beschreibung und Erstellung von Objekten. Obschon die dahinter stehenden theoretischen Konzepte fast ein Vierteljahrhundert alt sind, fanden sie erst in jüngster Zeit auch Einzug in die GISWelt. Dazu beigetragen hat die Entwicklung der CityEngine als Plattform zur 3DStadtmodellierung. Dieser Beitrag soll die Potenziale und Möglichkeiten dieses Ansatzes im praktischen Einsatz anhand der Modellierung einer Kleinstadt aufzeigen. Dabei soll die Stadt aus Bestandsdaten in prozeduraler Weise modelliert werden und um einzelne markante Gebäude in manueller Modellierung ergänzt werden. 1 Einleitung 3D-Stadtmodelle bilden ein in zunehmendem Maß bedeutsames Hilfsmittel für vielerlei Anwendungen. Städte und Gemeinden nutzen diese für Visualisierungen jeglicher Art, aber auch in der Stadt- und Raumplanung spielen sie eine immer wichtiger werdende Rolle. Darüber hinaus bieten sie aber auch vielfältige Perspektiven zur Analyse und vertieften Datennutzung, dies etwa bei der Berechnung von Lärmausbreitungsmustern oder Solarpotenzialen. Besonders für kleine Kommunen stellt sich aufgrund der noch relativ teuren Primärdatenerfassung oftmals die Frage, wie auf kostengünstigen und nutzbringenden Wegen 3D-Stadtmodelle implementiert werden können. Ein vielversprechender Ansatz ist jener der „prozeduralen Modellierung“. Hiermit können 3D-Stadtmodelle aus bereits vorhandenen Bestandsdaten abgeleitet werden. 2 Prozedurale Modellierung Der Begriff der „prozeduralen Modellierung“ ist ein Konzept der Computergrafik, das eine Vielzahl von Techniken zur Generierung von regelbasierten 3D-Modellen und Texturen aus einfachen Geometrien wie Punkten, Linien und Polygonen vereint. Wesentliches Merkmal ist, dass die Entitäten als Abfolge der Anweisungen, die zu ihrer Erstellung geführt haben, dargestellt werden und nicht als statische Objekte. Strobl, J., Blaschke, T., Griesebner, G. & Zagel, B. (Hrsg.) (2013): Angewandte Geoinformatik 2013. © Herbert Wichmann Verlag, VDE VERLAG GMBH, Berlin/Offenbach. ISBN 978-3-87907-533-1. Dieser Beitrag ist ein Open-Access-Beitrag, der unter den Bedingungen und unter den Auflagen der Creative Commons Attribution Lizenz verteilt wird (http://creativecommons.org/licenses/by/3.0/). Prozedurale 3D-Stadtmodellierung mit der ESRI CityEngine 91 Es gibt eine Vielzahl von formalen Ansätzen und Algorithmen zur Generierung von prozeduralen Objekten. Einige der Bekanntesten dieser Verfahren sind Perlin-Noise, Tessellation, Fraktale, L-Systeme und Shape Grammar (KELLY & MCCABE 2007, 1 ff.). Insbesondere im Bereich der Computergrafik und der Simulation spielen sie eine wichtige Rolle. Von ihnen ausgehend lassen sich eine Vielzahl natürlich aussehender Objekte künstlich erzeugen, wie etwa der Vegetation oder natürlicher Oberflächentexturen. Mittlerweile werden sie auch häufig zur Generierung von artifiziellen 3D-Stadtmodellen eingesetzt, wobei wesentliche Impulse aus der Entertainment-Industrie kommen. 2.1 L-Systeme L-Systeme wurden vom ungarischen Biologen und Botaniker Aristid Lindenmayer als Formalismus zur Simulation von Zell- und Pflanzenwachstum beschrieben. Zentraler Bestandteil seiner Überlegungen ist die Annahme der mathematischen Beschreibbarkeit biologischer Objekte als sukzessive Abfolge von Produktionsregeln, die zu ihrer Erstellung führen (vgl. LINDENMAYER 1968). L-Systeme, auch Lindenmayer-Systeme genannt, bestehen aus einem Ausgangszustand, genannt Axiom ω, Produktionsregeln P sowie einem aus Variablen V und Konstanten S bestehenden Alphabet. Die einzelnen Elemente dieses Systems werden über Zeichen und Zeichenketten (Strings) beschrieben. Die Anlegung der Produktionsregeln erfolgt ausgehend vom Ausgangszustand in mehreren Iterationsschritten. Dabei ist in jeder Iteration die gleichzeitige parallele Verwendung von Produktionsregeln d. h. Ersetzungen auf unterschiedlichen Teilbereichen des Strings zulässig (LINDENMAYER 1968, 4 ff.). Abb. 1: Komponenten L-System Abb. 2: Beispiel eines L-Systems Der von ihm beschriebene mathematische Formalismus zur Erstellung natürlicher Objekte ist einem „iterativen Verfeinerungsalgorithmus“ vergleichbar, welcher ausgehend von einer einfachen Zeichenkette durch wiederholtes Überschreiben von Teilzeichensequenzen über Produktionsregeln immer weiter an Detailtiefe gewinnt. L-Systeme gehören deshalb zu den Ersetzungssystemen (rewriting systems) und stellen damit im mathematischen Sinne eine formale Sprache dar. 2.2 Shape Grammar Unter einer Shape Grammar versteht man ein Produktionssystem, welches auf dem Datenprimitivum Shape arbeitet. Darunter sind Anordnungen im dreidimensionalen Raum zu 92 D. Hofmann und A. Heller verstehen, die auf gerade Linien begrenzt sind (STINY 1980, 343 f.). Sie ähneln damit in hohem Maße den Produktionsregeln der L-Systeme. Im Gegensatz zu den eindimensionalen Zeichenketten der L-Systeme ist die Shape Grammar über einem Alphabet bestehend aus Shapes definiert. Diese können über Produktionsregeln in n-dimensionalen Shapes transformiert werden (STINY & GIPS 1972, 10 ff.). Ein Shape wird aus einem initial shape als Ausgangszustand durch die rekursive Anlegung von Produktionsregeln, den shape rules, erzeugt. Produktionsregeln bestehen aus jeweils zwei Teilen, einer linken und einer rechten Seite. Bei ihrer Anwendung auf ein Shape werden zwei wesentliche Schritte durchlaufen. Im ersten Schritt erfolgt die Identifizierung geometrisch äquivalenter Elemente eines Shapes zum linken Teil der verwendeten Produktionsregel. Im zweiten Schritt werden alle Teil-Shapes durch die rechte Seite der Produktionsregel ersetzt. Zum Zeitpunkt ihrer ersten Beschreibung 1971 waren sie ähnlich den L-Systeme vor allem theoretischer Natur. Erst in jüngster Zeit erlebt der prozedurale Modellierungsansatz mit den Arbeiten von Pascal Müller und Anderen eine praxisnahe Umsetzung im Umfeld der von ihnen, als Erweiterung der Arbeiten von Stiny, beschriebenen CGA Shape Grammar (WONKA et al. 2006, 2). Dabei steht CGA für Computer Generated Architecture und bezeichnet eine formale Grammatik, welche über verschiedenste Eingabeparameter aus einfachen geometrischen Objekten komplexe 3D-dimensionale Objekte erzeugt. 3 Die ESRI CityEngine Die ESRI CityEngine ist eine prozedurale Softwareumgebung, welche verschiedene Arbeitsmodule zur Bearbeitung von Aufgaben der 3D-Stadtmodellierung beinhaltet. Sie wurde vom Spin-Off Procedural Inc. der ETH Zürich entwickelt, welches 2011 von ESRI aufgekauft wurde. In der nebenstehenden Abbildung 3 sind verschiedene Elemente des städtischen Gefüges und ihre Umsetzung mit der CityEngine dargestellt. Dabei sind dies im Einzelnen der Straßenraum (Roadmap) in Form eines Graphen, d. h. einem linienhaften Netzwerk, die in Lots unterteilte ZwischenraumPolygone sowie die darauf aufbauende Gebäude (Buildings). Ursprünglich wurde die CityEngine vor allem zur Generierung hochwertiger Inhalte für Filmproduktionen und die Spieleentwicklung verwendet. Zunehmend gewinnen aber andere Einsatzfelder an Bedeutung, insbesondere für Zwecke der Raumplanung, Visualisierung oder zur Rekonstruktion für archäologische Fragestellungen (WATSON et al. 2008, 22 ff.). Abb. 3: Module der CityEngine (verändert nach PROCEDURAL INC.) Prozedurale 3D-Stadtmodellierung mit der ESRI CityEngine 3.1 93 Graph Das Straßennetz lässt sich über ein erweitertes L-System in Form eines Graphen erzeugen. Ein Graph ist ein Linienelement ohne räumliche Ausdehnung, das über Knotenpunkte ein Netzwerk bildet. Über Anlegung von Produktionsregeln lassen sich daraus flächenhafte Shapes erzeugen, die den Straßenraum beispielsweise durch Fahrbahn und Gehsteige darstellen. Dabei können deren Breite, Aussehen und Ausgestaltung mit weiteren Elementen wie Trennstreifen oder Straßenlaternen über rule files festgelegt werden. Ausgehend vom Graphen lassen sich die Zwischenräume des Straßennetzwerkes, genannt Block(s), über eine Unterteilung (Subdivision) in Lots parzellieren. Aus dem Lot-Element erfolgt die eigentliche Gebäudemodellierung ebenfalls nach dem L-System, in der auf Shapes erweiterten Form (MÜLLER & PARISH 2001, 3). Diese wiederum können die initial shapes für weitere Operationen darstellen. Abb. 4: Straßenraum als Graphen-Netzwerk Abb. 5: Unterteilung der Blocks in Lots Die CityEngine ist in der Lage, verschiedene Typen von Straßenstrukturen automatisch zu erstellen, beispielsweise ein organisch gewachsenes, ungeordnetes Muster, wie es für europäische Städte typisch ist, oder ein schachbrettartiges Muster, das in geplanten Städten oder amerikanischen Städte dominiert. Dabei werden sowohl Globalziele (global goals) als auch lokale Restriktionen (local constraints) berücksichtigt. Globalziele können Einschränkungen für das gesamte Szenengebiet sein und werden direkt an das initial Shape übergeben, z. B. Wasserflächen frei von Straßenelementen zu halten oder Hauptverkehrsachsen entsprechend der Bevölkerungsdichte anzulegen. Lokale Restriktionen dagegen passen die Elemente gemäß bestimmten Vorgaben an, z. B. Lücken im Straßennetz unterhalb einer bestimmten Distanz schließen. Die Erzeugung der einzelnen Elemente erfolgt über Parameter durch Regelwerke. Dabei können die Parameter geographisches Kartenmaterial sein, z. B. der Höhen, der Wasserund Vegetationsverteilung, der Bevölkerungsdichte oder Zonierung für Gebäudetypen. Diese liegen zumeist in Form von Rasterdaten vor (MÜLLER & PARISH 2001, 2). 3.2 Shape Shapes (dt. Form, Figur) im Sinne der CityEngine sind i. Allg. Objekte, die einen eindeutigen Namen besitzen und über eine geometrische Struktur verfügen. Ihre Geometrie ist in einem Hüllkörper (scope) enthalten, der über den Pivotvektor (pivot) mit dem Ausgangselement verbunden ist und somit das Shape im Szenenkoordinatensystem räumlich verortet. 94 D. Hofmann und A. Heller Shapes entstehen durch das Anlegen von Operationen auf Vorgänger-Shapes. Diese Operationen werden in einem CGA Rule File beschrieben. Dies ist ein Textdokument mit den Produktionsregeln. Durch wiederholte Erzeugung von Nachfolger-Shapes (successor) aus Vorgänger-Shapes (predecessor) entsteht somit eine baumförmige Struktur, die in Abb. 7 schematisch dargestellt ist. Die zuletzt gebildeten Shapes (hier C, D, E) stellen die leaf shapes dar. Sie bilden in der Summe das Gesamtobjekt. Dieses wird ausschließlich durch die leaf shapes dargestellt und visualisiert. Abb. 6: 3.3 Darstellung eines Shapes (PROCEDURAL INC. 2011) Abb. 7: Baumstruktur der Shapes CGA Shape Grammar Die auferlegten Regelwerke der CGA Rule Files basieren auf einer eigenen Grammatik der sogenannten CGA Shape Grammar. Diese umfasst ein breites Spektrum an möglichen mathematischen und geometrischen Operationen an den Objekten. Die CGA Shape Grammar wurde von Wonka et al. als Erweiterung des L-Systems auf Basis der Shape Grammar von Stiny entwickelt (WONKA et al. 2003, 701 ff.). Als fundamentale Operationen erlaubt sie die Skalierung, Translation und Rotation sowie den Split der Shapes in Teil-Shapes und das Hinzufügen von Teil-Shapes. Durch die wiederholte Anwendung dieser Regelwerke auf Shapes, können extrem komplexe Objekte generiert werden. Dabei lässt sich die Detailtiefe und Komplexität des Objekts durch Iteration einfacher Operationen immer weiter verfeinern. Die von diesen Regeln als Grundlage benützten Parameter entstammen dabei entweder den Basisobjekten selbst, etwa aus deren Attributtabellen oder aus anderen Objekten wie Rasterkarten, z. B. über die erlaubten Gebäudehöhen. Die Produktionsregeln der CGA Shape Grammar werden als Textdateien Dabei ist in der CityEngine auch die Möglichkeit zur manuellen Konfiguration der Parameter, etwa über Veränderung der Stützpunkte eines geometrischen Objekts oder die Eingabe der Parameter gegeben (VAN MAREN 2012, 4 ff.). 4 Methodik Für die Modellierung der Kleinstadt Immenstadt i. Allgäu, ca. 14.000 Einwohner, aus Bestandsdaten (Digitale Flurkarte, Orthophotos und Baumkataster) werden drei wesentliche Prozedurale 3D-Stadtmodellierung mit der ESRI CityEngine 95 Elemente des Stadtraums unterschieden, Gebäude in prozeduraler und manueller Modellierungsweise sowie die Vegetation in Form von Baumobjekten. 4.1 CGA Rule File Abb. 8: Plandarstellung 3D-Modellierung Immenstadt i. Allgäu Für die CGA rule files der Gebäude werden die Gebäudegrundrisse als initial shapes gewählt. 2D-Polygone als initial shapes werden als Lot bezeichnet. Von diesen ausgehend werden die Gebäudekörper als Volumenelemente über eine Extrusion erzeugt werden. Im weiteren Verlauf des rule files werden die Flächen auf der Oberseite der Volumenkörper als Shapes ausgewählt und ihnen eine Dachform auferlegt. Beispiel eines rule files: Abb. 9: Extrusion initial shape Lot --> extrude(height) Mass # Das Shape „Lot“ wird über den Parameter „height“ extrudiert, das entstandene Shape erhält den Name „Mass“ Mass --> comp(f){top : Roof | side : Facade} # Über den Befehl comp wird das Shape “Mass” in die Shapes “Roof” auf der Oberseite und „Facade“ auf den Seitenflächen unterteilt 96 D. Hofmann und A. Heller Abb. 10: 4.2 Dachtexturierung aus einem Orthophoto Auf die so entstandenen Shapes „Roof“ und „Facade“ können weitere Operationen angewandt werden. So kann das Shape „Roof“ in ein Giebeldach transformiert werden. Dabei können Parameter wie die Neigung der Dachfläche, Dimesion von Dachüberständen oder die Firstorientierung übergeben werden. Die ESRI CityEngine kennt verschiedene Dachtypen wie Pyramiden-, Walm-, Shed- oder Giebeldach. Das Shape der Dachflächen lässt sich nach der Dachformerzeugung über ein Orthophoto texturieren. Dabei kann der entsprechende Bereich des Orthophotos direkt auf die Dachfläche projiziert werden. Fassaden Etwas schwieriger ist die Erzeugung der Fassaden, da hierfür im Gegensatz zum Dach keine exakte ortsspezifische Textur vorliegt. Allerdings bietet die CityEngine mit dem Façade Wizard eine umfangreiche Arbeitsplattform um aus zentralperspektivischen Fotodateien von Fassaden, die typischen Elemente zu erfassen und einer prozeduralen Verwendung zugänglich zu machen. Die Kachelung der Gebäudefassaden erfolgt in der CityEngine über die Split-Funktion (MÜLLER et al. 2007, 2 ff.). Die einzelnen Elemente lassen sich mit relativen oder absoluten Größen belegen, sodass die Fassaden entweder verzerrt dargestellt werden, was die Bildwirkung vermindert, oder sie werden absolut gehalten. Facade --> split(y) { { ~3 : Floor }* } # Relative Stockwerkshöhe 3m Floor --> split(x) {{~2: Wall | 1.5 : Windowtile }*| ~2: Wall} # Unterteilung der Stockwerke in 2m breite Wandund 1,5m breite Fensterelemente Windowtile --> split(y) { ~1 : Wall | 1.5 : Window | ~1 : Wall } # Fenster im Fensterelement mittig # Fassadentexturierung über Farbwerte Window --> color(“#0080ff”) # Texturierung der Fenster in blauer Farbe Abb. 11: Split der Fassade Wall --> color(“#ffffff”) # Texturierung der Wandfläche in weißer Farbe Abb. 12: Fototexturierung der Fassade Prozedurale 3D-Stadtmodellierung mit der ESRI CityEngine 97 Es werden die einzelnen Bildelemente bestimmt, die beim Anlegen auf ein Shape so lange wiederholen, bis dieses ganz gefüllt ist. Die genaue Lage der einzelnen Elemente im Bild wird sodann in ein rule file exportiert. Zusammen mit diesem und dem hinterlegten Bild lassen sich somit beliebige Shapeflächen texturieren und somit realistische Fassaden darstellen. Neben einer reinen Farbtextur können auch Fototexturen für die Fenster- und Fassadenelemente verwendet werden. Dazu wird das Foto oder eine Kachel auf das Fassadenelement projiziert. 4.3 Vegetation Abb. 13: Pflanzen als Objekte Einen wesentlichen Beitrag zur realistischen Ausgestaltung des Stadtraums liefert die Darstellung der Vegetation. Zur Ausbildung der Vegetation zeigen Lindenmayer und Prusinkiewicz vielfältige Möglichkeiten Pflanzen und Bäume aus L-Systemen zu entwickeln (LINDENMAYER & PRUSINKIEWICZ 1996, 10 ff.). Die dabei entstehenden Resultate zeigen eine erstaunlich realistische Bildwirkung. Dabei lassen sich diese auch dreidimensional entwickeln, was die Bildwirkung weiter stark verbessert. Für die Darstellung in einem 3D-Stadtmodell ist es allerdings zweckmäßiger die Bäume aus importierten Objekten im .obj-Format zu erzeugen, da sonst der Rechenaufwand erhöht und die Darstellungsperformance stark beeinträchtigt würde. Die für die Modellierung der Stadt Immenstadt verwendete Anzahl der Bäume beträgt ca. 2900. Deren Erstellung erfolgt über ein rule file „vegetation.cga“, welches ausgehend von den Fußpunkten die Objekte in der richtigen Raumlage platziert. Anschließend erfolgt eine Derhung um die Stehachse und eine Skalierung. Beide werden über Zufallszahlen gesteuert, für die Höhe werden typische Werte in einem Bereich von 10 m – 22 m angenommen, für die Rotation ein beliebiger Winkel zwischen 0° – 360°. Die Darstellung der Vegetation ist ein wichtiges Element zur Unterstützung der menschlichen Wahrnehmung (SEWARDS 2011, 5). Abb. 14: Manuell modellierte Objekte als Landmarks 4.4 Landmarks Die Orientierung an markanten topologischen Merkmalen hat eine hohe Bedeutung für die Wiedererkennung einer bereits bekannten Szene. Durch die Lage zu mehreren solcher Orientierungsobjekte kann das Gehirn den eigenen Standort errechnen und somit die eigene räumliche Position bestimmen (SEWARDS 2011, 3 ff.). Aus diesem Grund werden bei 98 D. Hofmann und A. Heller Stadtmodellen in der Regel markante Gebäude oder Wahrzeichen, sogenannte Landmarks, besonders detailliert und genau dargestellt, um beim Betrachter den Eindruck einer bekannten realen Szene entstehen zu lassen. Deshalb werden einige der markantesten Gebäude der Stadt in manueller Form gezeichnet und mit der realen Fototextur versehen, um eine bessere Bildwirkung der Szenerie zu erreichen. Diese wäre über eine rein prozedurale Erzeugung nicht möglich. 5 Fazit und Resultate Durch die verschränkte Modellierung in prozeduraler und manueller Form konnten die zweidimensionalen Bestandsdaten der Orthophotos und der Digitale Flurkarte erfolgreich in ein realistischstes 3D-Stadtmodell überführt werden. In diesem parallelen Ansatz kommen deutlich die Stärken und Schwächen der beiden Ansätze hervor. Die prozedurale Erzeugung erfordert umfangreiche Produktionsregeln, deren Erstellung einige Zeit in Anspruch nimmt. Daher lohnt sich die prozedurale Erzeugung erst ab einer bestimmten Anzahl von Objekten. Ist diese erreicht, so lässt sich in kürzester Zeit die Reproduktion ähnlicher Inhalte verwirklichen. Dies geschieht unter Verwendung von Wertekarten oder Zufallsparametern. Zudem ist mit der Möglichkeit der manuellen Modifikation von Parametern in Echtzeit, ein extrem effizientes Werkzeug zur Adaption des erzeugten Inhalts an weitere Vorgaben gegeben, z. B. die Dachhöhen-Anpassung. Die manuelle Modellierung bis hin zur vollständigen Fototexturierung nimmt dagegen pro Objekt etwa eine Stunde Zeit in Anspruch ist. Damit würde ein Modell einer vergleichsweise kleinen Stadt, wie der Stadt Immenstadt i. Allgäu, bei vollständiger manueller Modellierung etwa 200 volle Arbeitstage in Anspruch nehmen (bei ca. 12,5 Modellen/Tag) und einen entsprechenden Kostenaufwand bedeuten. Die manuelle Modellierung kann sich daher nur auf einzelne markante Objekte beschränken. Die restlichen Objekte wurden zufällig texturiert. Im Immenstädter Beispiel wurden die Dachhöhen und -Geometrien zufällig erzeugt, da diese Werte nicht in den Bestandsdaten verfügbar waren und anschließend manuell adaptiert. Diese Werte müssten zur tatsächlichen Verwendung in kommunalen Einsatz noch erhoben werden und in die Regelwerke integriert werden. Insgesamt lässt sich jedoch die Geeignetheit eines prozeduralen Vorgehens für die Modellierung kleinerer Kommunen als zielführend konstatieren. Besonders der Darstellung der Vegetation kommt eine hohe Bedeutung zu. Abb. 15: Fertiges 3Dd-Stadtmodell Immenstadt i. Allgäu Prozedurale 3D-Stadtmodellierung mit der ESRI CityEngine 99 Zum vertieften Studium der prozeduralen 3D-Stadtmodellierung sei auf die Arbeiten von Pascal Müller verwiesen, dem Gründer des CityEngine Entwicklers Procedural Inc. Ein guter Einstieg bietet der von ihm und Yoah Parish verfasste Essay „Procedural Modeling of Cities“ (MÜLLER & PARISH 2001). Des Weiteren sind die Autoren Peter Wonka, Arizona State University und Benjamin Watson, North Carolina State University zur Lektüre zu empfehlen. Literatur KELLY, G., & MCCABE, H. (2006), A Survey of Procedural Techniques for City Generation. ITB Journal, 14. LINDENMAYER, A. (1968), Mathematical models for cellular interaction, Parts I and II. Journal of Theoretical Biology, 18 (3), 280-315. LINDENMAYER, A. & PRUSINKIEWICZ, P. (1996), The Algorithmic Beauty of Plants. New York, NY. MÜLLER, P. & PARISH, Y. (2001), Procedural Modeling of Cities. SIGGRAPH '01 Proceedings of the 28th annual conf. on Computer graphics and intera. techniques, 301-308. MÜLLER, P., VAN GOOL, L., WONKA, P. & ZENG, G. (2007), Image-based Procedural Modeling of Facades. ACM Transactions on Graphics, 26 (3), 85 ff. PROCEDURAL INC. (2011), CityEngine Help Version 2011. Zürich. SEWARDS, T. (2011), Neural structures and mechanisms involved in scene recognition: A review and interpretation. Neuropsychologia, 49 (3), 277-298. STINY, G. (1980), Introdroduction into shape and shape grammars. Environment and Planning, B 7, 343-361. STINY, G. & GIPS, J. (1971), Shape Grammars and the Generative Specification of Painting and Sculpture. Information Processing, 70, 1460-1465. VAN MAREN, G. (2012), Developing with Esri CityEngine. ESRI Developer Summit. San Diego, CA. WATSON, B., MÜLLER, P., WONKA, P., SEXTON, C., VERYOVKA , O. & FULLER, A. (2008), Procedural Urban Modeling in Practice. Computer Graphics and Applications IEEE, 28 (3), 18 (9). WONKA, P., WIMMER, M., SILLION, F. & RIBARSKY, W. (2003), INSTANT ARCHITECTURE. ACM Transactions on Graphics, 22 (3), 669-677.