Sie sind auf Seite 1von 40

Nature of Code

Nature
Diana Lange

code

HAWK Hochschule fr Angewandte Wissenschaft und Kunst 2012


S

Inhalt
T

26

26

30

Einfhrung Projekte 34

Ausgangssituation Sonstiges Panzen

Relevanz Text L-System Wachstum 41

Themenndung Weave Stengel


52
Fotos Schlaf Weltall

Gestaltung Ast/Blume Kugel 52

Fraktale Baum Terrain


6 58

Glossar Quellen, Links & Bildnachweis


6 62
Impressum
11 66

14 70

24 74

76 5
20
16 48
14 44
Ausgangs-
Einfhrung

situation
Bereits der Titel Nature of Code verrt viel ber den Inhalt des Pro-
jektes: Nature bedarf eigentlich keine Erklrung; es geht offensicht-
lich um Panzen, Tiere oder hnliches. Code weit darauf hin, dass
das Ganze etwas mit Programmierung zu tun hat. Darber hinaus
gibt es bereits ein gleichnamiges Projekt von Daniel Shiffman, wel-
ches eine Sammlung von Programmier-Tutorials ist. Enthalten sind die
Schwerpunte Algorithmen, Trigonometrie, Fraktale und Rekursion,
Physik und anderen naturnahen Themen wie dem Schwarmverhal-
ten. Die Tutorials von Daniel Shiffman knnen als Ausgangspunkt zu
meinem Projekt angesehen werden, da bereits so gut wie alle von mir INSPIRATION
behandelten Themen in der ein oder anderen, vereinfachten Form http://www.shiffman.net/teaching/nature/
dabei dort angerissen worden sind. Demnach war meine persnliche http://www.fadstudio.us/
Zielvorstellung fr dieses Projekt, naturnahe oder naturinspirierte Ob- http://n-e-r-v-o-u-s.com/
jekte und/oder Grafiken zu erzeugen. http://www.jonathanmccabe.com/
http://theverymany.com/
http://www.biothing.org/
http://marcinignac.com/
http://justinlivi.net/
http://tomasz-starczewski.com/
http://nonstandardstudio.wordpress.com/ Ein zu Beginn des Projektes erstelltes Mindmap zur Erschlieung von Themengebieten. 7
http://pixelero.wordpress.com/
http://anf.nu/
#1
Ausgangssituation

#2 #3 #7

#12

#4

#5
#8 #9
Vorbilder oder auch Inspirationsquellen sind die Arbeiten von ver-
schiedenen Knstlern und Designern, welche jeweils den Weg ber die #6
Programmierung gehen, um die natrliche Erscheinungen nachzuemp-
nden.

#1 Marc Fornes & THEVARYMANY: Y/Surf/Struc. 2011


#2 Francis A. Bitonti: Combustion Pavilion #11
#3 Nervous System: seed #1. 2010
#4 Francis A. Bitonti: Bristle Chair
#5 Jonathan McCabe: local bilateral symmetry bone music. 2011 #10
#6 Tomasz Starczewski: Diatom. 2009
#7 Nevous System: Reaction Cup. 2011
#8 Andreas Nicolas Fischer: Untitled (G IV). 2011
#9 Marc Ignac: Space Colonization. 2011
#10 Justin Livi: justinlivi.Geode();. 2011 9
#11 Justin Livi: justinlivi.Dandelion();. 2011
#12 Alisa Andrasek: Orbita Series. 2006
Einfhrung

Die Natur ist eine reiche Quelle fr Designer. Sie steckt voller Formen und Far-
ben, die seit Beginn der Zivilisation zu visuellen Erfindungen angeregt haben.
Der grte Teil der Materialien, aus denen Dinge hergestellt werden, stammt
aus der Natur, sie ist die Grundlage aller Ornament- und Schmucksysteme. Die
Natur als Lehrmeisterin zeigt aber nicht nur funktionale Lsungen, sondern sie
verndert darber hinaus das Bewusstsein und die Wahrnehmung von Schn-

Relevanz
heit und Bedeutung.

Alan Powers, Natur und Design

Die Natur kann fr jedes Designobjekt einen Look und


Das Projekt Nature of Code ver- Stil liefern, aber ihr Potential geht weit darber hinaus.
folgt keinen bestimmten Zweck, kein Grundstzlich bietet sie ein tiefgrndiges und befriedi-
bestimmtes Anwendungsgebiet. Es ist gendes Verstndnis unserer selbst und unseres Platzes in
vielmehr eine Art Forschungsprojekt, der Welt und die Fhigkeit, - durch die Designpraxis - be-
um sowohl die Grenzen der Program- stimmte Fragen zu beantworten, die von Forschern, Dich-
mierbarkeit von Natur als auch die tern oder kologischen Kampagnen nicht beantwortet
eigenen Wissensgrenzen zu definie- werden knnen.
ren. Aber hufig sind genau solche
Experimente die Basis fr darauf fol- Alan Powers, Natur und Design S. 10
gende angewandte Arbeiten. Sowohl
die Formensprache, der Aufbau, die
Farbgebung als auch die Arbeitsweise
fliesst in so gut wie alle Design-, Ar-
chitekur- und Kunstobjekte mit ein. Ei-
nige solcher Arbeiten werden auf der
nchsten Doppelseite gezeigt.

Das Modell Natur mit seinen Formen, Strukturen und konst-


ruktiven Gesetzmssigkeiten fliesst nicht nur in die unterschied-
lichsten Konzepte und Gestaltungsprozesse ein, sondern kommt
auch in einer groen Bandbreite von Formgebungen und Funkti-
onen zum Ausdruck. 11

Nature Design S. 9
#6
Relevanz

#3
#10 Ronan & Erwan Bouroullec: Algue, 2004,
#1 Georg Dobler: Brosche, 1997, Naturabguss Phy- Modulares Stecksystem aus spritzgegossenem
#7
salis, Silber oxidiert, Amethyst, 100 x40x30 mm Kunststoff, Modul 320 x 257 x 40 mm
#2 Jason Munn & The Small Stakes: Konzert Plakat #11 John Ruskin: The Stones of Venice, 1851 - 53
fr Mark Kozelek, 2006
#3 Deane & Woodward: Hof des Oxford-Museum,
1855 - 61

#10

#4
#1

#11

#8

#2

#4 Marin Kvamme: CD Booklet Magnet: The Tourniquet,


2005
#5 R. Buckminster Fuller: Expo Dome, Weltausstellung 1967
#6 Georg Dobler: Brosche, 1990, Naturabguss ste, Silber,
93x38 x 20 mm
#9
#7 Rebecca Earley: Wrmetransferdruck auf Baumwolle
#8 Poul Henningsen: PH Zapfen Artischocke, 1958,
72 Schuppen aus nasslackiertem Edelstahl, 750 mm
#9 Alice Stevenson: Sensory Perception, 2005, Zeichnung

#5

13
Themen-
Einfhrung

findung
Am Anfang des Projektes fand neben
einer theoretischen Recherchearbeit
zum Thema auch eine photographi-
sche Untersuchung statt. Das bedeu-
tet, dass ich eine Zeit lang Panzen,
Tiere und andere Dinge photogra-
phiert habe (siehe beiliegendes Heft).
Das Ziel dabei war aus diesen Photos
anschlieend mgliche Projektthemen
zu nden.

Gegenberstellung von Vorbild/Original und generative Umsetzung.


15
Einfhrung

Gestaltung
Im Verlauf der Projektarbeit hat sich
gezeigt, dass die Ergebnisse sich op- BIODIVERSITY HERITAGE LIBRARY
tisch stark unterscheiden. Zum einen www.ickr.com/photos/biodivlibrary/
sind einige Arbeiten zweidimensional
sind und andere dreidimensional. Zum
anderen gibt es sowohl Graken mit
feinen Linienstrukturen als auch eher
chige, teilweise mit leichten verlu-
fen versehene Zeichnungen. Daher
war es fr mich wichtig, dem gesam- Vorlage fr die Gestaltung sind zum ei-
ten Projekt ein einheitliches Erschei- nen historische, untersuchende Zeich-
nungsbild zu geben. nungen, welche zur Auistung und
Unterscheidung von Arten angefertigt
wurden. Zum anderen orientiert sich
die Darstellung an einem Herbarium.

17
#1 #2
Gestaltung

#5

#6

#7
#4

#1 George Robert Gray: Description


and Figures of some new Lepidop- #3 #10
terous Insects, chiey from Nepal.
1846
#2 Albrecht Drer: Akelei. 1526 #12
#9
#3 E. Donovan: The Natural History
of British Insects. 1792
#4 Naomi Okamoto: Sommergras ist
alles, was geblieben ist vom Traum
des Kriegers.
#5 Peony Yip: Organic VIII. 2012
#6 Johannes Gessner: Achillae macro-
phylla. Bound herbarium. 1783
#7 A. Smith: Untitled. 2010 #8
#8 Diana Lange: Zeichnung. 2012
#9 und #10 Diana Lange: Nature of
Code. 2012 19
#11 und #12 Nature of Code in Pro-
gress. 2012
#11
Einfhrung

Fraktale
Ein wiederkehrendes Thema in den
Einzelarbeiten von Nature of Code
Da auch die Mandelbrot-Menge zu den Fraktalen gehrt, entspricht auch sie
dieser Denition. In den Strukturen am Rand der Menge werden verkleinerte,
sind fraktale Strukturen und Selbst- ungefhre Kopien der gesamten Mandelbrot-Menge sichtbar. Damit zeigt sich
hnlichkeit. Daher erfolgt in diesem Eines der bekanntesten Fraktale ist die Mandelbrot-Menge, welche auch eine gewisse Gemeinsamkeit zur Genetik. Die Randstrukturen der Man-
Kapitel eine kurze Klrung der Begriff- bereits im Jahr 1978 erstmals von Robert Brooks und Peter Matel- delbrot-Menge, genannt Satelliten, knnen mit den Genen von Organismen
lichkeiten und Zusammenhnge. ski als Computergrak dargestellt wurde.1 Namensgeber fr dieses verglichen werden. Beides enthlt jeweils den Bauplan fr den gesamten Orga-
Fraktal war der Namensgeber Benot B. Mandelbrot. Neben seinen nismus, bildet aber lokal nur das entsprechende Organ aus.4
Verdiensten in der fraktalen Geometrie war Mandelbrot mageblich
an Lsungen mathematischer Probleme beteiligt und arbeitete in den
Bereichen der theoretischen Physik, der Finanzmathematik und der Selbsthnlichkeit im engeren Sinne ist die Eigenschaft von Gegenstnden, Kr-
Chaosforschung. In Bezug auf der fraktalen Geometrie leistete er den pern, Mengen oder geometrischen Objekten, in greren Mastben, d. h. bei
wichtigen Ansatz, die fraktale Geometrie fr die Beschreibung realer Vergrerung dieselben oder hnliche Strukturen aufzuweisen wie im Anfangs-
Objekte anzuwenden. Mandelbrot entdeckte, dass es eine Vielzahl zustand.5
an natrlichen Fraktalen gibt: Ob man nun die Formen von Bergen,
Kstenlinien und Flssen betrachtet, oder die Verstelung von Pan- Fraktale sind demnach sowohl natrliche als auch knstliche Gebilde,
zen, Blutgefen und Lungenblschen, oder auch die Verteilung von welche als Muster ausgebildet sein knnen, die einen hohen Grad
der Sternhaufen in Galaxien, alle diese Strukturen lassen sich durch von Skaleninvarianz und Selbsthnlichkeit enthalten. Sie knnen
die wichtigste Eigenschaft eines Fraktals beschreiben, die Skalenin- durch verschiedene Verfahren erzeugt werden: durch die Iteration
varianz.2 von Funktionen, durch Dynamische Systeme oder den L-Systemen.6

Skaleninvarianz beschreibt die Eigenschaft eines Zustands, Vorgangs, Verhltnis-


ses oder einer Situation, bei dem bzw. der auch bei Vernderung der Betrach- 1 vgl. R. Brooks, J. P. Matelski: dynamics of 2-generator subgroups of PSL(2,C)
tungsgren (Skalierung) die Eigenart oder Charakteristik inklusive seiner Eck- 2 vgl. wikipedia.de: Benot Mandelbrot
werte weitestgehend exakt gleich bleibt, so dass ein Zustand der Universalitt 3 wikipedia.de: Skaleninvarianz 21
gegeben ist.3 4 vgl. wikipedia.de: Selbsthnlichkeit
5 wikipedia.de: Skaleninvarianz
6 vgl. wikipedia.de: Fraktal
Selbsthnlichkeit und natrliche Fraktale
#1 Diana Lange: Baumstamm
Fraktale

#2 Wurzel der Sonnenblume (Helianthus spec.)


#3 Hermann Schachner: Scapania undulata Blattzellen
#4 Diana Lange: Blattdetail
#5 Diana Lange: Blatt
#6 Diana Lange: Baum

#3 #4 #5 #6

#1 #2

Fraktale
#7 Mandelbrotgrak
#8 Romanesco Blumenkohl
#9 computergenerierte Fraktalgrak
#10 NASA: The Antennae Galaxies in Collision, Hubble images
#11 NASA: Omega Nebula, Hubble images

#7 #8 #9 #10 #11

23
Einfhrung

Variablen & Datentypen


Glossar
Variablen werden dazu benutzt um Daten festzuhalten. In Pro-
Schleifen
Als Schleife wird das wiederholte Ausfhren von Anweisungen
Funktionen und Methoden
Funktionen sind dazu da innerhalb des Programmes Teilprobleme
Dynamische Arrays
Dynamische Arrays bernehmen die selbe Aufgabe wie einfache
Arrays. Der einzige Unterschied ist, dass beim Erstellen die Gre
des Arrays nicht festliegen muss. Das bedeutet, dass innerhalb
des Programmes Daten dynamisch hinzugefgt oder wieder ent-
fernt werden knnen. Der Nachteil gegenber den Arrays ist, dass
die Liste mehr Speicherplatz verbraucht, da jedes Mal, wenn
cessing und den meisten anderen Programmiersprachen gibt bezeichnet. Auf diese Weise knnen die Anweisungen definiert, zu lsen oder Daten zu verarbeiten. Man kann zwischen verschie- ein Objekt hinzugefgt wird neuer Speicherplatz allokiert wer-
es folgende Datentypen: int (Integer) fr Ganzzahlen, float fr modifiziert oder einfach nur ein vielfaches durchgefhrt werden dene Typen von Funktionen unterscheiden. Es gibt zum Beispiel den muss.15
Gleitkommazahlen, boolean fr wahr / falsch, char fr ein einzel- bevor eine Abbruchsbedingung eintrifft. In Processing gibt es drei Funktion mit und ohne Rckgabewert und mit oder ohne ber-
nes Zeichen (z. B. ein Buchstabe) und color fr Farben. Bei allen
7
Mglichkeiten fr Schleifen: while, do... while und for. Der Syn- gebene Paramter.13 Ein einfaches Beispiel zur Berechnung einer
diesen Datentypen spricht man von Primitives, also einfachen tax der for-Schleife lautet: Summe knnte so aussehen: Assoziative Arrays
Datentypen. Darber hinaus gibt es noch Composites, zusam- for (Anfangsbedingung, Abbruchbedingung, Vernderung der int summe (int a, int b) { return (a+b); } Die Art von Arrays, in Processing genannt HashMap, ist ebenfalls
mengesetze Datentypen. Dazu gehren Strings fr Zeichenket- Anfangsbedingung)10 int (Ganzzahl) ist der Rckgabewert, dass heit das an der dynamisch. Die einzelnen Instanzen knnen aber nicht nur ber
ten (z. B. Wrter), Arrays, ArrayLists und Objects. Unabhngig
8
Stellen des Programmes, an dem die Funktion aufgerufen wird, einen Indexwert abgefragt werden, sondern beispielsweise auch
vom Datentyp erfolgt die Deklaration und Wertzuweisung immer die Summe aus den beiden bergebenen Paramtern a und b ber ein Suchwort.16
gleich: Typ name = Wert; berechnet wird. summe ist der Funktionsname, durch welchen
Beispiel mit iNum als Variablenname: int iNum = 12; Klassen und Objekte die Funktion wie im folgenden Beispiel aufgerufen werden kann:
Jeder Datentyp verbraucht eine bestimmte Menge an Speicher. Klassen sind Sammlungen von Attributen und Methoden. 11
Sie int x = summe (2, 4); 7 vgl. K. Terzidis: Algorithms for Visual Design, XIX S. 2f
Um beispielsweise ein Integer zu speichern werden 32 bits ben- dienen dazu, den Code in komplexen Programmen zu organi- 8 vgl. www.processing.org/reference/
tigt, bei einem String schon doppelt so viel. Gerade fr aufwen- sieren und zu strukturieren. Oder anders gesagt, jede Klasse ist 9 vgl. K. Terzidis: Algorithms for Visual Design, XIX S. 3f
dige Programmierungen und Programme, die in Echtzeit laufen dafr da, ein Problem zu lsen oder eine bestimmte Aufgabe zu Arrays 10 vgl. ebd., XIX S. 8ff
sollen, muss der Speicherverbrauch bewusst eingesetzt werden erfllen. Instanzen von Klassen werden als Objekte bezeichnet. 12
Eine Array ist eine Art Liste, in welcher mehrere Instanzen vom 11 vgl. www.willemer.de/informatik/java/javaclas.htm
und mglichst immer auf den kleinsten Datenspeicher zurck ge- Ein beliebtes Veranschaungsbeispiel fr die Erklrung von Klas- gleichen Datentyp zwischengespeichert werden kann. Im Gegen- 12 vgl. K. Terzidis: Algorithms for Visual Design, XIX S. 63f
griffen werden. sen ist der Mensch. Sabine bespielsweise ist eine Instanz der satz zu den Dynamischen Arrays, muss beim Erstellen bereits die 13 vgl. Wolf: C++ von A bis Z, S.94ff
In den meisten Fllen ist es auch mglich einen Datentyp in einen Klasse Mensch. Sie ist blond, hat grne Augen und ist 1.78 m Gre des Arrays festliegen, d.h. wie viele Eintrge in die Liste 14 vgl. K. Terzidis: Algorithms for Visual Design, XIX S. 28f
anderen umzuwandeln. Dabei wird von Typecasting oder einfach gro. Marco hingegen hat schwarze Haare, braune Augen und gespeichert werden sollen. Bei Arrays sind die einzelnen Instan- 15 vgl. D. Shiffman: Learning Processing, S.428f
nur Casting gesprochen.9 Ein Beispiel: ist 1,82 m gro. Beide gehren sie der Klasse Mensch an, denn zen bzw. Listeneintrge jeweils ber einen Indexwert erreichbar, 16 vgl. processing.org
float f = 3.6; sie haben die gleichen Attribute: Haarfarbe, Augenfarbe, Gre. d.h. die Reihenfolge der Eintrge spielt eine wichtige Rolle.
14
25
int i = (int) f; Werden Klassen verwendet, so wird dies als objektorientierte
i nimmt dabei den Wert 3 an (die Dezimalstellen werden Programmierung, oder kurz OOP, bezeichnet.
einfach weggelassen).
Projekte

BILD http://www.ickr.com/photos/dianalange/sets/72157629206992270/
VIDEO http://vimeo.com/dianalange
CODE http://openprocessing.org/user/5969

Sonstiges
Exkurs: Die Projektseite #7

#1 Projekttitel #2
#2 Projektassoziation / Natrliches
bzw. naturalistisches Vorbild #8
#3 Einfhrungstext #1
#4 Denitionen
Im Verlauf der Arbeit entstanden ne- #5 Quellen #9
ben den eigentlichen Projekten eine #6 Links zum Projekt
Reihe von kleineren bungen und Ne- #7 Themenbezogenes Zitat #3
benprodukten. Einige davon werden #8 Weitere Informationen
auf der nchsten Doppelseite gezeigt. #9 Programmierung: Klassen und ihre
wichtigsten Aufgaben und Funktionen
#10 Sonstiges

27
#6 #5 #4 #10
#1

#2
Sonstiges

#3 Pusteblumenzeichnung: Strahlen
gehen im dreidimensionalen Raum
von einem Punkt aus; am Ende jedes
Strahls bendet sich ein Schirmchen.
#4 Sortierzeichnung: Eine bestimm-
te Anzahl an Punkten wird auf einer
Flche mit zuflliger Position verteilt.
Diese Punkte werden anschlieenden
so sortiert, dass sie mit einer sich nicht
kreuzenden Linie verbunden werden
kann.

#3

#1 Zeitbasiertes Zeichnen: Zwei Punk-


te bewegen sich auf einer Kreisbahn.
Diese zwei Punkte werden mit einer Li-
nie verbunden, welche sich von Wei
zu Schwarz und wieder zurck vern-
dert. Nach einem zufllig gewhlten
#4
Zeitraum ndert sich die Position und
der Durchmesser der Kreisbahn.
#2 Sinuszeichnung: Experiment mit 29
den Winkelfunktionen im dreidimensi-
onalen Raum.
Exkurs: Kreispunkte berechnen
Projekte

float centerX = width/2; X-Position der Kreismitte


float centerY = height/2; Y-Position der Kreismitte
int d = 400; Kreisdurchmesser
for (int i = 0; i < 360; i++) Schleife 360x durchfhren
{

Text
float x = centerX + cos (radians (i)) * d; X-Position berechnen
float y = centerY + sin (radians (i)) * d; Y-Position berechnen
point (x, y); Punkt an Stelle X,Y Zeichnen
}

DATENVISUALISIERUNG
www.visualcomplexity.com

VISUALIZER delegiert und erzeugt


alle visuellen Effekte. Das reicht von
der Textvisualisierung / Grak bis hin
zur Erstellung des Fensterglaseffektes,
welcher in den Instanzen der Klasse
TextDisplayer als Hintergrundbild
Text ist ein bungsprojekt, was verwendet wird.
nicht viel mit dem ursprnglichen The- TEXTANALYZER ldt eine Text-Datei
ma, Natur als Vorbild zu tun hat, (.txt) in den Processing-Sketch, ana-
auer dass die elementare Funktions- lysiert diesen und legt mithilfe eines
weise auf Rekursion basiert. Mir ging Divide & Conquer Verfahrens eine
es dabei in erster Linie darum, meine alphabetisch sortierte Liste vom Typ
Programmiertechnik zu verbessern, Divide & Conquer Word an.
den Programmcode besser oder sinn- Divide & Conquer bzw. Teile und Herrsche ist ein Such- bzw. TEXTDISPLAYER ist fr die Anzeige
voller zu strukurieren und neue Tech- Problemlsungsansatz aus dem Bereich der Informatik.17 Das ge- des Textes verantwortlich. Die Klasse
niken, wie das Arbeiten mit Assoziati- stellte Problem wird in kleinere und demnach einfacher zu l- erzeugt die notwendigen Zeilenum-
ven Arrays zu erlernen. sende Teilprobleme untergliedert. ber ein rekursives Verfahren brche und eine interaktive Scrollbar,
werden so Teillsungen gefunden, welche wiederum die Lsung falls der Text nicht in das Ausgabe-
des Gesamtproblemes bilden. Ein hufiger Anwendungsbereich fenster passen sollte.
ist die Suche in sortierten Listen: Hierzu wird das Element in der WORD speichert das Wort selbst ab,
Mitte der Liste mit dem gesuchten Eintrag verglichen. Anschlie- wie hug es im Text vorhanden ist
end muss nur noch in dem vorhergehenden oder nachfolgenden und die Position(en), an der das jewei-
Teil weiter gesucht werden. Dazu kann dieser erneut auf diese Art lige Wort gefunden wurde.
und Weise halbiert werden. Diese Suchmethode, heutzutage be-
kannt als Binre Suche, geht bereits auf die Babylonier zurck.18

BILD http://www.ickr.com/photos/dianalange/sets/72157627657832455/
17 vgl. Vazirani, Umesh V.: Algorithms, S. 1 VIDEO http://vimeo.com/31203226 31
18 wikipedia.de: Teile und herrsche (Informatik) CODE http://www.openprocessing.org/sketch/44133
Text

Innerer Kreis: Der gesamte Text wird in seiner original Rei- uerer Kreis: Je fter ein Wort im Text gefunden wurde, Interaktive Elemente: Die Arbeit ist sowohl als Grak als Fertige Grak: Die Wrter auf dem ueren Kreis werden
henfolge am Kreis angeordnet. Dazu wird der Text aus einer desto grer ist die Schriftgre. auch als App gedacht. Um letzteren gerecht zu werden, durch Kreise ersetzt. Je grer der Kreis ist, desto huger
externen Datei geladen und in einzelne Wrter unterglie- Linien: Es wird eine Linie gezeichnet, wenn das Wort auf sind ein paar kleine Interaktionen mglich: Wenn ein User wurde das Wort, wofr der Kreis steht, gefunden.
dert, welche in einem Array zwischengespeichert werden. dem ueren Kreis mit dem auf dem inneren Kreis ber- sich mit der Computermaus einem Wort auf dem ueren Wenn ein Wort mehr als einmal im Text vorkam, kann der
uerer Kreis: Mit Hilfe eines Divide & Conquer Suchal- einstimmt. Dazu werden die zwei Arrays (Originaltext + Kreis nhert, werden die Linien zwischen ueren und in- Kreis eine rote Umrandung erhalten. Dafr muss eine wei-
gorithmus wird eine alphabetisch sortierte Liste aller un- alphabetisch sortierte Liste) miteinander verglichen. Um neren Kreis rot eingefrbt. Auf diese Weise kann berprft tere Bedingung erfllt werden: Die Linienstrke der Um-
terschiedlichen Wrter angelegt. Das heit, fr jedes neue eine kurvige Linie zu erhalten werden jeweils zwei Kontroll- werden, an welchen Stellen das jeweilige Wort im Origi- randung wird umso dicker, je lnger das Wort ist. Die so
Wort wird ein Listeneintrag erstellt; gleichzeitig wird abge- punkte berechnet, welche sich zwischen dem ueren und naltext vorkommt. Des weiteren werden beim drcken der berechnete Linienstrke darf aber nicht grer sein, als der
speichert, wie hug jedes Wort gefunden wurde. Diese dem inneren Kreis benden. Leertaste zwei Fenster ber die Grak gelegt, in welchen Radius des jeweiligen Kreises.
sortierte Wortliste wird am ueren Kreis angeordnet. der Originaltext als Lauftext und die alphabetisch sortierte
Liste gezeigt wird.

33
Projekte

FLICKR API
www.ickr.com/services/api/
PROXML
www.creativecomputing.cc/p5libs/proxml/

Weave
HYPERBOLIC CORAL
www.openprocessing.org/sketch/9406

19 vgl. lexikon.martinvogel.de: API


20 vgl. www.sumo.de: Denition: API
21 vgl www.creativecomputing.cc/p5libs/proxml/
22 vgl. J. Wolf: C++ von A bis Z S. 657

API SKETCH EINS SKETCH ZWEI


API ist die Kurzform von Applied program interface und be- IMAGEFROMAPI ldt Bilddateien LOADIMAGEDATA ldt die im ers-
deuted bersetzt Schnittstelle fr Anwendungsprogramme.19 ber die ickr API in Processing und ten Sketch erstellten Textdateien, wel-
APIs ermglichen den Zugriff auf Daten um diese beispielsweise veranlasst, dass diese analysiert wer- che die Farbinformationen enthalten,
fr Anwendungen zu nutzen.20 den und das Resultat als Textdatei ab- und speichert diese Daten in ein Array
gespeichert wird. vom Datentyp Color.
IMAGEANALYZER anlysiert das Bild COLOR enthlt die Farbdaten, wel-
Dieses Projekt entstand durch eine Ko- proXML nach seinen Farben und Farbanteilen. che in LoadImageData geladen
operation mit der Zeitschrift Weave. proXML ist eine Erweiterung fr Processing, welche das Lesen COLORSAVER enthlt den Farbwert, worden sind.
Dabei ist die Covergestaltung fr die und Schreiben von XML-Dateien erlaubt.21 Dadruch knnen ex- wie hug und wo im Bild die Farbe VISUALISER ist fr die grasche Aus-
Ausgabe 1.12 (Februar/Mrz 2012) ternen Daten ber eine API in Processing eingebunden und wei- gefunden worden ist. gabe der Daten verantwortlich.
entstanden. ter verarbeitet werden.

Exceptions
In der Programmierung ist es durch das Exception-Handling mg-
lich unerwartete Fehler aufzufangen, ohne das gleich das gesam-
te Programm abstrzt.22 Dies ist hilfreich, wenn mit schwer kal-
kulierbaren Daten gearbeitet werden muss. Gerade das Arbeiten
mit den Daten von einer API bietet viele mgliche Fehlerquellen: BILD http://www.ickr.com/photos/dianalange/sets/72157629503336271/ 35
Die Daten knnen nicht gefunde werden, nicht geladen werden,
das Dateiformat kann fehlerhaft sein usw.
Weave

Die erste (umgesetze) Idee fr das Co- flickr geladen. Die Bildsuche erfolgt analysiert, d.h. es wird geschaut wel- und/oder geschwungene Linien mit ger es ist und je dicker die Linienstrke
ver der Weave war es, abstrakte Gra- nach Suchbegriffen, in diesem Fall pas- che Farben im Bild vorkommen und viel Zufall kombiniert. Gemeinsamer ist, desto hufiger wurde diese Farbe 37
ken aus Bildern zum Thema Karneval send zum Thema Karneval (Jecken, wie oft. Diese Daten werden dann Nenner dabei bleibt, dass jedes grafi- gefunden.
zu generieren. Dazu werden Bilddaten Fasching, usw.). Die gefundenen in verschiedenen Formen visualisiert. sche Element jeweils fr eine gefunde-
mit Hilfe der Library proXML von Fotos werden anschlieend farblich Je nach Experiment werden Kreise ne Farbe steht und je grer bzw. ln-
Weave

Links: Die Farbgraken werden in Ci-


nema 4D als Textur fr dreidimensio-
nale Objekte weiterverwendet.
Unten: Die in Processing erstellten
Korallen (Original von Kerrin Jeffe-
ris und Patrick Stein) werden verformt
und zu einem Kopfschmuck collagiert.

Zum besseren Vergleich werden bereits verffentlichte Co-


vergestaltungen betrachtet: Was war gut, was nicht?

Oben: Auch die in Cinema 4D model-


lierte Maske wird mit einer zuvor er-
stellten Farbgrak belegt.
Rechts: Verschiedene Varianten wer-
den ausgetestet (Tiefenschrfe, Farbe,
Stereoskopie, usw.).

Links: In Abhngigkeit vom


Coverlayout wird der opti-
male Bildausschnitt gesucht.

Hier werden die erstellten Graken mit dem Coverlayout


der Weave gezeigt. Es stellt sich heraus, dass die Strich-
zeichnungen fr ein Cover zu unspektakulr sind und
auerdem nicht gut mit dem Layout harmonieren. Daher 39
wird sich dem Thema Karneval im nchsten Schritt pla-
kativer genhert, in Form einer Venezianischen Maske.
Unsere ganze Geschichte ist blo Geschichte des
wachenden Menschen; an die Geschichte des schla-
Projekte

fenden hat noch niemand gedacht.


Georg Christoph Lichtenberg, zitate-aphorismen.de

Schlaf PAUL BOURKE: SURFACE (POLYGONAL) SIMPLIFICATION


www.paulbourke.net/geometry/polygonmesh/index.html
PAUL BOURKE: SPHERE GENERATION
www.paulbourke.net/miscellaneous/sphere_cylinder/

Schlaf ist eine Arbeit zum Thema BILD http://www.ickr.com/photos/dianalange/sets/72157629571704035/


Datenvisualisierung. Die Idee ist, ein
personalisiertes Objekt zu schaffen, Mesh
welches die Daten des eigenen Schlaf- Dieser aus der Geometrie stammende Begriff wird in der Compu-

endShape(CLOSE);

beginShape(TRIANGLE_STRIP);
rythmuses zeigt. Dieses Objekt knnte tergrafik verwendet und heit bersetzt nichts anderes als Git-

P1, P2, P3, P4


beginShape();

endShape(CLOSE);

endShape(CLOSE);

endShape(CLOSE);

endShape(CLOSE);

endShape(CLOSE);
dann beispielsweise als Schmuck ge-

P1, P2, P3, P4

P1, P2, P3, P4

P1, P2, P3, P4

P1, P2, P3, P4

P1, P2, P3, P4


ter. Ein Mesh besteht aus einer Menge kleinerer Elemente,

beginShape();

beginShape();

beginShape();

beginShape();

beginShape();

endShape();
tragen werden. den Polygonen. Diese dienen der Beschreibung einer Oberflche
oder eines dreidimensionalen Krpers.23 In Processing gibt es kei- ... P1 P3 P5 P7 P9 P11 P13
...
ne mitgelieferte Funktion, welche aus einer Menge an gegebenen P2 P4 P6 P8 P10 P12 P14
P1 P4
DATALOADER ldt die Daten in das Punkten ein Polygonnetz erzeugt. Daher muss entweder mit einer
Programm und bereitet diese fr den externen Libraries gearbeitet werden oder man baut sich die ein- P2 P3 ...
weiteren Verlauf auf. Dabei wird ber- zelnen Polygone selber.
prft, ob bei allen Schlafkurven die
gleiche Anzahl an Daten vorhanden ist 23 vgl. wikipedia.de: Gittererzeugung Hier werden zwei Varianten der manuellen Polygonnetz- Um einiges eleganter ist die Lsung mit dem zustzlichen
(Vollstndigkeit der Daten) und wan- erzeugung in Processing gegenber gestellt. Links werden Parameter TRIANGLE_STRIP, wodurch mit nur einem mal
delt die als String geladenen Daten in jeweils vier Punkte (P1, P2, P3, P4) miteinander verbunden; Aufrufen von beginShape() ein Band aus einer Vielzahl
Zahlenwerte um. danach wird die Form geschlossen. Der Nachteil bei diesem von Vertexpunkten erstellt werden kann.
SLEEPCURVE enthlt die in Data- Vorgehen ist, dass auf diese Weise die Funktionen beginS-
Loader geladenen Werte als Array, hape() (Polygon beginnen) und endShape() (Polygon
SLEEPSPHERE erstellt das Mesh ba- schlieen) sehr hufig aufgerufen werden, sehr viele, ein- 41
sierend auf den Schlafdaten. zelne Polygone erzeugt werden und damit der Speicherbe-
darf und der Rechenaufwandt sehr gro sind.
Schlaf

Oben links: Die Grundform Oben mitte: Auf die kugelige Oben rechts: Gezeigt werden die Beispieldaten
basiert auf einer Kugel. Grundform werde die Schlafda- einer Woche Schlaf. Jeder der Streifen steht fr
ten gelegt. Jedes Band enthlt die eine nchtliche Schlafperiode. Diese Daten wer-
Daten einer Nacht. Spter werden den als Textdatei abgespeichert und in das Pro-
noch Zwischenstufen berechnet gramm geladen.
um so eine lckenlose Form zu er-
halten.

Links: Zu sehen ist eine Reihe von Diese Seite: Oben zu sehen ist eine in
Zustandsrenderings die whrend des Processing gerenderte Schlafblume.
Arbeitsprozesses entstanden. Die ver- Das 3D-Modell wird als DXF Da-
schiedenen Experimente fhrten letz- tei exportiert und kann damit in al-
tenendlich zu einer reduzierten Farb- len gngigen 3D-Programmen weiter
gebung und einer Vernderung der verarbeitet werden. Auf diese Weise
Form von einer stacheligen Kugel entstand das untere Bild: In Cinema 43
zur fertigen Schlafblume. 4D kann die DXF Datei geladen und
das enthaltene Objekt mit realistischen
Materialien belegt werden.
Der Baum, der den einen zu Glckstrnen rhrt, ist in den Au-
gen des anderen nur ein grnes Ding, das im Weg steht. Manche
betrachten die Natur als lcherlich und deformiert [...] und einige
Projekte

sehen die Natur berhaupt nicht. Doch in der Augen des Men-
schen mit Fantasie, ist die Natur Fantasie selbst.

William Blake in Natur und Design S. 17

Ast/Blume BILD http://www.ickr.com/photos/dianalange/sets/72157628815886507/


CODE http://www.openprocessing.org/sketch/49159
Manchmal fngt man mit einem Pro-
jekt an und hat genau im Kopf, was
dabei heraus kommen soll. Auf dem
Weg dorthin kann es jedoch durch
eine Vielzahl von Zufllen vorkom-
men, dass etwas ganz anderes, wo-
mglich besseres dabei entsteht. In Rekursion
diesem Fall wollte ich eine Art Puste- In der Programmierung gibt es zwei Mglichkeiten bestimmte FLOWER erstellt ein Array vom Da-
blume programmieren. Aber sptes- Augaben zu lsen. DIe erste Variante ist das iterative, lineare tentyp BranchCreator. Auerdem
tens nach dem Einbauen einer rekursi- Programmieren. Hierbei wird das Progamm nacheinander, in ei- enthlt Flower die Daten, wie vie-
ven Funktion ergab sich etwas Neues: ner klaren Reihenfolge ausgefhrt. Rekusive Funktionen hinge- le ste gezeichnet werden sollen, wo
Ein Gebilde aus feinen, asthnlichen gen rufen sich selber wieder auf. Generell knnen die meisten die Grak positioniert ist und welchen
Strukturen, welche kreisfrmig ange- Probleme sowohl iterativ als auch rekursiv gelst werden. Der Durchmesser sie haben soll.
ordnet immer noch an die ursprngli- Vorteil beim rekusiven Programmieren liegt darin, dass der Pro- BRANCHCREATOR erstellt mit Hilfe
che Intension der Blume erinnern. grammiercode hufig um einiges krzer ist als die iterative L- einer rekursives Funktion die einzel-
sung umd damit fr den Programmierer einfacher zu lesen ist. nen Astabschnitte. Diese werden als
Natrlich hat diese Arbeitsweise auch einige Nachteile. So muss Instanten vom Datentyp BranchDra-
zum Beispiel bei jedem Aufruf der Funktion erneut Speicher fr wer in einer ArrayList gespeichert.
die lokalen Variablen allokiert werden, was dazu fhren kann, BRANCHDRAWER enhlt die Koor-
dass der zur Verfgung stehende Arbeitsspeicher relativ schnell dinaten des jeweiligen Astes und be-
ausgelastet wird. Dies wiederum kann zum Abstrzen des Pro- rechnet eine Kurvenform aufgrund des
grammes fhren.24 Anfangs- und Endkoordinaten. Dar- 45
ber hinaus ist BranchDrawer fr das
24 vgl. Fleischer, Kevin: Rekursion und Iteration S. 2 ff Zeichnen des Astes verantwortlich.
Ast/Blume

#5

#1

#7

#2
#6

Hier wird gezeigt, wie die Vernde-


rung bestimmter Parameter das Aus-
sehen von Ast/Blume beeinflussen.
#8
#1 und #2 In Flower wird die ma-
ximale Lnge der einzelnen ste ber
eine Noisefunktion (def. noise siehe
Projekt Kugel) bestimmt. Die Win-
kel werden per Zufallsfunktion festge-
legt.
#3 und #4 Bei gleichbleibendem Win-
kel wird der Grad der Lngennderung
#3
der Kindste (jngere Astsegmente,
die von einem lteren Astsegment ab- #10
zweigen) variiert. Nummer 3 ergibt
sich bei geringer Lngennderung
(z.B. mind. 80% der Lnge des Mut-
terastes), Nummer 4 bei hoher Lnge-
nnderung.
#5 bis #8 Bei diesen Beispielen bleibt
der Lngennderungsfaktor konstant
und die Winkel vergrern sich schritt-
weise.
#9 und #10 Bei allen erzeugten sten 47
ist die maximale gleich, wodurch sich
#9
eine kreisartige Auenform ergibt. #4
Wir knnen [...] nach funktionalen Erklrungen fr die Dinge
Projekte

suchen, die uns in der Natur gefallen, etwa die Farbgebung eines
Vogelkleides oder die Form eines Blattes. Es ist trstlich, dass die
Dinge eventuell nicht zufllig so sind, auch wenn wir sie nicht
ganz verstehen.

Baum
Alan Powers, Natur und Design S. 9

TREE erstellt ein Array vom Datentyp


BranchCreator. Auerdem enthlt Exkurs: Punkte auf einer Kugel berechnen
Tree die Daten, wie viele ste ge-
zeichnet werden sollen, wo die Grak float centerX = width/2; X-Position der Kugelmitte
positioniert ist und welchen Durch- float centerY = height/2; Y-Position der Kugelmitte
messer sie haben soll. float centerZ = 0; Z-Position der Kugelmitte
BRANCHCREATOR erstellt mit Hilfe int d = 400; Kugeldurchmesser
BILD http://www.ickr.com/photos/dianalange/sets/72157628903145341/ einer rekursives Funktion die einzel- for (int i = 0; i < 360; i++) erste Schleife 360x durchfhren
CODE http://www.openprocessing.org/sketch/49159 nen Astabschnitte. Diese werden als {
Instanten vom Datentyp BranchDra- for (int j= 0; j < 360; j++) zweite Schleife 360x durchfhren
wer in einer ArrayList gespeichert. {
BRANCHDRAWER enhlt die Koor- float x = centerX + sin (radians (i)) * cos (radians (j)) * d; X-Position berechnen
dinaten des jeweiligen Astes und be- float y = centerY + sin (radians (i)) * sin (radians (j)) * d; Y-Position berechnen
rechnet eine Kurvenform aufgrund des float z = centerZ + cos (radians (i)) *d; Z-Position berechnen
Anfangs- und Endkoordinaten. Dar- point (x, y, z); Punkt an Stelle X,Y,Z Zeichnen
ber hinaus ist BranchDrawer fr das }
Baum ist genau genommen kein Zeichnen des Astes verantwortlich. }
eigenstndiges Projekt, sondern einer BLATT bzw. BLUEHTE zeichnet ein
Weitentwicklung von Ast/Blume. Blatt bzw. eine Blhte an einer be-
Da bei dem vorangegangenem Projekt stimmten Position.
eine astartige Struktur entstand, war
es nur logisch, daraus naturalistische
Bume zu formen. Hierfr mussten 49
Programmiercode und einige Parame-
ter nur minimal verndert werden.
Baum

Links: Hier werden die einzelnen Oben: Im Vergleich zur Blume ver- Unten: Um ein noch naturalistischeres
Schritte gezeigt, wie sich aus der kreis- schachteln sich die einzelnen ste Bild zu schaffen, werden unterschied-
frmigen Blume, ber eine buschar- mehr in kleinere Unterste. Zustzlich lich groe und eingefrbte Bltter und
tige Form schlielich der Baum ent- nimmt die Strichstrke zu den Spitzen Blhten hinzugefgt.
wickelt hat. hin ab, was mehr dem Aussehen ei-
nes natrlichen Baumwachstums ent-
spricht.

51
[In den Werken des Baron Cuvier sieht man], wie die Natur in ihrem Fortschrei-
ten trotz ihrer Abwechslung und ihres unermesslichen Reichtums doch in ihren
Projekte

Fundamentalformen und Motiven usserst sparsam und konomisch bleibt.


Dasselbe Skelett wiederholt sich fortwhrend, jedoch mit unzhligen nderun-
gen, welche wieder teils durch die allmhliche Entwicklung der Individuen, teils
durch die Existensbedingungen, welche sie zu erfllen hatten, modifiziert wer-
den.

Pflanzen
Gottfried Semper, Entwurf eines Systems der vergleichenden Stillehre

BIOLOGIE & INFORMATIK


www.algorithmicbotany.org

RULE enthlt die Ersetzungsregel des


L-Systems als zwei Stringvariablen:
das zu suchende Zeichen und den In-
halt, mit welchem dieses ersetzt wer-
den soll.
RULELIBRARY enthlt das Axiom
und ein Array mit allen Ersetzungsre-
Durch diverse Internetseiten, welche geln vm Datentyp Rule
sich mit der Programmierung von LSYSTEM generiert mithilfe einer
panzlichen Strukturen befassen, wur- bergebenen RuleLibrary und einer
de ich auf die sogenannten L-Syste- F Vorwrtsbewegung um eine Linienlnge & Zeichnen der Linie festgelegten Iterationsanzahl eine Ket-
me aufmerksam. Das interessante f Vorwrtsbewegung um eine Linienlnge ohne Zeichnen der Linie te von Zeichen vom Datentyp String.
an diesen Systemen ist es, dass sehr + Drehung nach Links um gegebenen Winkel Diese Zeichenkette reprsentiert die
unterschiedlich aussehende Pflanzen - Drehung nach Rechts um gegebenen Winkel jeweilige Panze. Dabei erfolgt die
damit generiert werden knnen. Kern- Lindenmayer-System | Drehung um 180 Erzeugung des Strings nach den ge-
stck jeder Pflanze ist ein Regelwerk L-Systeme sind grammatische Modelle zur Erstellung realisitischer Pflanzenstrukturen. [ Speichern des aktuellen Zustandes (Winkel, usw.) gebenen Ersetzungsregeln von Rule-
(Axiom und Ersetzungsregel, siehe Benannt wurden das 1968 entwickelte System nach dem Botaniker Aristid Lindenmayer. ] Zurckkehren zum vorher gespeicherten Zustand Library.
beistehende Definition). Jede kleins- Er transformierte den regelbehafteten Aufbau von Pflanzen in ein Ersetzungssystem. In # Erweiterung der Linienlnge um bestimmten Wert TREE interpretiert die in LSystem
te nderung an der Ersetzungsregel einem einfachen Beispiel wird die Funktionsweise deutlicher: Am Anfang ist das Zei- ! Verminderung der Linienlnge um bestimmten Wert erstellte Zeichenkette mit graschen
bewirkt eine wahrnehmbare Vern- chen F (Axiom) gegeben, welches durch die Zeichenfolge F+F ersetzt werden soll. @ Punkt zeichnen Elementen (siehe Tabelle).
derung in der Pflanzengestalt. Daher Nach einer Ersetzung erhlt man nun F+F, nach der zweiten F+F+F+F. Die auf { Ein Polygon beginnnen BRANCH zeichnet einen Ast mit ge-
gibt es in diesem Projekt zum einen diese Weise entstandene Zeichenkette wird dann als Grafik interpretiert, wobei jedem } Ein Polygon schlieen gebenen Anfangs- und Endkoordina-
Varianten bereits bekannter L-Syste- Zeichen eine explizite Bedeutung zugeordnet ist (siehe Tabelle auf gegebberliegender < Die Linienlnge mit einem Wert multiplizieren ten und festgelegtem Aussehen.
me, welche z.B. auf der Internetseite Seite).25 < Die Linienlnge durch einen Wert dividieren BLATT bzw. BLUEHTE zeichnet ein
von Paul Bourke verffentlicht sind, & Die Bedeutung von + und - tauschen Blatt bzw. eine Blhte an einer be-
aber auch komplett neu entwickelte ( Erweiterung des gegebenen Winkels um einen bestimmten Wert stimmten Position.
Systeme, welche durch Experimente ) Verminderung des gegebenen Winkels um einen bestimmten Wert
entstanden. Diese haben nicht den 25 vgl. F. Breier: L-Systeme und andere knstliche Panzen S 4ff.
Anspruch, eine real existierende Pflan- 26 vgl. P. Bourke: L-System User Notes
ze nachzuempfinden. Vielmehr sollen Im Lindenmayer-System reprsentiert jedes Zeichen eine bestimmte grasche
sie so aussehen, als ob die Pflanze so Komponente. In dieser Tabelle nden sich alle vereinheitlichten Zeichen und
existieren knnte. ihre Bedeutung.26 Natrlich ist es problemlos mglich, weitere Zeichen und Be-
deutungen hinzuzufgen. Beispielsweise wurde das System bei meinen Pan- 53
BILD http://www.ickr.com/photos/dianalange/sets/72157629206948652/ zen noch um die Zeichen B fr Blhte zeichnen und G fr Blatt zeichnen
MEHR BILD http://www.ickr.com/photos/dianalange/sets/72157628985797345/ erweitert.
CODE http://www.openprocessing.org/sketch/49814
Wolken sind keine Kugeln, Berge keine Kegel,
Kstenlinien keine Kreise. Die Rinde ist nicht glatt und auch
Pflanzen

der Blitz bahnt sich seinen Weg nicht gerade.


Benot B. Mandelbrot, The Fractal Geometry of Nature

#1

#2

#3

#4

Im Gegensatz zu den in der Natur vorkommen-


den Panzen, sehen alle Strukturen, welche mit
demselben L-System erzeugt wurden, identisch
aus. Demnach muss ein Verfahren eingesetzt
#6
werden, um einzelne Elemente zu variieren, ohne
aber den Gesamteindruck der Panzenart zu
zerstren. Eine Mglichkeit ist die Verwendung
von Stochastischen L-Systemen. Dabei gibt es
#7
fr ein Zeichen mehrere Ersetzungsregeln. So
#5
knnte zum Beispie F mit F[+F]F[-F]F oder
F[+F]F oder F[-F]F ersetzt werden. Welche
der Ersetzungsregeln angewandt wird, wird per 27 vgl. F. Breier: L-Systeme und andere knstliche Panzen S 8 f.
Zufall entschieden.27 Eine andere Mglichkeit ist,
das L-System nicht deterministisch aufzufassen, #1 Alle mit dem L-System erzeugten Panzen sehen identisch aus. #3 Die Winkel werden mit einem Zufallsfaktor #5 Die Linienstrke nimmt zu den sten hin ab. 55
sondern kleine Mengen an Zufallsfaktoren hin- #2 Statt Geraden werden Kurven verwendet, wobei jeweils ein varia- modiziert. #6 An die ste werden Bltter gesetzt. Diese
zuzufgen. Letztere Variante wird schrittweise bler Kontrollpunkt zwischen Start- und Endpunkt des Baumsegmen- #4 Die einzelnen Ast- und Baumsegmente haben werden als Bild in das Programm geladen.
auf dieser Doppelseite dargestellt. tes eingefgt wird. nun unterschiedliche Lngen. #7 Die Gre und die Farbe der Bltter variiert.
Pflanzen

#8

#1

#7

#4

#9
#2

#3

In dieser bersicht werden unterschiedliche L-


Systeme, bestehend aus einem Axiom und den
#5 #6 #10 #11 #12
dazugehrigen Ersetzungsregeln, ihren gra-
schen Reprsentationen gegenber gestellt.

#1 Axiom X #2 Axiom a #4 Axiom XY #6 Axiom X #8 Axiom VZFFF #9 #10 Axiom F #12 Axiom F
F --> FF F --> >F< X --> X[-FF][+FF] F --> FF V --> [+++W][--W]XV Axiom [[+F]+F][X+[-X]][-F+X] F --> F[+F]F[-F]F F --> FF-[XY]+[XY]
X --> F-[[X]+X]+F[+F]-X a --> F[+x]Fb< Y --> YFX[+Y][-Y] X --> F[+X][-X]FX W --> +X[-W]Z F --> FFb[+X][-F]aX #11 Axiom FFF X --> +FX
#3 Axiom F b --> F[-y] Fa #5 Axiom X #7 Axiom FX X --> -W[+X]Z X --> [FF[+X]] F --> F[+FF][-FF]F[-F][+F]F Y --> -FX
F --> F[-F]F[+F][F] x --> a F --> FF X --> FF[-FX]+FX Y --> [+FF]YZ a --> F[-F]
y --> b X --> F[+X]F[-X]+FX Z --> [+FF]F b --> aXF 57
Es geht nicht darum, Naturformen zu kopieren, sondern darum, in die Natur-
prozesse einzudringen und sie durch den menschlichen Geist umzuwandeln,
Projekte

ohne sie zu denaturieren.

Alan Powers, Natur und Design S. 11

Stengel
Inspirit ist dieses Projekt von den mi-
kroskopischen Aufnahmen der Quer-
IMAGEFROMAPI ldt Bilddateien
nach einem bestimmten Suchbegriff
ber die ickr API in das Programm
und veranlasst, dass diese analysiert
werden.
IMAGEANALYZER anlysiert das Bild
nach seinen Farben und Farbanteilen.
COLORSAVER enthlt den Farbwert,
wie hug und wo im Bild die Farbe
gefunden worden ist.
SEGMENTS erzeugt aus den Ergeb-
nissen von ImageAnalyzer Ringe,
welche jeweils den prozentualen Farb-
schnitten von panzlichen Wurzeln anteil des jeweiligen Bildes reprsen-
und Sprossachsen. Charakteristisch fr tieren. Innerhalb von diesen Ringen
diese Ansichten sind die klar erkenn- Voronoi werden per Zufall Punkte verteilt, wel-
baren Zellstrukturen, welche sich ring- Ein Voronoi-Diagramm zerlegt einen gegebenen Raum in Regio- che dann die Grundlage fr die Vor-
artig in lockeres und dichteres Gewebe nen basierend auf einer gegebenen Menge von Punkten. Dabei onoi-Regionen bilden. Da nicht alle
untergliedern. Ein weiterer Gedanke nimmt jeder Voronoi-Punkt genau eine Region ein. Die Regionen LEE BYRON: MESH LIBRARY Punkteverteilungsvarianten ein funk-
bei dem Projekt war, dass die gene- haben die Eigenschaft, dass alle Positionen innerhalb der jewei- www.leebyron.com/else/mesh/ tionierendes Voronoidiagramm erge-
rierten Sprossachse nicht beliebig sind, ligen Region ihrem Voronoi-Punkt nher ist, als allen anderen ben, knnte das Programm an dieser
sondern hinter jeder Grak eine Be- Voronoi-Punkten.28 Stelle abstrzen. Diese Fehlerquelle
deutung steht. In diesem Fall wurden wird mit einer Exception aufgefan-
die Daten von Fotos, genauer gesagt gen.
die Farbanteile, dazu herangezogen. DISPLAYER erzeugt aus den in Seg-
ments erstellten Punkten Voronoi-
Regionen. Diese werden dann mit der
in ImageAnalyzer gefundenen Far-
28 vgl. C. Raskob: Schwerpunkt-Voronoi-Diagramme S. 11 be gefllt.

BILD http://www.ickr.com/photos/dianalange/sets/72157629453008849/ 59
Ein mit Lee Byrons Mesh Library erstelltes Voronoi-Dia-
gramm mit zufllig verteilten Voronoi-Punkten (blau).
Stengel

hnlich dem Weave-Projekt basiert auch diese Arbeit auf proXML ber die ickr API gesucht (Bild oben). Sobald Innerhalb von diesen Ringen werden zufllig Punkte ver- ordinaten smtlicher Eckpunkte aller entstandenen Zellen
einen Algorithmus, der die Farbanteile von Fotos analy- das Bild geladen wurde, wird es nach seinen Farben und teilt. Die Dichte der Punkte gibt den Helligkeitswert der knnen ber Voronoi abgefragt werden. Dadurch ist es
siert. Daher konnte ein Teil des Codes aus dem Weave- den Farbanteilen analysiert. Aufgrund dieser Daten werden Farbe an (Bild oben). Diese Punkt werden dann einer In- mglich, das Aussehen der Zellen manuell zu konfigurieren
Projekt weiterverwendet werden. Schritt eins ist also, ein Ringe angelegt, welche jeweils den prozentualen Anteil der stanz der Klasse Voronoi, welche durch die Einbindung und sie entweder eckig oder eher rund aussehen zu lassen
Foto in das Programm zu laden. Dies kann entweder direkt gefundenen Farbe reprsentieren. Je dicker also ein Ring der Mesh Library verwendet werden kann, bergeben. (Bild unten).
eine Bilddatei sein oder ein Foto wird mittels der Library ist, desto hug kommt die Farbe im Bild vor (Bild unten). Diese berechnet daraus das Voronoi-Diagramm. Die Ko-

61
EinTeil der allgemeinen Lektion der Natur ist das
Verstndnis, wie Ordnung und Chaos zueinander in
Projekte

Beziehung stehen.

Alan Powers, Natur und Design S. 33

Weltall
ZUFLLE GIBTS!
http://magazin.c-plusplus.de/artikel/
Zuf%E4lle%20gibt%60sFragezeichenAusruf
ezeichen%20-%20Funktionen%20rund%20
um%20rand%2C%20Random%20und%20
den%20Zufall
RANDOM IN PROCESSING
www.openprocessing.org/sketch/59360

Elementarer Bestandteil dieses Pro-


jektes ist das Prinzip von Ordnung
und Chaos. Wie viel Ordnung bzw.
Gleichmigkeit vertrgt ein Objekt,
ohne dass dieses nach Geometrie und
Mathematik aussieht? Und wie viel
Unordnung vertrgt es, ohne dass es
beliebig wird? Visualisiert wird dieses Zufall
Thema als Variationen von Himmels- Der Zufall in der Informatik ist eng Verbunden mit der Wahr-
krpern, welche ber ein Raster, Zufall scheinlichkeitsrechnung, denn Computer knnen nicht wirklich
(random) und Rauschen (noise) er- zufllig arbeiten, sondern jeglicher Zufall wird ber eine Algo-
zeugt werden. rithmus simuliert.29 In Processing geschieht die Erzeugung von
Zufallszahlen ber die Funktion random (min, max), wobei
eine zufllige Zahl zurck gegeben wird, welche sich innerhalb Die Grak ist eine Visualisierung der Zufallsfunktion random() in Processing. Gegeben
des angegebenen Minimal- und Maximalwertes befindet. ist ein Wertebereich, in diesem Fall von Null bis 100. Bei jedem Loop soll random() eine
Zahl aus diesem Wertebereich auswhlen. Jeweils ein Balken der Grak stellt eine Zahl dar.
Je fter eine Zahl per random() ausgesucht wurde, desto hher ist der Balken. Der blau
hinterlegte Balken steht fr die Zahl, die am hugsten ausgewhlt wurde, der blaue Kreis
29 vgl. magazin.c-plusplus.de: Zuflle gibts! die am wenigsten ausgewhlte Zahl. Die Grak zeigt die Hugkeitsverteilung der aus-
gewhlten Zahlen nach 1.000.000 Durchgngen. Die hugste Zahl war die Nummer 43
(10217 mal ausgewhlt, entspricht 1,02%), die geringste Zahl war die Nummer 75 (9752
BILD http://www.ickr.com/photos/dianalange/sets/72157629572630943/ mal ausgewhlt, entspricht 0.98%). Daraus lsst sich schlufolgern, das der in Processing 63
CODE http://www.openprocessing.org/sketch/31151 verwendete Zufallsalgorithmus nur bedingt zufllig ist. Denn er hat deutliche Tendenzen,
welche Zahlen generiert werden und welche nicht.
Weltall

Der Mond ist ein Zusammenspiel aus zwei Elementen: Zu- Auf drei verschieden groen Kugeln werden zufllig Punk- Hier wird eine Kombination von noise() und random() ver- Die Basis fr dieses Beispiel ist ein recht starr angelegtes
erst werden auf den Umfang eines Kreises zufllig Punk- te gelegt. Auch hier werden anschlieend viele Linien zwi- wendet. Dabei variiert die Gewichtung des Zufalls und des Raster mit nur wenig Variation. Das natrliche Aussehen
te verteilt, diese ergeben die uere Kontur des Mondes. schen zwei zufllig gewhlten Punken gezeichnet. Einzige Pseudozufalls in Abhngigkeit von der Position auf der Ku- entsteht ausschlielich durch die Vielzahl an feinen, sich
Zweitens werden innerhalb dieses Mondkreises weitere Bedingung ist, dass die zwei Punkte jeweils auf der gleichen gel. Benachbart liegende Punkte werden miteinander ver- kreuzenden Linien und der Drehung der Kugelformen im
Punkte verteilt, welche sich jeweils auf den Umfang von Kugel liegen. Zu beachten sind die Verdichtungen an den bunden und ergeben eine durchgngige Linie. Raum, so dass die Pole der Kugeln unterschiedlich positi-
kleineren Kreisen benden. Diese kleineren Kreise simulie- Polen der Kugeln. oniert sind.
ren die Krater des Mondes. Anschlieend werden viele Li-
nien zwischen je zwei zufllig gewhlten Punkten gezeich-
net. Durch die Verdichtung der Linien entsteht sowohl die
Struktur der Mondoberche als auch die leicht dreidimen-
sionale Wirkung.

65
Ist die Natur langweilig? So scheint es, wenn sie als tote Materie dargestellt
wird, wie dies in wissenschaftlichen Fchern oft der Fall ist. Die Vorstellung der
lebenden Natur wurde von Dichtern und Visionren beschrieben, die oft als
Projekte

Fantasten belchelt wurden. [...] Fr den Designer lsst sich die Unterscheidung
nicht durch Experimente , sondern durch die Qualitt der Arbeit nach der Natur
beweisen.

Alan Powers, Natur und Design S. 11

Kugel
Rauschen
KEN PERLIN: DER NOISE ALGORITHMUS
www.mrl.nyu.edu/~perlin/doc/oscar.html
JOSEPH NECHVATAL: IMMERSION INTO NOISE
www.openhumanitiespress.org/immersion-into-noise.html
WOLKENFLUG
www.openprocessing.org/sketch/56265

BILD http://www.ickr.com/photos/dianalange/sets/72157629206969340/

Rauschen beschreibt in der Physik eine Strgre, welche durch


die berlagerung von Schwingungen oder Wellen entsteht.30 Ge- Heigtmap
lufige visuelle Beispiele sind u.A. das Bildrauschen bei hohen Heightmaps oder Hhenfelder sind zweidimensionale Felder,
ISO-Werten in der Fotografie und der Ameisenkrieg bei feh- welche der Beschreibung von Hhenreliefs dienen. Die Hhen-
lendem Senderempfang im Fernsehen. Dieses Phnomen kann daten werden in einer Rastergrafik als Helligkeitswerte abgespei-
ber ein mathematisches Modell beschrieben werden, genannt chert. Das heit, je hher der Wert ist, desto heller ist der Grau-
Weies Rauschen.31 wert. Die zweidimensionale Grafik bildet demnach die Grundlage
fr die Generierung der Oberflche eines dreidimensianelen Ob-
jektes. Um das Relief zu erstellen wird die Rastergrafik abgetastet
Wie bereits bei dem Projekt Stengel und der Helligkeitswert bestimmt dann den z- bzw. Hhenwert
entstand diese Arbeit aufgrund meiner Perlin Noise an einer bestimmten Position des Polygonnetzes. Diese Technik NOISEMAKER erstellt mithilfe der
Faszination fr mikroskopische Auf- Noise ist eine fraktale Rauschfunktion. Sie wird zur Bildsynthese wird oft in der Computergrafik verwendet, da der Speicherauf- noise Funktion und/oder anderen Al-
nahmen. Daher ist es nicht verwun- natrlicher Phnomene, wie Wolken, Landschaften und Wasser, wand sehr gering ist.34 gorithmen ein Heightmap.
derlich, dass einige optischen Vorbilder verwendet.32 Ken Perlin, nachdem diese Funktion benannt wur- NOISESPHERE interpretiert das
aus einer Gallerie eines Herstellers von de, hat Perlin Noise entwickelt um Sachen, z.B. Bilder und Ober- Heightmap und generiert daraus ein
Mikroskopen (www.fei.com) stam- flchen, unregelmig genug aussehen zu lassen, wodurch die- kugelartiges Objekt.
men. Die Makroaufnahmen von Pol- se interessanter und natrlicher erscheinen. Die Funktion selbst
len, Kohle, Eisen, Algen, Sporen usw. macht nicht viel anderes, als ein einfaches, sich nicht wiederho-
sind dabei sthetische Grundlage. Was lendes Muster zu generieren. Noise gehrt nicht zu den Zufalls- 30 vgl. wikipedia.de: Rauschen (Physik)
nicht bedeuten soll, dass diese nach- funktionen, Noise ist pseudozufllig.
33
31 vgl. wikipedia.de: Weies Rauschen
gebaut werden. Vielmehr sollen die 32 vgl. wikipedia.de: Perlin Noise
mit der Rauschfunktion erzeugten Ku- 33 vgl. Ken Perlin: Making Noise 67
geln daran erinnern und frei mit dem 34 vgl. wikipedia.de: Hhenfelder
Thema assoziiert werden.
Kugel

Auf dieser Doppelseite ist eine Aus-


wahl der entstandenen Kugelobjek-
te zu sehen. Die Variationen wurden
ber verschiedene Experimente mit
der Noisefunktion generiert. Unter an-
derem wurde das Rauschen mit Win-
kelfunktionen, bitweisen Operatoren
und dem booleschen Operator XOR
(Wahrheitsabfrage Entweder Oder)
verfremdet.

Eine Kombination aus noise() und be- Die Ausgangsform ist eine Kugel, wel- Das erzweugte Heightmap dient als
wusst eingebauten Strungen ergibt che aus 200x200 Polygonen besteht. Vorlage zur gezielten Deformation ei-
das Heightmap. Zu sehen ist, dass sich das Gitter zu ner Kugel. Das in Processing gerender-
den Polen hin verdichtet. Dieser Ef- te Bild weist deutliche Zusammen-
fekt entsteht durch die Abnahme des faltungen an den Polen auf, welche
Kreisdurchmessers und der gleichzeitig durch die Polygonnetzverdichtung an
konstanten Anzahl der Polygone pro diesen Stellen hervorgerufen werden.
Kugelsegment.

Links:
Das als 3D-Modell im Dateiformat DXF exportierte Objekt wird in Cinema 4D
importiert. In dem 3D Programm erfolgt die Lichtsetzung, eine minimale Ober- 69
chenglttung und eine Belegung des Objektes mit einem Material.
Projekte

BILD http://www.ickr.com/photos/dianalange/sets/72157629331606961/
CODE http://www.openprocessing.org/sketch/52738

Terrain WIE SIEHT DER ZUFALL AUS


www.random-walk.com
GENERATING RANDOM FRACTAL TERRAIN
www.gameprogrammer.com/fractal.html
INNER WORLD - A LANDSCAPE GENERATOR
www.innerworld.sourceforge.net

CRACKS erstellt ein Bild, welches


zufllig positionierte, astartige Linien
ber ein rekusives Verfahren erstellt
Ziel dieses Projektes war es, unter- und als Bild abspeichert.
schiedliche, dreidimensionale Geln- ANCHOR steuert das rekursive Ver-
deformen ber einen Algorithmus zu fahren von Cracks und erzeugt die
generieren, welcher komplett ohne Random Walk einzelnen Astabschnitte.
manuelle Konguration funktioniert. Der Random Walk, zu deutsch Zufallsbewegung oder auch Irr- TERRAIN dient der Darstellung und BRANCH speichert die Anfangs- und
Die Idee fr die programmiertechni- fahrt, basiert auf einem stochastischen Prozess. Er findet Verwen- Anzeige der Landschaft. Die Klasse in- Endpositionen der einzelnen Linienab-
sche Umsetzung stammt von Thomas dung in der Herleitung von Wahrscheinlichkeitsverteilungen.35 terpretiert das ihr bergebende zwei- schnitte ab, welche in Anchor er-
Jourdan: ber eine Noisefunktion wird Unter Anderem kann auf diese Weise der zeitliche Verlauf be- dimensionale Bild und erstellt daraus zeugt wurden und erstellt daraus eine
ein Heightmap erstellt, welches nach ziehungsweise die Entwicklung von Marktpreisen nachvollzogen das dreidimensiale Gelnde. geschwungene Linie.
und nach ber verschiedene Filter so werden.36 NOISEGENERATOR erstellt ein
verndert wird, dass ein Terrain ent- Grafisch kann dieser Vorgang als wandernde Linie beschrieben Heightmap welches der Klasse Ter-
steht. werden, welche an einem zuflligen Punkt auf einer zweidimen- rain anschlieend als Bild bergeben
sionalen Flche beginnt. Bei jedem Durchgang wird die Linie um wird. NoiseGenerator erstellt dieses
einen Punkt erweitert. Dabei wird zufllig entschieden, ob die Bild und verndert es nach und nach
Linie nach oben, nach unten, rechts oder links weiter geht. durch eine Reihe von Filtern (z.B.
Zusammenfassend lsst sich der Random Walk durch folgende Ei- RandomWalk).
genschaften definieren: Alle Einzelentscheidungen sind autonom. RANDOMWALK erstellt ein Bild,
Jeder Schritt hngt ausschlielich von der aktuellen Position ab welches eine wandernde, weie Linie
und nicht von den vorher besuchten Pltzen. Jeder Teilschritt mit zuflligem Verlauf und sich zufllig
35 vgl. wikipedia.de: Zufallsbewegung wird zu einem neuen Ausgangspunkt. Daher knnen Pltze verndernder Linienstrke auf schwar- 71
36 vgl. wikipedia.de: Random-Walk-Theorie mehrmals aufgesucht werden und der daraus entstehende Pfad zem Grund beinhaltet.
37. vgl. D. Heermann: Der Random Walk S. 1 weist Kreuzungen auf.37
ber eine zweidimensionale Noisefunktion wird
ein Heightmap erstellt. Die Parameter fr Noise,
d.h. wie zufllig oder natrlich das Muster ist,
werden zufllig bestimmt. Dadurch unterschei-
Terrain

den sich die generierten Gelndeformen schon


anhand der Feinheit der Struktur.

Die Kontraste werden erhht. Dadurch entste-


hen im Heightmap weie, undifferenzierte Are-
ale, welche in der 3D-Ansicht Flchen auf den
Berggipfeln ergeben. Da diese achen Plateaus
unnatrlich wirken, wird anschlieend das Bild
invertiert (oben wird mit unten getauscht).

ber ein RandomWalk-Prozess werden die Berg-


und Talregionen festgelegt.

Um die kleinen Rauheiten der Oberche zu


gltten wird das Heightmap ber Mario Klin-
gemanns fastblur Funktion leicht weich ge-
zeichnet. Anschlieend werden noch einmal die
Kontraste erhht, um deutlichere Bergregionen
zu erhalten.

Die Landschaft wirkt nun insgesamt zu glatt und


zu gleichmg. Daher werden kleine Strungen
eigebaut. Realisiert werden diese ber die glei-
chen Klassen, welche schon fr die Generierung
von Baum und Ast/Blume verwendet wur-
den.

Diese Strungen entsprechen den natrlich vor-


kommenden Erosionen, welche durch die Um-
weltgegebenheiten entstehen.
Das nun fertige Modell wird als dxf-Datei expor-
tiert.

In Cinema 4D wird das


Modell importiert, weiter 73
verarbeitet (Lichtsetzung,
Ausschnitt, usw.) und an-
schlieend als hochausendes Bild gerendert.
Quellen,
Quellen

Links&Bild-
nachweis
QUELLEN BILDNACHWEIS LINKS

Breier, Florian: L-Systeme und andere knstliche Panzen (pdf). Berlin, 2009 Klanten, Robert; Hellige, Hendrik [Hrsg.]: Su- cs.berkeley.edu/~vazirani/algorithms/chap2.pdf, eingesehen S.6: theverymany.com S.8-9: #1 theverymany.com, #2 & http:// anf.nu http://apod.nasa.gov/apod/ap030425. bourke.net/fractals/lsys/index.html roxiemike.wordpress.

http://graphics.uni-ulm.de/lehre/courses/ss02/Computergra- personic. Visuals for Music. Die Gestalten Verlag GmbH & Co. am 07. Mrz 2012 Wolf, Jrgen: C++ von A bis Z. Das um- #4 francisbitonti.com, #3 & #7 n-e-r-v-o-u-s.com, #5 ickr.com: html http://biodiversitylibrary.org www. biokurs.de/ com/2010/01/09/is-this-the-year-we-win-at-romanesco/

k/ Brooks, Robert; Matelski, J. Peter: The dynamics of KG, Berlin, 2007 Neubert, Eberhard: Albrecht Drer. Pflan- fassende Handbuch. Galileo Press, Bonn, 2006 jonathanmccabe, #6 tomasz-starczewski.com, #8 anf.nu, #9 skripten/12/bs12-5.htm http://biothing.org http:// http:// sumo.de/denition-api.html http://theverymany.

2-generator subgroups of PSL(2,C), in Riemann surfaces and re- zen und Tiere. VEB E.A.Seeman Buch- und Kunstverlag, Leipzig marcinignac.com, #10 & #11 justinlivi.net, #12 biothing.org briancarper.net/tag/216/mandelbrot http://creativecom- com http://tomasz-starczewski.com http://velocirap-

lated topics: Proceedings of the 1978 Stony Brook Conference, Okamoto, Naomi: Japanische Tuschemalerei fr Einsteiger. S.12-13: #1 & #6 Dobler: Schmuck//Juwellery S.104 & 108, #2 puting.cc/p5libs/proxml http://de.flash-screen.com/free- tor.mni.fh-giessen.de/Programmierung/progI-html-dir/node7.

Annals of Mathematics Studies, Band 97, Princeton University Ein Malkurs in Beispielen. Augustus Verlag, Mnchen, 2001 & #4 Klanten: Supersonic S.200 & 313, #3 & #7 Powers: natur wallpaper/mask/beautiful-mask,1280x1024,32880.html html#SECTION00072000000000000000 http:// weave.

Press, Princeton, N.J., 1981, S.65-71 Burger, Wilhelm: Gra- Powers, Alan: natur und design. Inspirationen fr Architektur, und design S.19 & 122, #5 & # 7 & #8 & #10 & #11 Sachs: www.fei.com www.ickr.com http://francisbitonti.com de http://wikipedia.de http://www.willemer.de/infor-

dientbasierte Rauschfunktionen und Perlin Noise (pdf). http:// Mode und angewandte Kunst. Verlag Paul Haupt, Bern, Stutt- Nature Design S.32 & 62 f & 136 & 172 f S.18-19: #1 http://lexikon.martinvogel.de/api.html http:// justinlivi. matik/java/javaclas.htm http://www.zitate-aphorismen.de

staff.fh-hagenberg.at/burger/publications/index.html Do- gart, Wien, 2000, S. 1-122 Prusinkiewicz, Przemyslaw: Self- & #3 biodiversitylibrary.org, #2 Neubert: Albrecht Drer Tafel net http://magazin.c-plusplus.de/artikel/Zuf%E4lle%20gib

bler, Georg: Schmuck//Jewellery. 1980-2010. ARNOLDSCHE Similarity in Plants: Integrating Mathematical And Biological 24, #4 Okamoto: Japanische Tuschemalerei S.62, #5 ickr.com: t%60sFragezeichenAusrufezeichen%20-%20Funktionen%20

Art Publishers, Stuttgart, 2010 Fleischer, Kevin: Rekursion Perspectives. In M. Novak (Hrsg.). Thinking in Patterns. Fractals The_White_Deer, #6 Sachs: Nature Design S.19, #7 ickr.com: rund%20um%20rand%2C%20Random%20und%20den%20

und Iteration (pdf). http://keischer.delphigl.com/tutorials.php and Related Phenomena in Nature. World Scientic, Singapore, little worries S.22-23: #2 biokurs.de, #3 commons.wiki- Zufall http://marcinignac.com http://www.mathe-

Heermann, Dieter W.: Ein Bespiel: Der Random Walk (pdf). 2004, S. 103-118 Raskob, Christian: Schwerpunkt-Voronoi- media.org: Scapania undulata Blattzellen, #7 briancarper.net, online.at/materialien/matroid/files/fraktale/fraktale.html

http://wwwcp.tphys.uni-heidelberg.de/statmech Jordan, Diagramme (pdf). http://www.raskob.de/fun/d/#d Sachs, #8 roxiemike.wordpress.com, #9 tapeta.info, #10 wikipedia. www.mikroskopie-forum.de http://www.noisemachine.

Thomas: Generierung virtueller Gelndeformen durch Rausch- Angeli: Nature Design. Von Inspiration zu Innovation. Zricher de: Antennae Hubble, #11 apod.nasa.gov S.34: de.flash- com/talk1/index.html http:// onformative.com http://
75
funktionen und Filter (pdf). http://innerworld.sourceforge.net Hochschule der Knste ZHdK, Zricher Fachhochschule und Lars screen.com S.38: weave.de & onformative.com S.40: www.ozok-online.de/dekoration-dekosteine-gartensteine-

Klanten, Robert; Hellige, Hendrik [Hrsg.]: Illusive. Contem- Mller Publishers, 2007 Vazirani, Umesh V.: Algorithms. ozok-online.de S.58: Daniel Steiner/ mikroskopie-forum.de heilsteine/sandrosen/sandrosen-grsser-1kg/ http://paul-

porary Illustration Part 3. Die Gestalten Verlag GmbH & Co. KG, Chapter 2. Divide-and-conquer algorithms (pdf). http://www. S.66: fei.com alle Anderen: Diana Lange
Impressum

2012. Diana Lange. Alle Rechte vorbehalten.


www.diana-lange.de

Matrikelnummer: 532853

Text, Gestaltung und Umsetzung: Diana Lange

Entstanden im Modul Integratives Projekt an der HAWK FH HHG


im Studiengang Master of Arts

Geprft von
Prof. Marion Lidolt
Prof. Stefan Wlwer

Sommersemester 2012
www.hawk-hhg.de

Das könnte Ihnen auch gefallen