Documente Academic
Documente Profesional
Documente Cultură
Thesis Proposal
University of Washington
February 16, 2004
Introduction
Different design styles from different regions and eras have used diverse
methods of geometry to generate the design. An example is the Islamic
architecture; designers used fractals and transformation rules to generate various
designs.
Figure 1 exemplifies the use of geometry and geometric patterns in Islamic
architecture. The illustrated wall is divided into a number of panels, each with its
own distinctive pattern and logic. Within each panel the same design logic holds
true.
This logic is not exclusively limited to walls or large objects; the same logic is
often applied to generate shapes and patterns ranging from textiles to metalwork.
Golnaz Mohammadi
Thesis Proposal
University of Washington
February 16, 2004
Golnaz Mohammadi
Thesis Proposal
University of Washington
February 16, 2004
Figure 7: Examples of astroid and limacon of pascal curves used by Greg Lynn for building
design.
From the examples above, we can make the assumption that regardless of time,
geographical location, or cultures, designers utilize geometric rules to create their
designs.
1.2
The goal of this thesis is to generate a wide variety of shapes and patterns
ranging from Classic-Western, Islamic architecture, to the work of Peter
Eisenman and Greg Lynn, as well as shapes and patterns of nature, using
evolutionary algorithms as design computing tools.
Golnaz Mohammadi
Thesis Proposal
University of Washington
February 16, 2004
1.3 METHODOLGY
The focus of this thesis is on three different categories using evolutionary
algorithms in the processing environment to generate shapes to explore fractals,
curves and surfaces. The thesis will also explore the rules that apply to
algorithms to regenerate new shape pattern volumes and spaces. The algorithms
used to generate shape will be organized in a library system for end user
programmers to use them for their own design generation and code manipulation.
The designer can use specific algorithms in a specific category to generate
space volumes or detailed patterns, which can be used for building detail designs
in windows, door details, or tiling. The thesis is more interested in generating
more complex spaces or volumes like those in Greg Lynn or Frank O Gehrys
work, or even more organic forms using curves or surfaces. As far as building
details, the algorithms will generate fast, detailed patterns. Drafting such details
in conventional CAD environments, using traditional methods of drafting, will
require time, knowledge of geometry, and creativity. Additionally, the thesis will
add colorimetric properties to the pattern. This will be useful for coloring and
filling the patterns created in the processing environment
A number of applets have been developed using processing for this thesis. For
making the applets, I have explored l-systems which is a part of fractals to
generate patterns similar to Islamic architecture details. Also, some very similar
to what we can see in nature; like trees and microscopic details of some living
organs
1.4 THE PARTS OF THE THESIS PROPOSAL
Section 2 discusses the related work and Annotated Bibliography in order to
place GSG in the framework of Computational Design as an evolutionary shape
generative tool that can be used to design architectural forms or patterns with
ubiquitous design style. Section 3 introduces L-systems and explains how the
current processing applets have used l-system to generate shape and patterns.
Section 4 proposes fractals, curves and surfaces as shapes with complete
mathematical structure that GSG can provide indirect access to their
characteristics and therefore allows shape manipulation and regeneration.
Section 4 also explores different fractal types as well as curves and surfaces.
Section 5 is the conclusion and future work.
2-RELATED WORK
The thesis will explore related work in two categories:
The history of evolutionary algorithms and its influence in architecture and
art
Shape Generative computing and its rule in design.
2.1-Fractals and Fractal Architecture
Golnaz Mohammadi
Thesis Proposal
University of Washington
February 16, 2004
Golnaz Mohammadi
Thesis Proposal
University of Washington
February 16, 2004
Point fractals are groups of points in a complex plane like the Mandelbrot
set and the Julia set shown in Figure 9
Golnaz Mohammadi
Thesis Proposal
University of Washington
February 16, 2004
Gingerbreadman, and Martin Attractors. These are related with the chaos
theory.
2.3-Architecture, Patterns, and Mathematics
Nikos A. Salingaros, Architecture, Patterns, and Mathematics, University of
Texas, Published in the NNJ vol. 1 no. 2 (April 1999)
Salinagarose introduces Mathematics as a science of patterns. The human mind
distinguishes connections and interrelations between concepts and ideas, and
links them together. The human neural development in response to a persons
environment enables him/her to create patterns. Mathematical theories explain
the relations between patterns that occur inside ordered, logical structures.
Patterns in the mind imitate patterns in nature as well as man-made patterns,
which is probably the reason why humans developed mathematics in the first
place. People generate patterns out of some fundamental inner need: it
externalizes connective structures generated in the mind thinking process, which
explains the ubiquitousness of visual patterns in the traditional art and
architecture of mankind.
Patterns are also essential to human intellectual development. Daily activity is
planned around natural rhythms. Annual events become a society's fixed points.
Additionally, these can help individuals understand a periodic natural phenomena
like seasons and their effects. Mathematics itself arose out of the need to
observe patterns in space and time. Repeating gestures become theater and
dance, and are incorporated into myth, ritual, and religion. The development of
voice and music responds to the need to encapsulate rhythmic patterns and
messages. All of these activities occur as patterns on the human range of time
scales. Self organization in a complex physical and chemical system generates
pattern in space or time.
Patterns manifest the inherent creative aptitude of human beings for
mathematics. Child psychologists necessitate patterns for developing a childs
visual environment.
Salingaro believes patterns are indispensable from architectural form. The study
of hidden patterns in chaotic systems is Mathematical chaos. The basic aim of
mathematics, which is to discover patterns, has not changed from Newtonian to
chaotic models. Built examples vary from one extreme to another: from the empty
modernist model into random forms. Decoration on contemporary buildings is
either so minimal or hardly noticeable, or it is deliberately disarrayed and broken,
consequently it is jumbled. Although, Deconstructivist architects avoid organized
complexity, their design concept is still a proper mathematical concept.
Golnaz Mohammadi
Thesis Proposal
University of Washington
February 16, 2004
Golnaz Mohammadi
Thesis Proposal
University of Washington
February 16, 2004
Alphabet a, b
Axiom a (also called the initiator)
Set of re-writing rules, (next state functions) b goes to a & a goes to b
The technique is to apply the rules to each element of axiom, then write the result
below it, then take every element of the latest row and apply the rules, writing the
result below it, this action then keeps on adding axioms. (Figure 10)
Golnaz Mohammadi
Thesis Proposal
University of Washington
February 16, 2004
10
Golnaz Mohammadi
Thesis Proposal
University of Washington
February 16, 2004
Alphabet = {F,+,-}
axiom= F
production rules: F
F+F- - F+F
11
Golnaz Mohammadi
Thesis Proposal
University of Washington
February 16, 2004
The Koch L-system grows fairly quick; each line segment is replaced by four
more at the next generation, the n-th generation has segments. For instance,
generation 8 plotted above has 65536 segments.
3.3 Processing applets
By using the l-system and Turtle graphics, I have developed a series of applets in
the processing environment. In this section I will show some examples of my
applets and also briefly describe their system and how a designer can interact
with my codes to generate a wide variety of shapes. Figure -14 shows an
example of shapes I created using l-system concepts in the processing
environment
12
Golnaz Mohammadi
Thesis Proposal
University of Washington
February 16, 2004
The processing environment does not have a built in turtle system, I used a
simple algorithm to define a turtle. An example of the simple algorithm for
simulating turtle movements is:
newX=x+unit*cos(radians(zt));
newY=y+unit*sin(radians(zt));
line(x,y,newX,newY);
X and y are starting coordination points in the Cartesian coordinate system.
NewX and newY are defining the turtle movement in the coordinate system. Zt
defines the turtle turning angle from left or right. Zt=Zt+Delta which delta is our
rotation angle, and at the turtles starting point our vector line should be horizontal.
Which means zt=0 and the iteration=0, delta is a rotating angle with a horizontal
line and is used to turn the turtle left or right with the Delta angle. Finally, line
command draws a line base on the line coordination points. I have to mention
here that if we draw another shape instead of a line and apply the same rules to
our shape the same system still works and basically shape replacement gives
the designer the ability to generate a variety of shapes; needless to mention that
applying these simple rules to the single line can generate a wide range of
shapes by itself. The designer can generate shapes by changing the production
statement or rotation angle unite size or number of iteration. Figure-15 is a
simple example of geometric patterns that a designer can produce using l-system
and Turtle graphics.
13
Golnaz Mohammadi
Thesis Proposal
University of Washington
February 16, 2004
The next examples will allow you to see how small changes can produce a
variety of shape and patterns. Figure-16 shows patterns generated using the
same code, but with Delta (rotation angle) set to 45. In figure-17, Delta is set at
60 to see how a simple code manipulation will result in a different shape. Figure18 the rotation angle is 30 and the number of iterations is 5. As you can see,
there is a major change in shape generation and you dont see a geometric
pattern any more.
14
Golnaz Mohammadi
Thesis Proposal
Figure-16:
University of Washington
February 16, 2004
Detla 45 Iteration 4
Figure-18:
Detla 30 Iteration 5
Here is another set of applets that have been developed using the turtle lsystem interpreter; but by the implemented via push/pop turtle logic to facilitate
dynamic angle changing. Push() and pop() requires the understanding of the
matrix stack concept. The push() function saves the current coordinate system to
the stack and the pop() restores the prior coordinate system. Push() and pop()
are used in conjunction with the other transformation methods and may be
embedded to control the scope of the transformations.
Alphabets for this system are:
F : draw a line of unit in current direction
f : move forward one unit in current direction, no draw
+ : turn left one angle unit
- : turn right one angle unit
[ : push state
] : pop state
The code shown below is used to generate a turtle l-system tree implemented
with push and pop. An image of the tree is shown in figure-19
String state = "F";
String[] axioms = {"F","f","-","+","[","]"};
String[] productions = {"F-[-F+F+F]+[+F-F-F]","f","-","+","[","]"};
int iterations = 4;
float unit=80 (the vector unite length)
float delta=150;(rotation angle)
15
Golnaz Mohammadi
Thesis Proposal
University of Washington
February 16, 2004
We can use push/pop turtle l-systems to generate a wide range of shapes and
patterns by changing the rotation angle, iteration number, and unit size as well as
production statement to create interesting shapes or manipulate existing shapes.
The applets can work as knowledge based support systems to support the
designer to create interesting shapes quickly with little understanding of lsystems structure. The artist can interact with the code to manipulate or generate
a range of shapes.
Figure 20: example of shape generator using push and pop turtle L-System
4.1 Applet extensions
In the next part of the thesis, I would like to further explore fractals, curves, and
surfaces and the related algorithm that generate a wider range of shape. Then I
will explore the possibility of interaction with the end userprogrammable library
system that covers fractal, curves and surfaces to manipulate and generate
shapes.
4.2 Fractals
Various methods using different algorithms have been discovered to produce
fractals. Ant Automaton, Barnsley Mandelbrot/Julia Set, Bifurcation, Cellular
Automata, Martin Attractors, Circle, Peterson Variations, Formula, Diffusion Type,
Dynamic System, Pick over Popcorn, Frothy Basins, Gingerbreadman, Halley,
Hyper Complex, Newton, Icon and Icon3d ,Julia Sets ,Inverse Julias, L-Systems
(2d, 3d) are some of the most well-known fractal types that I am going to
produce and explore ways to interact with their evolutionary algorithmic structure
to generate patterns and to find easier more powerful interaction and code
manipulation to easily and quickly generate shapes. Figure 21 and 22 show
patterns that have been produced using different fractal types.
The fractal shapes generated by designers can be used as forms for architectural
floor plan design, or the patterns can be used for architectural building details,
such as tiling windows and doors.
16
Golnaz Mohammadi
Thesis Proposal
University of Washington
February 16, 2004
Ant type
Barnsleyj2 type
Cellular Automata
Martin Type
Pickover Popcorn
cmplxmarsjul type
Diffusion type
Dynamic type
Manzpowr type
Icon type
Henon type
Circle type
17
Golnaz Mohammadi
Thesis Proposal
Halley type
University of Washington
February 16, 2004
Julia type
Kamtorus type
l-system type
Gingerbread type
Result
18
Golnaz Mohammadi
Thesis Proposal
University of Washington
February 16, 2004
Super circle
Piecewise cubic
Bezier
Butterfly curve
Chrysanthemum
Cycloid
Spline curves
Conic sections
Archimedes
Spiral
Equiangular
Spiral
Fermats Spiral
Hyperbolic
Spiral
Lituus Spiral
Parabolic spiral
Square
Archimedes
Spiral
Sinusoidal
Spiral
Coth spiral
Tanh spiral
Cornu Spiral
Cayleys sextic
Cissoid of Dioches
Viviani
Epicycloid
Concoid of
Nicromedes
Cissoid of
Dioches
Viviani
Epicycloid
Table 1
Lemniscate
Deltoid
Strophoid
Nephroid
2D Bow curve
Bow curve
Klein Cycloid
Krishna Anklets
Mango Leaf
Snake Kolam
Cardioid
Parabola
Spherical
Cardioid
Astroid
Hyperbola
Hypocycloid
Agnesi curve
Bicorn curve
Glissette
Diamond curve
Kappa curve
Piriform curve
Trisectrix of
Maclaurin
Tractrix
Folium curve
Baseball seam
Eight knot
Helix
Limacon
Spherical
Nephroid
Freeths
Nephroid
Borromean rings
19
Golnaz Mohammadi
Thesis Proposal
University of Washington
February 16, 2004
Super shapes
Knots
Spherical Cardioid
Figure 25: examples of various curve families can be produced using algorithms
4.5-surfaces
Surfaces as well as curves have been constantly used in architectural design.
Greg Lynn Blobs are good examples of using geometric surfaces in architectural
design. Voluptuous undulating surfaces can define our living spaces. Figure 26
illustrates EMBRYOLOGICAL HOUSE design by Greg Lynn and use of folding
surfaces in architecture design. Mathematical algorithms may be used to
generate such surfaces which are useful for architectural design.
20
Golnaz Mohammadi
Thesis Proposal
University of Washington
February 16, 2004
Table 2
Hearts
Mobius strip
Pisod triaxial
Dini's surface
Tear drop
Verrill surface
Cassini Ova
Glob teardrop
Piriform
Gerono lemniscat
Piriform
Cassini Oval
Glob teardrop
Jet surface
Superellipse
Cymbelloid
Bezier surfaces
Spline surfaces
Triaxial teardrop
Whitney umbrella
Lemniscape
Tractrix
Pseudocatenoi
Twisted heart
Torus/Supertoroid
Triaxial Tritorus
Elliptic Torus
Gumdrop Torus
Saddle Torus Bohemian
Dome
Twisted pipe
Devil surface
Swallow
P1 atomic orbital
Ghost Plane
Folium
Bent Horns
Tubey
Catenoid minimal surface
Helicoids minimal surface
Catalan minimal surface
Henneburg minimal
surface
Scherk minimal surface
Bour minimal surface
Ennepers minimal surface
Richmond minimal surface
Handkerchief, Kidney
Monkey saddle
Pillow shape
Snail surface
Kinky torus
Kusner Schmitt
McMullen K3 mode
Weird surface Tri-Trumpet
Gerhard Miehlich
Kampyle of Eudoxus
Barth sextic
Cayley surface
Tooth
21
Golnaz Mohammadi
Thesis Proposal
University of Washington
February 16, 2004
Figure 27: examples of Blobs and super shapes surfaces that may be produced using algorithms
22
Golnaz Mohammadi
Thesis Proposal
6. Schedule
10 weeks in Spring of 2004:
University of Washington
February 16, 2004
To research related work, develop and expand
programming skills
23