23
Golnaz Mohammadi University of Washington Thesis Proposal February 16, 2004 Geometric Shape Generator (GSG) 1 Geometric Shape Generator: Abstract Geometric Shape Generator (GSG) is an end-user-programmable archiving and interface system for designers that is capable of manipulating codes to generate recursive shapes. GSG generates a wide variety of shapes and patterns. Simple or complex algorithmic formulas and/or transformation rules may be utilized to alter, modify, replicate, or transform the current geometric shapes or patterns. There are endless numbers of design styles, which are created by limited sets of rules. GSG is a design tool that allows the designer to choose and apply individual rules and algorithm to generate geometric shapes or patterns. Additionally, depending on how the formulas and order of transformation is applied, we may also alter, modify, replicate, or transform the current chaos theory based shapes or patterns. 1.1 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. Figure 1: Wall pattern of Friday Mosque at Herat in Afghanistan

Golnaz Mohammadi University of Washington Thesis Proposal

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Golnaz Mohammadi University of Washington Thesis Proposal

Golnaz Mohammadi University of Washington Thesis Proposal February 16, 2004

Geometric Shape Generator (GSG) 1

Geometric Shape Generator: Abstract Geometric Shape Generator (GSG) is an end-user-programmable archiving and interface system for designers that is capable of manipulating codes to generate recursive shapes. GSG generates a wide variety of shapes and patterns. Simple or complex algorithmic formulas and/or transformation rules may be utilized to alter, modify, replicate, or transform the current geometric shapes or patterns. There are endless numbers of design styles, which are created by limited sets of rules. GSG is a design tool that allows the designer to choose and apply individual rules and algorithm to generate geometric shapes or patterns. Additionally, depending on how the formulas and order of transformation is applied, we may also alter, modify, replicate, or transform the current chaos theory based shapes or patterns. 1.1 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.

Figure 1: Wall pattern of Friday Mosque at Herat in Afghanistan

Page 2: Golnaz Mohammadi University of Washington Thesis Proposal

Golnaz Mohammadi University of Washington Thesis Proposal February 16, 2004

Geometric Shape Generator (GSG) 2

Figure 2 is an example of classic-western design used in a Chartres Cathedral in the 13th century. The designers used the concept of fractals in the design of this Gothic style window. The basic logic used in this shape is the repetition of different scale circles. The most outer shape is a circle, this circle is reduced and repeated in the middle part and is surrounded by twelve smaller circles. In the external part of the window there are again twelve other circles; which are surrounded by another twelve circles.

Figure 2: Window rose fractal repetition at Chartres Cathedral

Even avant-garde architects such as Peter Eisenman were influenced by fractals and the use of fractal concept. Eisenman exhibited “house 11-a” in July of 1978, less than a year after the English language publication of Fractals: Form, Chance and Dimension by scientist Benoit Mandelbrot. Eventually, House (11a) became a motif in Eisenman's house design. He used the concept of fractal scaling - a process that he describes philosophically as entailing "three destabilizing concepts: discontinuity, which confronts the metaphysics of presence; recursively, which confronts origin; and self-similarity, which confronts representation and the aesthetic object."

House 11a, a composition of Eisenman’s signature “L”s is a combination of transformation rules; such as rotation scaling. The “L” is actually a square which has been divided into four quarters and then one quarter square is removed. Eisenman viewed this resulting “L” shape as symbolizing an “unstable” or “in-between” state; neither a rectangle nor a square. The three dimensional variation

Figure 3:Using fractal repetition in house 11-a and House X respectively

Page 3: Golnaz Mohammadi University of Washington Thesis Proposal

Golnaz Mohammadi University of Washington Thesis Proposal February 16, 2004

Geometric Shape Generator (GSG) 3

is a cubic octant removed from a cubic whole, rendering the “L” in three dimensions. Greg Lynn uses self intersecting curves to create volumetric pockets within continuous surfaces. According to Greg Lynn, blebs are pockets of space formed when a surface intersects itself, making a captured space. He uses a class of geometric curves beginning with the folium of Descartes and including Limacon of Pascal Maclaurin’s Trisectrix, TschirnHaus’s cubic, Cubic curves Freeth’s, Nephroid Stronoid and Plateau curves. Refer to figures 5-7.

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 GOALS OF THE THESIS 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.

Figure 5: ST. GALLEN KUNST MUSEUM. Three volumes sandwiched between outdoor ceiling and St. Gallen Kunst

Museum containing sculpture galleries

Figure 6: Tri Of Maclaurin was used to create the volumes in figure 5

Figure 7: Examples of astroid and limacon of pascal curves used by Greg Lynn for building design.

Page 4: Golnaz Mohammadi University of Washington Thesis Proposal

Golnaz Mohammadi University of Washington Thesis Proposal February 16, 2004

Geometric Shape Generator (GSG) 4

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 Gehry’s 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

Page 5: Golnaz Mohammadi University of Washington Thesis Proposal

Golnaz Mohammadi University of Washington Thesis Proposal February 16, 2004

Geometric Shape Generator (GSG) 5

Wolfgang E. Lorenz, Fractals and Fractal Architecture, from URL http://www.iemar.tuwien.ac.at/modul23/fractals/subpages/10home.html.

Fractals will make you see everything differently. ... You risk the loss of your childhood vision of clouds, forests, galaxies, leaves, flowers, rocks, mountains, torrents of water, carpets, bricks, and much more.

The word fractal was initiated by Benoit Mandelbrot in 1975. He was describing fractals as asymmetrical curves. “Mandelbrot set,” which is one of the most well-known fractal types, was defined for the first time by Mandelbrot. Wolfgang believes we should first define how fractals can help us in a specific field. Then find applications of fractal geometry in different fields: natural science, medicine, market analysis, manufacturing, ecology - and architecture? He also believes there are aspects of fractal applications in fine art, city planning and architecture; further research should be done. Until recently, scientists described nature through mathematics of smooth forms such as lines, curves and planes geometry. The “new” science does not try to replicate the rugged quality of nature through smooth forms, but it deals with the irregularity of the structure itself - this field of mathematics is expressed in the language of fractal geometry: “The whole is more than its parts”. The fractal new geometric art shows surprising similarity to Grand Master paintings or Beaux Arts architecture. An evident reason is that classical visual arts, like fractals, involve many scales of length and support self-similarity. Since we can find similarity between nature and architecture with regard to material and structure, some of the fractal attributes can be found in architecture. Fractal geometry may help us investigate the complexity of Middle Age towns, cathedrals and other man-made objects thru time. It may also help us transfer the complexity of newly planned cities and buildings - cities and buildings may then also be reduced to simpler algorithms: the “automatic architecture" 2.2-Generating Fractals Based on Spatial Organizations Magdy M. Ibrahim and Robert J. Krawczyk, Generating Fractals Based on Spatial Organizations, Illinois Institute of Technology, Chicago The authors classify fractals in two main categories depending on the technique they are generated from and the mathematical processes that are used to calculate them. From perspective of drawing, the categories are:

• Line or vector fractals, which are generated from the collection of vector substitution; like Dragon curves shown in figure 8a & 8b.

Page 6: Golnaz Mohammadi University of Washington Thesis Proposal

Golnaz Mohammadi University of Washington Thesis Proposal February 16, 2004

Geometric Shape Generator (GSG) 6

• Point fractals are groups of points in a complex plane like the Mandelbrot set and the Julia set shown in Figure 9

From the perspective of mathematics we can classify fractals into:

• IFS iterated function systems like Koch snowflake, cantor set, Barnesley’s Fern, and the Dragon Curve. Fractal generates from any set of vectors or any defined curve.

• Complex number fractals. Two-dimensional, three-dimensional or multiple-dimensional. They represent a single case of the IFS that is using the complex numbers or the hyper complex numbers in a Cartesian plane to

plot the fractals. The Mandelbrot set and Julia set are examples. • Orbit fractals. Plotting an orbit path in two or three-dimension generates

the fractal space. Examples include the Bifurcation orbit, Lorenz Attractors, Rossler Attractors, Henon Attractors, Pickover Attractors,

Figure 8a: First Four Generations of Dragon Curve

Figure 8b: Dragon Curve

Figure 9 Mandelbrot set

Page 7: Golnaz Mohammadi University of Washington Thesis Proposal

Golnaz Mohammadi University of Washington Thesis Proposal February 16, 2004

Geometric Shape Generator (GSG) 7

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 child’s 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.

Page 8: Golnaz Mohammadi University of Washington Thesis Proposal

Golnaz Mohammadi University of Washington Thesis Proposal February 16, 2004

Geometric Shape Generator (GSG) 8

2.4-Towards a generative system for intelligent design support

John Hamilton Frazer, Ming xi tang, and Sun Jian school of design, Towards a generative system for intelligent design support, The Hong Kong polytechnic university

This article approaches evolutionary design as employing different evolutionary computing techniques in the various stages of the design process. They find evolutionary design process a vigorous method since it can be formulated as a wide-ranging purposed problem solver with a gift similar to human design aptitude but with an enormity of speed and efficiency. The role of designers in creative decision-making must be supported rather than undermined. In this sense, evolutionary design techniques as general purpose that design support tools require to be incorporated with knowledge-based design techniques in order to reveal designers’ expertise and experience in any automated generative processes. 2.5-Computational design Processing Ben Fry and Casey Reas initiated processing. It is currently developed at the MIT Media Lab, UCLA, Interaction Ivrea, and by a group of distributed developers across the Net. The Processing project brings in a new audience to computer programming who is a mixture of artist/designer/programmer. It incorporates a programming language, development environment, and teaching methodology into a unified structure for learning. Its goal is to introduce programming in the context of electronic art and to open electronic art concepts to a programming audience. The Processing concept is to create a text programming language particularly for making reactive images, the language facilitates sophisticated visual and responsive composition DBN John Maeda proposed DBN “design by numbers” for teaching computation to artists and designers. DBN is both a programming environment and language. The environment provides an integrated space for writing and running programs and the DBN brings in the basic ideas of computer programming within the context of drawing. Visual elements such as dots, lines, and fields are combined with the computational ideas of variables and conditional statements to generate images. Form Writer Mark Gross, Form Writer is an easy- programming language designed especially for architects to explore generating forms using algorithms. Form Writer offers a

Page 9: Golnaz Mohammadi University of Washington Thesis Proposal

Golnaz Mohammadi University of Washington Thesis Proposal February 16, 2004

Geometric Shape Generator (GSG) 9

simple syntax, combined with development environment, and easy access to three-dimensional libraries. ArchiDNA ArchiDNA uses a simplified syntax code that can be translated into Java code to generate 2D or 3D images. ArchiDNA enables designers to use a computer to algorithmically generate shapes and forms. Doo Young Kwon’s approach in ArchiDNA enables you to define a certain design style of shape generation which looks like Peter Eisenman’s design style ArtiE-Fract ArtiE-Fract is user friendly software for generating fractal images using interactive evolutionary algorithms. ArtiE-Fract generates fractal images based on the iteration function system. These algorithms have been built up in an easy to use interface with advance interactive tools. 3-GSG System 3.1 L-Systems Lyndemayer System (l-systems) introduced in 1968 are capable of generating complex structures from small data sets. L-systems take biological knowledge of cell differentiation and growth and interpret it within a proper mathematical language. The l-system represents growth by repeated cell subdivision mechanism. The arrangement arises in l-system is a result of cell subdivision reiteration, and the product is not symbolic unless we interpret them as meaningful objects.

An L-system consists of 3 components:

• 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)

Page 10: Golnaz Mohammadi University of Washington Thesis Proposal

Golnaz Mohammadi University of Washington Thesis Proposal February 16, 2004

Geometric Shape Generator (GSG) 10

Figure 10: An example of a simple map L-system

Fig 11 shows a plant being grown using L-systems and turtle graphics. We can use L-systems principal to generate a variety of structure from Islamic patterns to plant simulations. This phenomenon is due to the mutual use of evolutionary algorithms (EA) and as a result makes l-systems a very dynamic design tool.

Figure 11-plant simulation using l-systems

Page 11: Golnaz Mohammadi University of Washington Thesis Proposal

Golnaz Mohammadi University of Washington Thesis Proposal February 16, 2004

Geometric Shape Generator (GSG) 11

3.2-Turtle graphics and L-systems Turtle graphics were invented by Seymore Papert as a computer graphic system that works based on predefined statements (position and orientation) and a small number of rules against that statement (forward, turn, pen up & down). Turtle geometry was used as a simple technique to teach geometry to kids using algorithmic computing. The statement was called the “turtle” and rules taught the turtle how to draw. Turtle graphic was used to build up l-systems by providing a geometrical interpretation to the l-systems dynamics. The following symbols can be used to develop an l-system:

• F: Draw forward one step in current direction • +: Turn right • -: Turn left

The Koch curve L-system as an example to show how such a system works:

• Alphabet = {F,+,-} • axiom= F • production rules: F F+F- - F+F

If we presume Generation 0 is just a straight horizontal line; and the rotation angle (r) is 60°, the production means replace a straight line segment F by the following arrangement of four line vectors as shown in figure-12.

Figure -12: Koch curve production (first generation) Some more generations of the Koch curve are shown in figure 13.

Figure- 13: Koch curve generations

Page 12: Golnaz Mohammadi University of Washington Thesis Proposal

Golnaz Mohammadi University of Washington Thesis Proposal February 16, 2004

Geometric Shape Generator (GSG) 12

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

Figure-14. Example of shapes generated with processing

Example of geometric shapes Using a turtle-graphics control language and start with an initial axiom string, the program carries out string substitutions to the specified number of times (the iteration), and plots the resulting shape. In order to produce the shapes in figure-15, I have used basic “turtle” l-system interpreter. My alphabets are defined as (F, f,+,-) you can see the alphabet description as :

• F : draws a line of unit in current direction • f : move forward one unit in current direction, without drawing the line • + : turns left one angle unit • - : turns right one angle unit String state = "F-F-F-F"; String [] axioms = {"F","f","-","+"}; String [] productions = {"F+F-F+F-F+F","f","-","+"}; Int iterations = 4; the number of iterations (generations) Float unit=4; the vector unite length Float delta=30; the rotation angle

Page 13: Golnaz Mohammadi University of Washington Thesis Proposal

Golnaz Mohammadi University of Washington Thesis Proposal February 16, 2004

Geometric Shape Generator (GSG) 13

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.�

Figure –15: Geometric shape generated by using the l-system.

Page 14: Golnaz Mohammadi University of Washington Thesis Proposal

Golnaz Mohammadi University of Washington Thesis Proposal February 16, 2004

Geometric Shape Generator (GSG) 14

Here is the programming code that was used to generate figure-15

String state = "F-F-F-F"; String[] axioms = {"F","f","-","+"}; String[] productions = {"F+F-F+F-F+F","f","-","+"}; int iterations = 4; float unit=15; float delta=30; int c=0; float x,y,zt; int index; color dColor; String newState; void setup(){ size(400,400); background(220,150,100); for(int i=0;i<iterations;i++) { newState=""; for(int j=0;j<state.length();j++){ String subString=state.substring(j,j+1); for(int k=0;k<axioms.length;k++) { String axiom=axioms[k]; if(subString.equals(axiom)) newState=newState+productions[k];} } state=newState; } x=width-150; y=height/4; zt=0; index=0;} void loop(){ float newX,newY; c=(c+10)%255; stroke(color(c*40+220,10,c%20+160)); if(index<state.length()) { String item=state.substring(index,index+1); if(item.equals("F")) { newX=x+unit*cos(radians(zt)); newY=y+unit*sin(radians(zt)); strokeWeight(1); line(x,y,newX,newY); x=newX; y=newY; } else if (item.equals("f")) { newX=x+unit*cos(radians(zt)); newY=y+unit*sin(radians(zt)); x=newX; y=newY; } else if (item.equals("+")) { zt=zt+delta; rotateX(zt); } else if (item.equals("-")) { zt=zt-delta; } zt=zt%360; index++; } else if(index==state.length()) { index++; }}

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. Figure-18 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 don’t see a geometric pattern any more.

Page 15: Golnaz Mohammadi University of Washington Thesis Proposal

Golnaz Mohammadi University of Washington Thesis Proposal February 16, 2004

Geometric Shape Generator (GSG) 15

Figure-16: Detla 45 Iteration 4 Figure-17: Detla 45 Iteration 4 Figure-18: Detla 30 Iteration 5 Here is another set of applets that have been developed using the ”turtle” l-system 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)

Figure 19-Example of a L-System tree

Page 16: Golnaz Mohammadi University of Washington Thesis Proposal

Golnaz Mohammadi University of Washington Thesis Proposal February 16, 2004

Geometric Shape Generator (GSG) 16

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 l-systems 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 user–programmable 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 Julia’s, 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.

Page 17: Golnaz Mohammadi University of Washington Thesis Proposal

Golnaz Mohammadi University of Washington Thesis Proposal February 16, 2004

Geometric Shape Generator (GSG) 17

Ant type Barnsleyj2 type Basic bifurcation fractal

Cellular Automata Martin Type Circle type

Pickover Popcorn Complex Newton type cmplxmarsjul type

Figure 21: Shapes produced with various fractal types

Diffusion type Dynamic type Frothy basin type

Manzpowr type Icon type Henon type

Page 18: Golnaz Mohammadi University of Washington Thesis Proposal

Golnaz Mohammadi University of Washington Thesis Proposal February 16, 2004

Geometric Shape Generator (GSG) 18

Halley type Julia type l-system type

Kamtorus type Inverse Julia type Gingerbread type

Figure 22: Shapes produced with various fractal types 4.3-3d Fractals Manipulating fractals in a 3d environment will provide the designer a large variety of volume and space, which is useful for architectural design. 3d L-systems is a good example of such a 3d environment that I will further explore in this thesis to set a series of parameters in my programming code that enables the designer to easily manipulate and generate shapes in 3d environment or apply rules to the single or complex 3d axiom to generate architectural spaces. Figure 23 exemplifies a 3 dimensional structure of the 2D carpet. The unit cube is divided to slice the width of the cube by 1/3. The central pieces of the resulting cubes located at the center of the faces are removed from original cube. This process is repeated perpetually with the resulting cubes. Such a process could be useful to generate Eisenman’s like designs.

Result Figure 23: Example of cube generated using 3d l-systems

Another area to explore in regard to 3d fractals is to transform or extrude existing 2d fractals like Mandelbrot or Julia sets along z axis to generate more organic type of volumes

Page 19: Golnaz Mohammadi University of Washington Thesis Proposal

Golnaz Mohammadi University of Washington Thesis Proposal February 16, 2004

Geometric Shape Generator (GSG) 19

Figure 24: 3d Julia set generated by Pov-Ray

4.4-curves Mathematic algorithms can be used to generate a variety of curves useful for generating architectural floor plans, architectural ornamentation as well as generating geometric spaces for building domes or Greg Lynn and Frank Gehry’s organic forms and spaces. For another section of this thesis I would like to explore the use of algorithms that generate curves and also transforming the resulting curve to produce 3d shapes. Table 1 are samples of the curve types that I will explore and manipulate their evolutionary algorithm and possibilities of generating forms from architectural spaces to geometric patterns using these curves in my future work.

Table 1 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

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

Page 20: Golnaz Mohammadi University of Washington Thesis Proposal

Golnaz Mohammadi University of Washington Thesis Proposal February 16, 2004

Geometric Shape Generator (GSG) 20

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.

Page 21: Golnaz Mohammadi University of Washington Thesis Proposal

Golnaz Mohammadi University of Washington Thesis Proposal February 16, 2004

Geometric Shape Generator (GSG) 21

Figure 26: Voluptuous undulating surfaces in Embryological House

Table 2 illustrates some of the surface categories that would be used to generate forms. Surface manipulation of the evolutionary algorithm will be explored for possible form generation.

Table 2Spherical Harmonics 3D Super Shape Pseudo sphere Steinmetz solid Bifolia surface Twisted plan Kuen's surface Cross Hole Twisted Fano Fano planes Slipper surface Tranguloid Trefoi Chladni plates Nose, Witch hat Tangle, Strophoid surface Chair surface Fish, Cresent Sea Shells Steiner look-a-like Cross Cap Steiner surface Maeder's Owl Twisted Triaxia Hunt surface Stiletto surface Mitre surface Blob, Nodal cubic Boy surface Apple shape Klein Cycloid

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

Page 22: Golnaz Mohammadi University of Washington Thesis Proposal

Golnaz Mohammadi University of Washington Thesis Proposal February 16, 2004

Geometric Shape Generator (GSG) 22

Figure 27: examples of Blobs and super shapes surfaces that may be produced using algorithms 4.6-GSG end user programmable library system GSG will be organized in a library system. Based on the wide variety of shapes produced, the designer can effortlessly access the categories of his desired interest 5.1 Conclusions Geometry as part of mathematics has always been used in architectural design process. We can see the use of geometry in western and eastern classical architecture to modern and avant-gardes architecture. Higher end architects have been trying to imitate from nature to create more organic forms that we refuse to see any geometric relation in their form. Exploring evolutionary algorithm will enlighten the geometric structure of organic forms. The only reason human being refuses to see geometric relationship of nature is due to their complex structure. Further and more in-depth attention and exploration is needed to visualize the complex structures. Computer may be used as a tool to study and achieve such structures. Since computers can process huge amounts of information in a very short time frame, computing is not, and will not block human creative abilities. GSG is simply a tool that allows the designer to explore more design possibilities. Human creativity and abilities are beyond our imagination, providing the right tools to the designer may indeed further human creativity and abilities. 5.2 Future Works Evolutionary structure of fractals is capable of creating music as well as shape for further exploration and expansion of this thesis. I hypothesis, that the possibility of generating music using the same algorithm has been used to generate the form to explore the harmony between shapes and music. Currently GSG system is capable of generating shapes which are useful for early stage of design. I would like to offer a knowledgebase design critique to evaluate the resulting shape to support the designer for the entire design process.

Page 23: Golnaz Mohammadi University of Washington Thesis Proposal

Golnaz Mohammadi University of Washington Thesis Proposal February 16, 2004

Geometric Shape Generator (GSG) 23

6. Schedule 10 weeks in Spring of 2004: To research related work, develop and expand

programming skills Week 1-3 of Spring of 2004: Completion of implementation project as well

as enhancements Week 3-7 of Spring of 2004: Writing documents Week 7-10 of Spring of 2004: Modifying the interface and writing documents

7. Available Resources: Faculty Support: Ellen Yi-Luen Do and Mark D Gross

8. Space Support MS program in the dept of architecture (Design Machine Group) will provide the thesis space during Spring quarter.