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.