Page 1

NATURAL SYSTEM STUDIO Name : Yap Haw Ping Student ID : 575513

Table of content 1. Introduction 1.1. Intellectual context

3. Research and Development

2. Studio objectives

4. Conclusion

3.1Probability 3.2 Forces 3.3 Oscillations 3.4 Particle systems 3.5 Autonomous Agents 1.2. Design context 3.6 Cellular Automata 1.2.1 Architecture as a field of ideas 3.7 Fractals 1.2.2 Scripting cultures 3.8 Genetic Algorithms 1.2.3 Bioinspiration 3.9 Neural Networks

1.1.1. Programming and scripting 1.1.2 Complexity and emergence 1.1.3 Natural systems















Studio Objectives 1. To develop an understanding of the key principles of digital computation and core practical programming skills. 2. To develop an understanding of the influence programming has or can have in design. 3. To develop a deeper understanding of natural systems and their computational representations. 4. To develop a practical ability to implement computational representations of natural systems. 5. To develop an initial understanding of how computational representations of natural systems can be used in design. 6. To further develop core skills in argument construction, research and development, writing, visual presentation, etc.

Preface The rapid changes in new technology, the relation between the technology and design has become complex. This poses new challenges for the all the processing educators in this field. The main challenge is defining the role of programming in the curriculum and the relationship between ‘coding’ skills and ‘design’ skills. The article examines different conceptual models of programming and suggests that the concept of programming as artistic and creative practice and ‘programming as design’ would be more suitable for the art and design curriculum.1 1. Amiri,Faramarz. International Journal of Art & Design Education. Programming as Design: The Role of Programming in Interactive Media Curriculum in Art and Design.

1.1.1. Programming and Scripting Based on this topic, they identify three broad views: those that focus on problem solving, those that focus on the programming language and its syntax and finally those that focus on full cycle of system production, i.e., identifying a problem, analysing the requirements and solving the problem. 2 ‘In general, programming could either be seen as the whole process of ‘understanding the problem, design, coding and maintenance’’ 3 or the act of writing a set of coded instructions to be processed by computer, i.e., coding. In fact this is how most dictionaries define programming. So for Blackwell what is important in defining programming is the experience of the user and the cognitive effort that the user devotes to solving the problem. “The intrinsic difficulty and complexity of the problem is not the main focus since ‘suitable software can 4 make even complex problems seem simple’’. The fluidity of the concept of programming is particularly beneficial because it allows different disciplines to choose the definition that suits them best. In art and design, for instance, the concept of ‘idea generation’, ‘design specification’ and ‘design’ are already well established. So, perhaps the view of programming as writing the actual code is more suitable. In fact this is what many in art and design, and other disciplines, consider programming to be. On the other hand, following Blackwell’s criteria, we can confidently talk about programming regardless of whether the computer language we use to create our interactive artefacts is labelled as a markup language (HTML), design language (CSS), scripting language (Lingo, PHP), database language (MySQL) or programming language (ActionScript, JavaScript). In a sense this helps, in my view, to ‘democratise’ the programming field by removing the monopoly of one discipline. 2. Pears, A. et al. (2007) A survey of literature on the teaching of introductory programming. ACM SIGCSE Bulletin, Vol. 39, No. 4 (online). 3. Blackwell, A. (2002) What is Programming?, in J. Kuljis, L. Baldwin and R. Scoble [Eds]Proceedings of 14th Workshop of the Psychology of Programming Interest Group, Brunel University (online). Available at: http:// p205 4. Blackwell (2002), p201.

1.1.2.Complexity and emergence Complexity can be seen as the amount of information required to describe a phenomenon at a particular scale. If more information is required, then the complexity can be said to be higher.In a sense this helps, in my view, to ‘democratise’ the programming field by removing the monopoly of one discipline. 5 Emergence refers to properties of a higher scale that are not present at the lower scale. For example, the color, conductivity, malleability of gold is not present in the properties of gold atoms 6. Emergence can be also seen as a change of description or as a metamodel 7. There have been several types of emergence proposed 8,9, and there are problems that depend more on a philosophical perspective than on mathematics.

5. Bar-Yam, Y. Multiscale variety in complex systems. Complexity 2004, 9, 37–45. 6. Anderson, P.W. More is different. Science 1972, 177, 393–396. 7. Heylighen, F. Modelling emergence.World Futures J Gen Evol 1991, 31, 89–104. 8. Bedau, M.A. Weak emergence. In: Philosophical Perspectives: Mind, Causation, and World, Vol. 11; Tomberlin, J., Ed.; Blackwell: Malden, MA, USA, 1997; pp. 375–399. 9. Bar-Yam, Y. A mathematical theory of strong emergence using multiscale variety. Complexity 2004, 9, 15–24.

1.1.1. Natural Systems Natural systems display higher-level integration and functionality evolving from a dynamic feedback relation with a specific host environment. Biologists, biomimetic engineers and computer scientists have begun to tackle research in this field and there is much to learn from their work. 10 Pattern formations are apparent in natural systems ranging from clouds to animal markings, and from sand dunes to shells of microscopic marine organism. Despite the astonishing range and variety of such structures, many have comparable features.11 In natural systems patterns arise from self-organisation;that is, irreversible processes that lead to the emergence,development and differentiation of complexity in non-linear dynamic systems, based on interaction and feedback between the system elements, and when open systems exchange energy, matter and information with the environment in a farfrom-equilibrium state.3 The science of ‘pattern formation’ examines the outcomes of the process of self-organisation and the common characteristics and principles that underlie similar patterns. The detection of underlying patterns is called ‘pattern recognition’. 12

Coloured scanning electron micrograph of the underside of a leaf of the herb lemon balm (Melissa officinalis). Numerous hairs, so-called trichomes, cover the undersurface of the leaf. These hairs may have both a protective function against predators and serve to reduce evaporation from the leaf. Stomata, or pores, appear as small, green rounded structures and exchange gases and water from the leaf surface. Magnification: x 900 at 6 x 7 centimetres.

The Giant’s Causeway in County Antrim, Ireland.

10. 11. Ball, Philip. Architectural Design Journal. Pattern Formation In Nature: Physical Constraints And Self-Organising Characteristics. p22. (accessed 12. Hensel, Michael. Architectural Design Journal. Patterns in Performance- Oriented Design. pg89.

1.2 Design Contex 1.2.1. Architecture as a field of Ideas Patterns occur in nature, as well as in man-made designs and artefacts, and are commonly described as specific recurring events and repetitive material formations. This broad description is interesting in that it implies that patterns can range from energy to matter – a realisation of key importance to the argument pursued below, and even more so if one considers that in natural systems most patterns are generated by the interaction and mutual modulation of both energy and matter. Simple manmade patterns may be based on repetition and periodicity; however, this is not the case with all patterns and certainly not with most natural ones. 13 Yet, the question may remain of what relevance this understanding can be for architectural design. If pattern generating, self-organisational processes are the locus of interest, one may question how, and in response to which conditions, patterns arise and what their related behavioural capacities and performative potentials are; or in other words, why and how such processes and their outcomes might be instrumentalised. It is the developing differentiated and performative material systems that are based on and derived through the relationship between material characteristics and behaviour, and related self-organisational processes, manufacturing constraints and assembly logics, as well as performative potential.14 In so doing, it aims at establishing an alternative design approach, one in which material formations arise from the feedback between internal constraints and capacities of a material system and a specific environment. Material elements and components are evolved into varied arrays of parametrically defined and interrelated units and systems. Differentiation and variation is driven by processes of selforganisation within the limits of manufacturing and assembly, behavioural capacities in exchange with environmental influences, and, in due course, by performative capacities.

The project explores the computational process of stress-driven growth for fibrecomposite structures. The overall shape is derived through an iterative generation and tessellation process (Figure 1) in which surface nodes work as receptors for detecting local stress peaks triggering a homeostatic growth process based on the recurring structural analysis of displacement, stress intensity and principal force flow (Figure 2). 13. Hensel, Michael. Architectural Design Journal. Patterns in Performance- Oriented Design. pg89. 14. See Michael Hensel and Achim Menges (eds), AD Versatility and Vicissitude, 2008, and Michael Hensel and Achim Menges (eds), Mo pho- Ecologies, AA Publications (London), 2006.

1.2.2. Scritping Culture Scripting culture explores the intention of using script. The intentions of scripting: control and productivity. The users need to give extensive precise instructions to the computer in order to allow programs to interact. It pluralizes the culture by the approach of computational design which offers varieties of ways to explore designs.15 The digital design speculation should be done through active engagement rather than by being merely tolerated. Design freedom apparently compromised by the inflexibility of almost all scripting language. There is always a sense of ‘this could well be too difficult and beyond me, and how would I use it anyway?’ It seems that people are over exaggerating the practice of scripting as there is considerable evidence of an emerging scripting generation with a mass of committed pioneers who have stands out before them. The conclusion of the journey in scripting can be divided into 5 parts. The first is the prevalence of scripting is still absent from architectural education programmes for the past 10 years. The second is that the innovation of the output is hard to keep up because of more powerful scripting tools launch to the market. Thirdly, the powerful new media advance pluralising the creative community by using genetic algorithm or some other ‘system’. Fourthly, the senior designer is more secretive and opposite of the scripting generation. Scripting generation is more willing to share their information on the internet. The final paradox is that using script code is still a foreground rather than preempts the results that should focus on its use.16


Burry, Mark, Scripting cultures: Architectural design and Programming, Chichester, U.K : Wiley, 2011, p .9


Burry,Mark (2011), p.31 Scripting is essential for diagramming Computational advanced design techniques like scripting and parametric modeling are becoming a pervasive reality. Today it is impossible to compete within the contemporary avant-garde scene without mastering these techniques. But new techniques are not enough to engender a whole new style. Styles are research programmes that redefine form and function as well as the relationship between form and function in response to societal challenges. 17

Patrick Schumacher, 1995. Deleuzian diagrammatic processes: emergence domain interpretation.

Patrick Schumacher, 1995. Deleuzian diagrammatic processes: emergence via pixel-clustering.

Zaha Hadid and Patrick Schumacher, Venice Biennale 2008. Kinetic transformation, Lotus.

As programming and scripting are overtaken by the visual programming revolution, diagram will become even more central to computing and artificial intelligence (AI) revolutions. As our knowledge and the recording and storage of data increases exponentially of more interactive , intelligent, digital-content management, 3D and 4D mnemonic, and other memory –based spatial interface-driven system will be required to dynamically manage the new types of databank. 18 Asymptote, Virtual Guggenheim Musuem, 2001.

17. 18.

Garcia, Mark. The Diagram of Architecture. Chichester, West Sussex: Wiley, c2010.p.267 Garcia, Mark. The Diagram of Architecture. Chichester, West Sussex: Wiley, c2010.p.311 Scripting can create interactive design environment. Interactive design environment are, by comparison with postwar utopian projects that could tackle large-scale urbanism such as new towns, and swathes of residential tower blocks, smallscale interventions. This is not to undermine their potency, their power to transform people’s experiences and perceptions. Interactive design environment like Dune 4.0 promote the personalization and customization of not just architecture, but also of their wider physical public contexts. They assert an architecture of social relations that invites the visitor to spontaneously perform and thereby construct alternative physical, architectural, urban and social meanings. 19 Scripting can explore emergent form The use of scripting to explore emergent form has one advantage in that, in order to build the morphological system, you have to define it in a formal language (define an algorithm) which brings the structure and meaning of the model proposed into the realms of expression and debate. This use of formal languages in modeling should provide a basis for the development of a theory of form and shape, which has more chance of being adopted and discussed than the conventional discursive art historical method because all the underlying assumptions are clearly laid out, not hidden by conventional approaches and the nineteenth-century of creativity. 20

John Conway, Game of Life, 1970 The image shows Kevin Lindsey’s implementation of Conway’s Game of Life using JavaScript and SVG. The rules (algorithms) of the game are very simple: if a black cell has two or three black neighbours, it stays black; if a white cell has three black neighbours, it becomes black. In all other cases, the cell stays or becomes white. 21

Studio Roosegaarde, Dune 4.0, Netherland Media Art Institute, 2006-07.

19. Bullivant, Lucy. 4dsocial: interactive design environments. London: Wiley, 2007.p.7 20. Coates, Paul. Programming. Architecture. London; New York: Routledge, 2010.p.164 21. Ingeborg M Rocker. Architectural Design Journal. When Code Matters (accessed doi/10.1002/ad.289/pdf) Scripting creates natural computing Natural computing was essential in the past as it allowed designers to experiment with the use of massively parallel computations going on in sand piles, soap bubbles, interconnected systems of weighs and tensile supports, and so on. It is a consequence of the new computational models, such as cellular automata, that the natural world is seen as an emergent outcome of parallel computation. This is an example of choosing to observe the world in new light, based on a new epistemology. The upside down catenary models of Gaudi, which he used to calculate the angles and vaults for the sloping columns of the Sagrada Familia, are also good examples of ‘natural computing’. The Sagrada Familia church shows a distinctive illustration of how we should appreciate the design role of the variables in scripting architecture. Gaudi uses only 3 types of surface to create such a richness of surface, solid and void. The power of the design is actually lies with the nine variables that individually control each surface and the connections between neighbouring connecting surfaces. The use of computers has allowed an attempt to take on board the criticism of the inductive method, using the computer as a way of ‘discovering structure through an interesting situation of multiple conjectures and criticism’, a quote Stanford takes from William Bartley’s work. Thus the anti-inductivist model leads directly to the pursuit of evolutionary algorithms and the mimicking of natural process by the computer to explore problem spaces on a trial and error basis. 22

Sagrada Familia, Antonia Gaudi


Coates, Paul. Programming. Architecture. London; New York: Routledge, 2010.p.164

1.2.3. Bioinspiration The natural systems can be explored throughout a variety of bioinspirations examples. The transfer of idea from the nature to architecture is fairly important as to learn the process of how nature works.

Brandon Williams/Studio Rocker, Expression of code, 2004 Quite different to the Turing Machine, which only uses a one-dimensional tape, Brandon Williams’s design is a two-dimensional surface. Modes of transposition determine how the abstract code, consisting of As and Bs, realises and thus becomes realisable as surface and structure. Obviously, the chosen mode of transposing code into its expression is just one of many possibles. Any code’s expression is thus always just one of an infinite set of possible realisations. We just have realised the incompleteness of realisation.

Stephen Wolfram, Cellular automata, 2002 Here, simple rules generate complexity. Images from Stephen Wolfram, A New Kind of Science, Wolfram Media (Champaign, IL), 2002.

23. Ingeborg M Rocker. Architectural Design Journal. When Code Matters .p25 (accessed doi/10.1002/ad.289/pdf)

Branching network of pulmonary arteries and bronchi. Resin cast of the system supplying blood and air to the lung, viewed from the front. Clear resin was used to fill the airways, red in the case of the pulmonary arteries. The trachea branches into the left and right principal bronchi: the large pulmonary trunk divides into the right and left pulmonary arteries in front of the left principal bronchus. On the left of the image, the branch of the right pulmonary artery to the upper lobe of the lung is evident.

The emerging architecture that relates pattern and process, form and behaviour, with spatial and cultural parameters, has a symbiotic relationship with the natural world. The study of metabolisms suggests the means of developing an architecture that is strongly correlated to the organisations and systems of the natural world. The logic of photosynthetic and ectothermic metabolisms can be extended to develop metabolic morphologies and material systems for buildings and cities.

24. Weinstock , Michael. Architectural Design Journal. Metabolism and Morphology. p33. (accessed

Right: Elevation of the Flora_flex modular system providing clear evidence of the computational options available within a field comprising an interchangeable puzzle of biologically conceived building components. Above: Detail of Flora_flex surface highlighting: the overall packing logic regulating the modular field, the range of surface expression offered within the kit of parts, and the array of topological nesting formations that emerge unexpectedly.

Flowering plant Morphology was targeted as an ideal example of surface variation and retinal effects, and this early precedent model offered essential insight into the complex and mysterious world of a natural time-based system undergoing continuous change. Posited as a complex assembly of delicate radial flange work collectively dilating in relation to a perpetually changing cycle of photosynthesis, transpiration and pollination, the organisational logic of a simple flower is an impressive example of an evolved ecology of interests. As a relational organism that is symbiotically dependent on its environmental context and surrounding species for its survival, it personifies the larger promise of an emergent system as a blend of recurring patterns favouring difference and similarity.

25. Douglis Evan. Architectural Design Journal. Flora_Flex In Search of Synthetic Immortality.p66 (accessed

A series of morphologies captured from the Invisibles animation. Alisa Andrasek/biothing, The Invisibles interactive installation, Prague Biennale, 2003 Sample morphological stance from the Invisibles animation. The skin inflection emerges through the active relationship of a digital skin and a correspondent field of skeletal ‘cells’.

bifid v1.5. Alisa Andrasek and her algorithmic fabric ‘creature’ during installation at the KSA Gallery, Austion E Knowlton School of Architecture, Ohio State University. In often referring to her systems as ‘creatures’, Andrasek evokes their inherent dynamically behavioural coherence. This becomes powerfully manifest in her material computation techniques that intrinsically involve ‘playing’ with physical models, as can be seen in the bifid project.

The intersection and fabrication pattern was generated algorithmically. The algorithm was based on wave interference logic. Parametric differentiation imbedded into the script derived multiple offspring conditions.

26. Pia Ednie-Brown. Architectural Design Journal. All Over, Over-All : biothing and emergent composition (accessed http://onlinelibrary.wiley.







A mathematical branch to study the quantitative laws of random phenomena”. -

“The probability theory : “



P.S.Laplace at the year 1814 gave firstly out a definition of probability explic-

the proportion of the number of “the favourite outcomes” to the total number of “all possible outcomes”. Exitly. The probability is defined by him as

ample of the experiment of tossing a coin. Introduction to random variables. 27.

Xiong, Daguo. The natural axiom system of probability theory : Mathematical Model of the Random Universe.p9

Figure 1. Inspiration from the nature of Raindrops.




ture - ways -












nascience. the

The sun, moon and star always are circulating. The atmosphere are alvarying, it is raining, snowing, cloudy or clear and always are alternating. In






Figure 1.






Figure 2. Illustration of the raindrop nature.

Bioinspiration : The importance of Probability ? The nature are always varying. The marks reflecting those variations and developments are appearance of the various phenomena, in another words, the occurrence in various events. For example: raindrop sizeA (event 1) raindrop sizeB (event 2) raindrop size C (event 3) - Whether a phenomena, an accident or an event to occur is controlled by various conditions (including many different random unforeseen elements). They are called random phenomena, or random event because it is emphasized that their occurrences depends on -

“the chance”.

“A random event can be recognized only by the relations among it and the other events.”


- The coexistence of many illustrations not only enables us to understand “what is probability” correctly and comprehensively but also produces many applications and even obtains some discoveries which is surprised and is not anticipated.

Figure 2. 28. Xiong, Daguo. The natural axiom system of probability theory : Mathematical Model of the Random Universe.p6,7

How can it contribute to art,design and architecure?


To understand what is probability correctly and comprehensively and also

tain some discoveries

Figure 3. Quantum The exploration of quantum probability.

Figure 3. Figure 4.


which is surprised and extraordinary.

Figure 4. Artwork Exploring the idea of probability by Marty.

Figure. 5.The Art of the Probable This image examines literary texts and films in relation to the history of the idea of probability. Traces the growing importance of probability both as a measure of the reliability of ideas or beliefs and also as a basic property of things and the world. Connects the development and use of probabilistic reasoning.










er the useful and veritable practical methods to









recognize the





Technical explorations and implementations of Raindrops Original Code credit to June-Hao Hou. Accessible Code via online Http://

Raw Code ArrayList ripples; // List of ripples. int maxDrops = 1000; // Max number of rain drops. void setup() { size(1200, 800); background(0); smooth(); ripples = new ArrayList(); }

The drawn ripples are saved in the ArrayList ripples because new values can be added to it more quickly than to an array.

void draw() { fill(0, 10); rect(600, 0, width, height);

Filled rectable instead of background()

if (mousePressed == true) { ripples.add(new Ripple(mouseX, mouseY, random(50, 100))); } else if (ripples.size() < maxDrops && random(100) > 80) { ripples.add(new Ripple(random(0, width), random(0, height), random(50, 1000))); }

Control the radius of the random ripple.

* Update object state void update() { if (r <= max_r) { r = r + step; } else { FINISHED = true;

If r is smaller than max radius then keep expanding or otherwise put the object into dead state.

Experiment 1 Explore the random probability of raindrops.

Technical explorations Random(100) > 80 if (mousePressed == true) { ripples.add(new Ripple(mouseX, mouseY, random(50, 100))); } else if (ripples.size() < maxDrops && random(100) > 80) { void update() { if (r <= max_r) { r = r + step; } else { FINISHED = true; } }

- The main feature of experiment is to add random ripples into the canvas and take probability into account. The x- and y-coordinates of drops are â&#x20AC;&#x153;independentâ&#x20AC;? - knowing the x-coordinate of a raindrop does not enhance the ability to predict the y-coordinate.

Technical explorations - Experimenting two types of raining dropping. Raindrops on mirror and fade away raindrops. The main feature of this experiment is to discover the distribution of drops which is â&#x20AC;&#x153;uniformâ&#x20AC;?, any two disjoint regions of equal area within the square are equally likely to contain any chosen number of drops.

Experiment 2 rect(600, 0, width, height);




Technical explorations

Experiment 3 ripples.add(new Ripple(random(0, width), random(0, height), random(50, 1000)));

random(50, 1000)

random(500, 1000)

- The location of each random drop is “independent” of the location of the others. This explains why the pattern of drops is “clumpy” or “blotchy.” Indeed, the only way for the pattern to be more even would be for successive drops to “know” where the previous drops had landed so they could avoid landing nearby. The independence property assures us that our estimates of the number of drops in a patch of canvas based on its area will not be confounded by any structure or pattern in the distribution of the drops.

random(100, 1000)

random(1000, 1000)

Explore the swarm intelligence with Attraction and repulsion forces : Flocking behaviour



Force ject

is a with

What is Force ?

vector that causes an obmass to accelerate.30


Figure 1. Natural flocks of birds

Complex systems can self-organize and globally coherent patterns can emerge in them out of local interactions. Flocking behaviour of birds is an example of this. Simple local rules like ‘separation’ (avoidance of crowding, or short-range repulsion), ‘alignment’ (steering towards the average heading of neighbours), and ‘cohesion’ (steering towards the average position of neighbours, or longrange attraction), result in well-organized flock patterns, even when nobody is in command. 31

Figure 1. Http:// 31. Coates, Paul. Programming Architecture. London ; New York : Routledge, 2010. p88-89

Forces in art,design and architecture ?

Figure 2. Agent trails diagram of flocking behaviour (Miranda, Swarm Intelligence,2000)


“The swarm consists of a number of individuals who are normally in a

flexive relation

one to another- and will show emergent structure as groups of

boids flock together into aggregates then -










, etc.”






which is not directly programmed into the bearises by the simultaneous actions of the boids.

This emergent behaviour will occur anyway, with the boid’s environment consisting of all

the other boids, and those will, in turn,


break up and reform controlled


meta behaviour haviour


perturb other boids

Thus the site geometry perturbs the flock, resulting in a

servable structure

and so on.

globally ob-

which is different from the unperturbed example.

Figure 2. Http:// 32 . Coates, Paul. Programming Architecture. London ; New York : Routledge, 2010. p88-89

Technical explorations of Flocking behaviour - I am tryng to explore the cohesion of the swarming agents by giving the agent the ability to cohere (approach and form a group) with other nearby agents. Steering for cohesion is computed by finding all agents in the local neighbourhood and computing the ‘average position’ of the nearby agents. The steering force is then applied in the direction of that ‘average position’.

Technical explorations and implementation of Flocking behaviour Original Code credit to Henderson . Accessible Code via online Http://

int num = 2000; Particle[ ] particle = new Particle[num];

create the particle array

void setup(){ size(1200, 800); smooth(); noStroke(); background(255);

for(int i=0; i<particle.length; i++){ particle[i] = new Particle(new PVector(random(0, width), random(0, height)), 2, 10, 10); } }

class Particle{ PVector loc; PVector vel; PVector acc; int sz; float gravity; float mass; int velocityLimit = 5; float d;

Generate the instances with random position values and a random velocity vector.

location vector velocity vector acceleration vector size of particle gravity variable mass variable the maximum velocity a particle can travel at. distance variable between particle and the target co-ordinates.

//CONSTRUCTOR Particle(PVector _loc, int _sz, float _gravity, float _mass){ loc = _loc.get(); //when calling loc, return current location of the selected particle vel = new PVector(0, 0); acc = new PVector(0, 0); sz = _sz; gravity = _gravity; mass = _mass; }

void update(){ vel.add(acc); vel.limit(velocityLimit); loc.add(vel); acc.mult(0); }

set vel and acc vectors to 0 as default. explore the acceleration by adding values until 10.

explore the acceleration by multiplying from 0-10. update the location of the particle.

creating new vector for attractive/repulsive x and y values void forces(float tx, float ty){ PVector targetLoc = new PVector(tx, ty); PVector dir = PVector.sub(loc, targetLoc);

calculate the direction between a particle and targetLoc calculate how far away the particle is from targetLoc

d = dir.mag(); dir.normalize(); //convert the measurement to a unit vector float force = (gravity*mass) / (d*d); if(mousePressed){ dir.mult(1); } else{ dir.mult(-1); }

calculate the strength of the force by factoring in a gravitational constant and the mass of a particle multiply by distance^2 if the mouse is pressed, turn on repulsion by multiplying direction by 1 else multiply the direction by -1 to switch the direction the particle travels in (attraction)

Reflection on the chapter (Forces) I find the idea of a digital flock is truly fascinating. Swarming algorithm can model nature which applied to the behaviour of flights of birds. The theory is deceptively simple and the results surprising and often informative. I have learnt the algorithm responds to three guiding principles. The first is separation : maintaining a suitable distance from immediate neighbours. The second is cohesion : not losing contact with neighbours also working within defined limits. Thirdly, alignment: this is the driver. It might be a terrain for mutual (potentially chaotic) response, or it might be leadership.-defined or emerging, or it might be the tension that arises from competing leadership. Once a flocking algorithm is specifically tuned to a context and a narrative overlay, the results can only be extraordinary, unlikely to be contrived by human imagination without the assistance of a digital agency. The scripter has an ocean of choice here, limited only by their imagination i would suppose.




What is Oscillation ?





Learning Processing:A Beginnerâ&#x20AC;&#x2122;s Guide to Programming Images, Animation, and Interaction Daniel Shiffman p214


Research and Theory: Oscillation

Figure 2 Figure 1

Figure 3

Chemical Patterns An explanation for the patterning apparent in animal markings – noted, but barely explored, by D’Arcy Thompson – has emerged from the study of so-called oscillating chemical reactions, in which a mixture of chemical reagents seems first to react in one direction and then to reverse and reform the original mixture. So the patterns here come from a balance between reaction, which destroys the ingredients, and diffusion, which replenishes them. This kind of process is known as a reaction-diffusion system. Notice that the pattern comes about through a competition between these two opposing processes. This is one of the universal principles of pattern formation: it requires a balance of opposite tendencies.

Figure 1: Snapshot of chemical-wave patterns in the oscillating Belousov-Zhabotinsky reaction. Figure 2: A hexagonal mesh in the shells of microscopic sea creatures (radiolarians). Figure 3: A quasi-hexagonal pattern is evident in the markings on a giraffe. 33. Ball, Philip. Architecture Design Journal. Pattern Formation in Nature: Physical Constraints and Self-Organising Characteristics. p24

Research and Theory: Oscillation Data from a sound wave.

To show how the complex oscillation patterns evolve in time, the data obtained by numerical simulation, for coupled impact oscillators, using space-amplitude-time plots. Time evolution is displayed by displacing each successive space-amplitude plot (recorded when the phase of the drive passes through zero) along a time axis plotted in the third dimension. The positions of the oscillators at zero phase are plotted along Z-axis, the equilibrium sites of each oscillator are plotted along the X-axis and the time is along Y-axis.


In order to investigate the dynamical response of linear chain of oscillators coupled through collisions between nearest neighbors, It graphically represent one of the phase variables, say, the deviation of the position of each oscillator from its equilibrium point observed at some fixed drive phase plotted versus the equilibrium position of the oscillators. This is repeated for several drive cycles and the points are overlayed on top of each other. This is like taking the snapshot of the system once every drive cycle and overlaying these snapshots for many successive drive cycles.

- The particles quency data set,

void oscillate(){ theta += theta/100000; float x = theta;

speed and

of their

Technical explorations

oscillation respond to sizes to amplitude

Original Code credit to anita_zk . Accessible Code via online

Increment theta (angular velocity)

theta += theta/1000;

theta += theta/100000;

theta += theta/10000;

theta += theta/1000000; A for loop is used to draw all the points along a sine wave (scaled to the pixel dimension of the window).

for (int i = 0; i <= 100; i++) {

int i = 18

int i = 15

int i = 10

int i = 3


A for loop is used to draw all the points along a sine wave (scaled to the pixel dimension of the window). Calculate y value based off of sine function

for (int i = 0; i <= 100; i++) { float y = sin(x)*height/4;

float y = sin(x)*height/8;

float y = sin(x)*height/6;

float y = sin(x)*height/4;

float y = sin(x)*height/2;

x += 0.1; }

Move along x-axis

x += 0.1;

x += 0.2;

x += 0.3;

x += 0.5;





What is Particle System? collection

“A particle system is a of many minute particles that together represent a fuzzy object. Over a period of time, particles are gener-

move and change from within the system ated into a system,


and die

from the system.”

35. William Reeves, Particle Systems—a Technique for Modeling a Class of Fuzzy Objects, ACM Transactions on Graphics 2:2 (April 1983), p92.

Research and Theory: Particle System

The drawing illustrates a network of relationship developed over nineteen years of “black” banking practices that took place behind the stable and profitable facade of the Bank of Credit and Commerce International (BCCI) and the International Credit and Investment Corporation between 1972 and 2991.

Narrative Structure of Particle System.The drawings provokes the tension between an encompassing objectivity of the content and the visceral and formal subjectivity of their presentation and composition. Rendering of organizations balance between the authority of flawlessly researched facts and a clarity of overall assembly but with a complicating consciousness “of the need to make these webs cohere into greater constellations that would give each drawing an overall compositional unity. Lambard’s narrative strcuture manufacture their own space of existence and resistance within the fluctuation and tensions between states-objectives facts and subjective composition,open and closed,form and field,truth and fiction- and reveal thge inherently unstabl;e dynamic of contemporary networks constructed between two incompatible diagrams of control; centralization and distribution.

35. Burke, Anthony and Tierney, Therese. Network Practices: New strategies in architecture and design, New York : Princeton architectural press , c2007. p66

What is the importance of Particle Systems?

deal with flexible quantities of elements -

One of the importance of particle system is to allow us to

. Sometimes weâ&#x20AC;&#x2122;ll have zero things, sometimes one thing, sometimes ten things, and sometimes ten thousand things.


Second, it can allow us to take a more

oriented approach

sophisticated object-

. Instead of simply writing a class to describe a single particle, i also going to write a class that describes the collection of particlesâ&#x20AC;&#x201D;the particle system itself. - le

Finally, working with particle systems is also a good excuse for us to tacktwo










The focus here is really just how to keep track of a system of many elements. What those elements do and how those elements look is up to everything.


Contribution of Particle System to art, architecture and design.

This basic particle system is created by making multiple copies of a simple particle. Each particle stores some information about itself: its position in space, velocity, and acceleration. At each step in the simulation, every particle calculates its next location using its current position, velocity, and acceleration. Finally, each particle is drawn to the screen and the process repeats.

Testing of a particle system written with Python; the particles are reacting to attractors, velocity, cohesion, and gravity within a field aggregating with minimum and maximum ‘strut’ lengths.

“ Network environments are inherently unstable and its temporality is key, much like events. Network are dense social structures on the brink of collapse and it is questionable if there are sustainable models that can ‘freeze’ them.” 39

37. 38. 39 Lovink and Schneider, “Notes on the state of Networking.” p68

Inspiration : Particle system on network paradigm

technical and social imaginery

Network provided the that powered a critical dialogue on the environment and society.

I think the architectureâ&#x20AC;&#x2122;s role was to translate the technical promise of networks into social/spatial terms through exhibition,drawings,models, and collages. Original Code credit to Jacky Boen . Accessible Code via online

class Particle{ PVector loc; PVector vel; PVector acc; int sz; float gravity; float mass; int velocityLimit = 5; float d; for(int i=0; i<particle.length; i++){ particle[i] = new Particle(new PVector(random(0, width), random(0, height)), 2, 10, 10); } }

Create the particle class with few variables - location vector - velocity vector - acceleration vector - size of particle - gravity variable - mass variable - the maximum velocity a particle can travel at. - distance variable between particle and the target co-ordinates.

The Idea Concept of the sketch A growing network of pathways created by agents negotiating their positions according to simple rules within the existing map of circulation.

int CheckpointNumber = 50; // Number of checkpoints int PersonNumber = 200; // Number of person(s) float CheckpointX; // Distance among checkpoints (in X-axis) ArrayList Checkpoint; ArrayList Person;

int CheckpointNumber = 50

int CheckpointNumber = 200

Technical explorations - I dentify three kinds of networks that are linked but distinct- network as symbol,network as infrastructure,and network as organizatinal diagram or geometry- each of which participate in and are motivated in one way or another.

int CheckpointNumber = 100

int CheckpointNumber = 300

The Idea Concept of the sketch - - - - -

Global movement through rules,negotiation of obstacles, different Speed of agents Pathfinding Agents/boids Neighborhood Emergence of centres, communication between nodes

Technical explorations - This project build visualizatios of networks through interaction, flowing between agency of the individual and the intelligence of the collective. Generate the instances with random position values and a random velocity vector.

Raw Code void BuildPath() Create paths between the checkpoints { boolean bIsInRange; for(int i = 0; i < CheckpointNumber; i++) { Checkpoint CP = (Checkpoint) Checkpoint.get(i); for(int j = 0; j < CheckpointNumber; j++) { Checkpoint OCP = (Checkpoint) Checkpoint.get(j); bIsInRange = dist(CP.X, CP.Y, OCP.X, OCP.Y) > 0 && dist(CP.X, CP.Y, OCP.X, OCP.Y) < 150; if(bIsInRange == true) // Make paths with checkpoints within range { CP.OpenCP[CP.OpenCPNumber] = j; CP.OpenCPNumber += 1;

Reflection on the chapter (Particle System) Another simple enough sketch I have been working on while trying to learn more about vectors and simulating forces in processing. It consists of a particle system in which all the particles that come into close contact become magnetised to each other. This results in some interesting emergent patterns, such as spirals, circular shapes that travel one-dimensionally, and explosions as the particles begin to die out. Network constitute the new social morphology of our societies, and the diffusion of networking logic substantially modifies the operation and outcomes in processes of production, experience and culture.





What are autonomous agents ?

Autonomous agents refer to an agent which is an autonomous unit of code with inbuilt behaviours. The agents can be sent out to look for data with precise instruction about what to do with the data once accessed. 40.

Burry, Mark, Scripting cultures: Architectural design and Programming, Chichester, U.K : Wiley, 2011, p 86

Research and Inspiration

By Kayleigh Dickson November 15, 2011

Natureâ&#x20AC;&#x2122;s Survival This image is from the flooding in Pakistan where millions of spiders climbed in to the trees to escape the flood waters. Because of the scale of the flooding and the fact that the water has taken so long to recede, many trees have become cocooned in spiders webs. People in this part of Sindh are reporting that there are now far fewer mosquitoes than they would have expected, given the amount of stagnant, standing water that is around. It is thought that the mosquitos are getting caught in the spiders webs and therefore reducing the risk of malaria.








- From the scripting point of view, this is obviously very rich territory; if a design is set up as a defined desirable outcome, and a set of variables established as possibilities and initiators, appropri-

deployed to look for information synthesise and sponsor a suitable response ate agents can be


respond to it,


urban morphology

- An example would be : â&#x20AC;&#x2DC;given what we know about, say, cityX, should such and such occur, what would be a viable architectural response?â&#x20AC;&#x2122; With an eye to a future in which sensors become more numerous and actuators cheaper and more effective at the same time, buildings might be encoded with agents sufficiently sophisticated to allow continuous active response to circumstances as they change. 42 - There is no better way to illustrate how complexity can erupt from many local interacting decisions than flocking. The individual elements might be plants and animals in an ecosystem, vehicles in traffic, or people in crowds. If one considers the city a dynamic in which systems of flows - such as traffic, circulation of goods, or crowd behaviour- can be applied to any urban transformation, then flocking provides a vital model of complex coordination that describes these material shifts. 43

42. 43.

Burry, Mark, Scripting cultures: Architectural design and Programming, Chichester, U.K : Wiley, 2011, p85,86 Benjamin Aranda, Tooling, Princeton Architectural Press Pamphlet Architecture,2006,p65.

Research and Inspiration

Robo Bees By Alex Kushleyev, Daniel Mellinger, Vijay Kumar, University of Pennsylvania and KMel Robotics

Last but certainly least, what about synthesizing complex biological behaviors? One of the most often engineered behaviors is the cooperative flight of bees and insects, known as “swarming.” Recently, Vijay Kumar and his team made impressive strides to replicating “swarming” in flying drones. Known as “quadrocopters,” these robots are fully autonomous (i.e., there’s no remote control!) and work together to maneuver around obstacles, fly in formation, and assemble small structures.


Research and Inspiration

In the age of interactive architecture (and the associated sciences of robotics and artificial life), this project explores the particular consequences of an architecture composed of autonomous components, each acting and reacting independently, but collectively exhibiting complex and unpredictable behaviour. Using an analysis of the rules that lie behind the movements of flocking birds or shoals of fish, the project looks at reproducing such effects in a digital environment. The result is an explicitly artificial and mechanical set of objects, set against which is the subtlety and complexity of movements derived from nature.

Scientists from the UK Universities of Sheffield and Sussex have been collaborating on an ambitious project to produce the first accurate computer models of a honey bee brain. The project is designed to help us advance our understanding of Artificial Intelligence, and how animals think. The UK team will build models of the systems in the brain that govern a honey beeâ&#x20AC;&#x2122;s vision and sense of smell â&#x20AC;&#x201C; and then they will use the information to create the first flying robot able to sense and act as autonomously as a bee.

45. 46.

Ideas of the sketch - - - - -

Agents of similar movement behaviour group-groups are under constant movement. Flocking Prediction and stability Agents/boids Neighborhood

private static final int ms_nParticlesCount = 2000; private static final int ms_nParticlesHistorySize = 50; private static final float ms_fGravitationConstant = 8000.0f; private static final float ms_fFrictionFactor = 0.98f; private static final float ms_fMaximumParticleAcceleration = 15.0f;

experimenting implementing

the particle systems by 2000 particles count.

Original Code credit to Quadroctet . Accessible Code via online

private static final int ms_nEnvWidth = 100;



private static final int ms_nEnvWidth = 100; private static final int ms_nEnvHeight = 100; private static final int ms_nEnvDepth = 100;




Ideas of the sketch - - - - -

Agents of similar movement behaviour group-groups are under constant movement. Fuzziness Prediction and stability Agents/boids Neighborhood

private static final float ms_fFrictionFactor = 1.0f;






private static final float ms_fFrictionFactor = 1.5f;


Reflection on the chapter (Autonomous Agent) I have learnt the algorithm responds to three guiding principles. The first is separation : maintaining a suitable distance from immediate neighbours. The second is cohesion : not losing contact with neighbours also working within defined limits. Thirdly, alignment: this is the driver. It might be a terrain for mutual (potentially chaotic) response, or it might be leadership.defined or emerging, or it might be the tension that arises from competing leadership. Once a flocking algorithm is specifically tuned to a context and a narrative overlay, the results can only be extraordinary, unlikely to be contrived by human imagination without the assistance of a digital agency.

// Properties that can be modified private static final int ms_nWorldWidth = 100; private static final int ms_nWorldHeight = 20; private static final int ms_nWorldDepth = 20;

Technical explorations a

private static final int ms_nEnvWidth = 800; private static final int ms_nEnvHeight = 800; private static final int ms_nEnvDepth = 800; private static final int ms_nParticlesCount = 400; private static final int ms_nParticlesHistorySize = 50; private static final float ms_fGravitationConstant = 8000.0f; private static final float ms_fFrictionFactor = 0.98f; private static final float ms_fMaximumParticleAcceleration = 15.0f; Draws the particle current location strokeWeight(4); stroke(0); point(m_vLoc[m_nCurrentIndex].y, m_vLoc[m_nCurrentIndex].y, m_ vLoc[m_nCurrentIndex].z); b }


- The first is separation : maintaining a suitable distance from immediate neighbours. The second is cohesion : not losing contact with neighbours also working within defined limits. Thirdly, alignment: this is the driver. It might be a terrain for mutual (potentially chaotic) response, or it might be leadership.-defined or emerging, or it might be the tension that arises from competing leadership. I find the idea of a digital flock is truly fascinating. Swarming algorithm can model nature which applied to the behaviour of flights of birds. The theory is deceptively simple and the results surprising and often informative.


What is Cellular Automata?

â&#x20AC;&#x2DC;A cellular automaton is a discrete model studied in computability theory, mathematics, and theoretical biology. It consists of an


regular grid of cells finite number of dimensions , each in one of a finite

number of states. The grid can be in any â&#x20AC;&#x2122;.




Research and Theory of CA

Every cell exhibits a local behavior based on a rule(s) applied which in turn is based on values in its neighborhood. Each time the rules are applied to the whole grid a new generation is produced.

The initial set of experiment by Aranda / Lasch employs a cellular program to produce a weave across a shape that is defined by a distribution of points or nodes. This results in complex weaves because the algorithm is automatically feeding information back into itself to make the next decision. The relational weave adjusts and adapts as it travels over a surface.

In collaboration with Native American basket-weaver Terroll Dew Johnson, they have extended the possibilities of cellular automata algorithms into three dimensional spatial configurations. Theoritically the behaviour of each type of cell is influenced by its simulated environment, so that when applied to material expression, this is amplified because the formal logics must interact and respond to tectonic limitations. While computationally derived, the pragmatic pressures represented by the structural potential of bark,grass, and feather produce experimental constructions of unexpected and unparalleled aesthetics.

48. Benjamin Aranda and Chris Lasch,Pamphlet Architecture 27:Tooling (New York: Princeton Architectural Press,2006). 49. Aranda /Lasch and Johnsonâ&#x20AC;&#x2122;s collaboration was exhibited at Artists Space: Architecture and Design in New York (2006) 50. Burke, Anthony and Tierney, Therese. Network Practices: New strategies in architecture and design, New York : Princeton architectural press , c2007. p95

What is the importance of cellular automata ? -

“Cellular Automata are

highly productive generative tool

as models be-

cause they visually describe how an algorithm can be a -













ful models for studying natorics or components in linear




. Unlike simple combiautomata engage in unpredict-




The underlying rules in cellular automata can be conceptualized as






, while the initial conditions can be thought of as rough analogues of the program. The rules are simple, the initial conditions are simple, and yet they result in complex behaviour. The formal description merely requires a bottom-up structural logic and then

simple rules recursively


. With this method of organization, a nonperiodic structure could exhibit unpredictability,despite the relative simplicity of its recursive relations. Therefore, it would be possible to extrapolate that if simple abstract rules are applied mechanistically, they could reproduce the behaviour of natural systems. 53

51. John Holland, “Outline for a Logical Theory of Adaptive Systems,” in Arthur W. Burks, ed., Essays on Cellular Automata (Urbana: University of Illinois Press,1970),287,350-51. 52. Stephen Wolfram, A New Kind of Science (Champaign, IL: Wolfram Media,2002). 53. Stanislaw Ulam, “ Random Processes and Transformation,” in Stanislaw Ulam : Sets, Numbers and Universe (Cambridge ,MA:MIT Press,1966),326-37




Automata outlined the general mechanisms at work. A good example of this new way looking is the patterns on the shell. The organisation of the pattern into repeated different sized triangular regions is more or less the same as certain outcomes of running a one-dimensional Cellular Automaton (Wolfram,2002). The Cellular Automaton consists of a single line of cells (black or white) which can be imagined as streching across the top of a piece of paper. The rules for the Cellular Automaton are of the type where each cell in this line checks the ones either side of it to determine what colour it should change to. The next generation is drawn below the current run so the lines of black and white cells are drawn successively down the page. With many of the possible 256 rules, the shell pattern emerges. This would indicate that the shell is growing a new line of cells on its growing edge, using some type of diffusion process which is mimicked by the one-dimensional Cellular Automaton.


Paul Coates, Programming Architecture, p164




What contribution of cellular automata in art,design and architecture?


- Cellular automata model could be used as a discrete space for the of varying flexible processes: excitable media, biological and chemical morphogenesis,turbulence,

biological networks tectonic processes , and


. 55

Holland called cellular automata â&#x20AC;&#x153;iterative circuit computersâ&#x20AC;? and proposed that they could be

useful in the development of a


theory of complex adaptive

. Though unknown at the time, the principles of a cellular automata model were harbinger of what subsequently developed into network theory. 56 -

They do not require advanced mathematics, only the logic of computation.


Cellular also relate to observable nature because they can model complex systems and can assist

in understanding the

patterned activity

in neuronal system. 57

55. John Holland, Hidden Order. p15. 56. Burke, Anthony and Tierney, Therese. Network Practices: New strategies in architecture and design, New York : Princeton architectural press , c2007. p86 57. Stephen Wolfram, A New Kind of Science (Champaign, IL: Wolfram Media,2002).

Research : Digital Architecture

Counter to the prevailing belief that complexity is either the product of complex processes or complex formal arrangements, Wolfram suggested that simple rules can produce great complexities. In computation â&#x20AC;&#x201C; rather than traditional mathematics â&#x20AC;&#x201C; simple rules were sufficient to generate, approximate and explain complex phenomena. Katharine Ives/Studio Rocker, Cellular automata, 2004 Simple rules generate two- and three-dimensional complexity.

Brandon Williams/Studio Rocker, Recursions, 2004 Recursive procedures that repeat indefinitely are reading and writing code according to preset rules: line by line, generation by generation. Hereby, each generation impacts the next generation and consequently all following ones. Patterns of code appear and disappear.

Brandon Williams/Studio Rocker, 3-D Game of Life, 2004 Cellular automata and the Game of Life became the architectâ&#x20AC;&#x2122;s basis for experimentation. The moment a cell turns active, the project code is realised, and thus becomes realisable.

58. Ingeborg M Rocker. Architectural Design Journal. When Code Matters (accessed doi/10.1002/ad.289/pdf)

Technical explorations and implementations I tried to make a program of 3D CA. We can see the basic idea diagram and interesting results about the CA. Original Code credit to Patchwork . Accessible Code via online

Raw Code ArrayList generations; int worldsize; int maxage;

t= 2s

t= 5s

t= 30s

t= 40s

Reflection of the chapter In this chapter, i am trying to explore the consecutive iteration on the growing process of cellular automata in relation to time count.I found that the Cellular Automata model a system that is autonomously works out an algorithm and set of rules with resultant unpredictable diversity. The notion that very simple rules could govern complex behaviour that able to explain form-generation, as well as suggest that every process might not need it own explicit rules, but could self-organize.

t= 10s

t= 20s

t= 50s

t= 60s

Reflection of the chapter This is an exploration of the maximum age the automata can generate. I experiment it with the number 0 and 30. i realize that cellular automata with neighbour independent substitution systems will only generate patterns that are either repetitive or nested, but only sequential relational substitution systems will produce varied complex patterns.

Raw Code worldsize = 100; maxage = 0;

t= 5s

t= 10s

t= 15s

t= 25s

maxage = 30

t= 2s

t= 5s

t= 10s

t= 15s

t= 20s

t= 25s

Reflection of the chapter

Raw Code int countNeighbours(P_GenerationV2 parent, int atx, int aty){ int checkx, checky; int count; count = 1;

t= 3s

t= 5s

This is an experimentation on tweaking the number of count in the PGeneration class. The count is tested within 1 and 2. The rules are quite simple, over time the cells can change from state to state. When the times comes for the cells to change state, each cell looks around and gathers information on its neighboursâ&#x20AC;&#x2122; states. Eventually it forms a whole bunch of cells which like the diagram shown.

t= 10s

mousepressed (key1)

maxage = 30;

t= 5s PGeneration 2 int count; count = 2;

t= 10s



What is fractal ? repeating pattern recursive or iterative process A fractal is s geometric object generated by a

, in a typically

. Usually, the outcome shape can be divided into parts, each of which is similar structure that occurs at different levels of magnification. The term fractal was coined in 1975 by Benoit Mandelbrot , from the Latin word fractus or broken. 59

In a fractal process, there are at least two shapes:


a base and a gen-

. In each iteration, the generator replaces each segment of the base shape. Theoretically this process cotinuous infinitely. The algorithm to create fractals consists of a basic procedure that fits a shape between two points. The process of fittings involves scaling, rotation, and translation of the generator to fit between two point of a segment of the base.

59. Terzidis. , Kostas . Algorithmic Architecture : Oxford , Architectural, 2006. p93

A series of fractal-based daedaloid trails is shown in figure. The algorithm logic that produces the complex pattern is quite simple: a process that creates a curve is recursively called so that the curve does not intersect itself and re-tracks itself when the intersections are so many that the system runs out of space.2

Fuller repeatedly positioned himself within his geodesic space frames, as in a Life magazine postcard showing him suspended in the 1958 MoMaframe. These images say even the most boring person can live within this new kind of frame.

60. Burke, Anthony and Tierney, Therese. Network Practices: New strategies in architecture and design, New York : Princeton architectural press , c2007. p91 61. Terzidis. , Kostas . Algorithmic Architecture : Oxford , Architectural, 2006. p120

McLuhan offers an image of webbed stockings to illustrate the body become the network and the network become a sensuous body. When nerwork rub together, when information is brushed against information, you get something of the pleasure normally associated with bodies. The body is literally the massage.

62. Marshall axy (Toronto:

McLuhan, University


The Gutenberg GalToronto Press,1962)p32.

“What happens when information rubs against information...,” Marshall McLuhan, The Medium is the massage,1967.

Konrad Wachsmann presents vast space frame hangars in which the space inside the frame itself was bigger, and more influential in the discipline, than the massive space it covered. Buckminster Fuller’s 1958 space frame exhibited at the Museum of Modern Art in New York tried to go even further by removing by the floor along with any simple opposition between horizontal and vertical. Fuller devoted his career to modelling such three-dimensional networks and testing new ways of occupying them. Konrad Wachsmann, Airline Hangar project,1953.


Burke, Anthony and Tierney, Therese. Network Practices: New strategies in architecture and design, New York : Princeton architectural press , c2007. p34

What -







A fractal process consists of an initial shape (the base) and one more generators.

- From a practical point of view, the generator is a production rule : each and every line segment of the base is replaced by the shape of the generator. The implementation of an interactive computer program has been reported by Yessios which allows the fractal to be generated one at a time or at multiple increments, backwards or forwards. - As described by Yessio, “ a building typically has to respond to a multiplicity of processes, superimposed or interwoven. Therefore, the fractal process has to be guided, to be constrained and to be filtered. The fractal process has to be ‘mutated’ by the utilitarian requirements of the functionality of a building.”

Studies on fractal processes for the Frankfurt Biocentrum by C. Yessios and P.Eisenman













Research and Inspiration

A cube is taken over by various types of parasitical formations.

Lattice inscribing the void, subtraction from a stack of cubes and final form.

How can fractal contribute to art,design and architecture? (Syn) biosis A fractal-based solid form is subtracted from a stack of cubes creating a void space. The boundary surface is used to extract the construction curves which then become visible as mullions. The void space become the atrium of a high-rise building hosting IRS services.














Research and Inspiration

Konrad Wachsmann, Building Research Division organization, 1965. A drawing of what Wachsmann calls the “unlimited expansion of any given problem or task simultaneously reaching in all directions,” entitled “spatial expansion of categories facts, subject matters and relations” shows how such a system is designed to explode outward, without limit.


Burke, Anthony and Tierney, Therese. Network Practices: New strategies in architecture and design, New York : Princeton architectural press , c2007. p46

“In North-East India, the giant cliffs, lead up to a hidden word: Meghalayas. Nearly 2km high and buffeted by mansoon clouds this is possibly the wettest place on earth. Once 25 meters of rain fell here in a year, the world record. Living here poses an unusual problem and it is not just keeping dry. Nearly all the rain falls during the summer mansoon. River flows from gentle stream to raging torrent. They become wild and unpredictable and almost impossible to cross. Harli and his niece Giuliana are busy cultivating a cunning solution: 30 years ago, Harli planted this strangler fig on the river’s edge and today he is teaching Giuliana how to care for it…”

By Arthur Mamou-Mani November 2, 2011 Arthur Mamou-Mani, David Attenborough, Inspiration, Natural Systems, Self-Reliance, Tutors, Uncategorized 1 Comment The Bridges of Meghalayas 67.

Fractals are a very interesting connection between mathematics and nature. They show us that mathematics has always been embedded in nature, and that mathematics can be used to model many natural phenomena. For example the roots of the trees.

Research and Inspiration

Luminous Windscape Pavilion

Arthur ration,

By Arthur Mamou-Mani March 15, 2012 Mamou-Mani, collaborative, Ideas, InspiInteractive Structures, Material Behaviour.


“The Windshape pavilion by nARCHITECTS stretched across the limestone walls of Lacoste, France like a luminous billowing spider’s web. The temporary pavilion was commissioned by the Savannah College of Art and Design for their Provence Campus. The net-like structures were used by students and townspeople alike as a cultural center and meeting space. Perched at the top of Lacoste on the castle of the Marquis de Sade, the Windshape pavilion was composed of thread-like walls made from a simple assortment of materials – including white plastic pipes, aluminum braces, and threaded string. Woven from gauzy nets, the pavilion was designed to move and morph in the local wind, creating a spectacular art installation for the locals to enjoy. The surfaces of the pavilion would ripple, move, and even make noise, depending on the speed of the winds that blew through it. Over the course of five weeks, SCAD students worked closely with nARCHITECTS to install Windshape. The netted arcs took shape through bending and tension, and they were held in place by steel structural collars that ensured the structure’s sturdiness. The strings were woven to provide enclosed spaces as well as more open areas to vary the usage of the different parts of the temporary pavilion. The resulting pavilion was a translucent web embellishing the Medieval architecture of the historic town. Taking advantage of these new meeting points, the town used the space was used to host concerts, exhibitions and ceremonies. At night, Windshape was illuminated and visible to neighboring towns miles away.”

Research and Inspiration

Morphogenetic growth process. Top to bottom: Distribution of seed and definition points for the struts of the primary lattice system; first growth step of the primary lattice system; growth step defining the secondary lattice system in accordance with the primary system; model view of the same location.

69. Hensel Michael, Menges Archim. Architecture Design Journal. Differentiation and Performance : Multi-Performance Architectures and Modulated Environments. (accessed http://onlinelibrar )

Research and Inspiration

View of model scale 1:75 showing the primary, secondary and tertiary lattice systems without the building envelope (top), and plan view of the centre showing the primary, secondary and tertiary lattice systems and the volumes of the music hall and the rehearsal rooms (bottom).

The iterative growth process is informed by performance requirements, the synergetic impact of the various systems working together needs nevertheless to be analysed in stages. Digital structural and luminous performance analysis was conducted repeatedly in order to evaluate the emerging conditions and synergies between the various systems that make up the project. From the differential density and angular variation of the lattice systems, and the varied distribution of sound-active elements, evolves a spatial and ambient differentiation of the scheme: a heterogeneous space in which augmented spatial and ambient differentiation provide for choices between microenvironmental conditions that can provide for the timespecific individual requirements of inhabitants.

Technical explorations and random implementations Original Code credit to echoechonoisenoise . Accessible Code via online

Exploration of recursion by using particle systems Reflection on the experiment

In this chapter, i am interested in experimenting the growth of fractal. First experiment was to experiment the iterations of target y. The form of the fractal tree tend to become slimer as the value goes higher. I find out that the fractal has a property of keeping the same shape with reducing size and it is known as â&#x20AC;&#x153;self-similarityâ&#x20AC;?. All fractals show self similarity at various levels.

void moveTarget() { target.x=random(-200, 200); target.z=random(-200, 200); target.y-=20;//move the target 20 up (coordinates are inverted in processing) }







- All

Inspiration fractals













els, and can be classified as one of the following : Exactly self-similar (Identically shaped, but at reducing sizes), Quasi self-similar (Not identical, but approximately same shape at reducing sizes) and Statistically self-similar (maintains similarity with the original shape, but very weakly, and in reducing sizes). -



am (Not

interested identical,


explore but






Quasi shape




Exploration of Quasi self-similar Pseudo Code 1 Import toxiclibs and create ArrayList function. ArrayList particles, connections; PVector target; int globalTime;

3. Construct Particle class class Particle { //simple particle defined by PVector pos;//position vector PVector vel;//velocity vector PVector acc;//acceleration vector ArrayList path;//list of vectors recording particle position color c; int t;//local time or "age"


Create Function void initialize() {//reset everything

Reflection on the chapter acc= PVector.sub(target, pos); acc.normalize(); acc.mult(0.2); vel.add(acc); vel.mult(a); pos.add(vel); path.add(new PVector(pos.x, pos.y, pos.z));//store current position in "path" list t++;//particle is getting "older"

I am trying to experiment the multiplication of velocity by altering the value by 0.5, 0.99,1.0,2.0. The simulation gives a very confusing outcomes but it express a various kind of possibilities which have the potential for form-making.

vel.mult(1.0); vel.mult(0.5);



void initialize() { globalTime=0; particles=new ArrayList(); connections=new ArrayList(); target=new PVector(random(-800,Y), 200, random(-800, Y)); }



Experimentation I am trying to experiment different types of recursion. The experimentation mainly explore the Y value and try to engage with different kind of possibilities.




Genetic Algorithms

窶連 genetic algorithm (or GA) is a search technique used in computing to find true or

proximate solutions Genetic algorithms are categorized as


to optimization and search problems.

global search heuristics


Genetic algorithms are a particular class of evolutionary algorithms that use techniques inspired

inheritance, mutation, selection, and crossover by evolutionary biology such as

(also called recombination).








Evolutionary design thinking

- is naturally tied to the importance of the algorithm, a piece of code which takes instructions as an input providing answers that satisfy stated conditions. This become very interesting if the algorithm is set to determine the best possible result against given criteria, such as evolutionary algorithms and their highly popular optimising subclass, genetic algorithms. 71

population of abstract representations -

Genetic algorithms are implemented as a computer simulation in which a

(called chromosomes or the genotype or the genome) of candidate solutions (called individuals, creatures, or phenotypes) to an optimization problem evolves toward better solutions. 72

Two-dimensional reaction chemicals, modeled


diffusion cellular


two automata.

71. Burry, Mark, Scripting cultures: Architectural design and Programming, Chichester, U.K : Wiley, 2011, p 79 72. 73. Burke, Anthony and Tierney, Therese. Network Practices: New strategies in architecture and design, New York : Princeton architectural press , c2007. p191

Research and Inspiration As contemporary architectural discourse moves from object thinking to system thinking, the genetic algorithm offers the generative designer a powerful amanuensis attuned to lessons gained from the natural world.

Three-dimensional reaction diffusion modeled by 30 cellular automata and visualized using a ray-marching algorithm.

A developing computational embryo, with evolved genes expressing proteins that diffuse between cells, controlling the growth.

mirroring a natural evolutionary process â&#x20AC;&#x153;The closer the genetic algorithm is to

,the more likely a design resulting from the algorithmâ&#x20AC;&#x2122;s application will tend towards being entirely satisfactory.â&#x20AC;? 74 I realize that the designers attribute a richness and complexity to genetic algorithms as

sign-oriented solution seekers. 74. 75.



Burry, Mark, Scripting cultures: Architectural design and Programming, Chichester, U.K : Wiley, 2011, p 80 Burke, Anthony and Tierney, Therese. Network Practices: New strategies in architecture and design, New York : Princeton architectural press , c2007. p191

Genetic Algorithm in art, design and architecture

John Frazer, plotted output of a structure entirely generated from just a seed,1971.

John Frazer, circular cathode ray tube at Cambridge ,1970. The first generative project is shown developing on the screen.

There is a perceptible convergence between natural systems and alternative ways to think about architectural design. The algorithms speed up design discovery, but always tuned to the logical processes enshrined within, and are often modelled on nature. Genetic algorithms have been an essential route to a particular type of problem solving (but hardly as a design agent). At the lowest level possible, i have applied the algorithm in a genetic sense to the project â&#x20AC;&#x153;Our Worldâ&#x20AC;?. 76

















Xhyper, once the algorithm had run, whatever value had come up could then be constrained via the dialogue box and the process re-run. Xhyper has two best fit algorithms to choose from : Simplex and Hillclimbing ;the user selected either and went forward on the basis of the results.

â&#x20AC;&#x153;Just as we have used evolution for centuries so we can use development.We are creating a new field of computer science, known as computational development. In it, we evolve genetic instructions that emit signals. The signals control cells, telling them to grow, divide into two, move, alter their function, or die. As they develop, the cells interact with each other, helping to push each other into the right positions or pass messages to their companions.â&#x20AC;? 77 Mark Burry

















Research and Inspiration

This model uses the process I have previously explored, of minimal path systems by Frei Otto, but attempts to take the concept a stage further to create a minimal structural system. The thread lengths are given approximately a 12.5% over-length leaving them quite loose and messy when dry. The model is then dipped in a water and soap solution and hung upside down. The wet threads bunch together, as seen in previous experiments, but due to the increased over length they also dip downwards creating a domed form. When dry, the model can be coated with resin in order to cast the form. The model can then be turned over maintaining the rigid minimal structural system. This process generates a strangely appealing aesthetic.


â&#x20AC;&#x2DC;Material Potencyâ&#x20AC;&#x2122; class students (Titusz Tarnai, Marlin Nowbakt, Paola Morales, Mark Bearak and Boro Ignatov), MinMax, GSAPP, Columbia University, 2006 Left mal


Investigation of surface with

configuration mathematical

of minidefinition.

Centre : Process derives from a series of nested features applied to the parametric component. Right : lar Law

MinMax genealogies. Creating a moduSurface animated by an algebraic function.

79. Andrasak, Alisa . Architectural Design Journal. Continuum: A self -Engineering Creature -Culture. (accessed

Project : Fabricating Materiality, Voxel Simulation


speed up design discovery, but always tuned the logical processes enshrined within, and are often modelled on nature.


Natural system are a million , million times more complex than our technology. Life is de-


The algorithms

signed at a molecular scales. They instruct microbots known as cells

what to do and

what to be. Cells are tiny machines that make copies of themselves, transform chemicals into energy, extrude substances , and make copies of themselves, extrude substances, and perform extraordinaryly diverse functions, from neuronal computer processing to building cathedral architectures inside bones.









Natural systems are also a million, million times more than our technology. And yet nature has harmony and balance.Nature works. Its works because there are no designers and no factories. Nature works because life designs itself, builds itself, and does everything it can to stay alive and make more copies of itself. Nature uses

Pseudo Code

1 Import create


evolution to achieve this. 4.

import toxi.geom.*; import toxi.geom.mesh.*; import toxi.volume.*; import toxi.color.*; import toxi.processing.*;

toxiclibs ArrayList

and function.

PeasyCam cam; boolean voxelallow=false; ArrayList Punkt=new ArrayList(); ArrayList Linie=new ArrayList(); ArrayList Flaeche=new ArrayList(); boolean reception,Lauf=false; float Nord=1; void setup()




import controlP5.*; // GUI ControlP5 controlP5; PMatrix3D currCameraMatrix; PGraphics3D g3; float s4=2,s5=0.03,s6=0.5,s13=150,gro=10,Npa=0; boolean wireallow=false,hide=false; float Listchoose=0;//<30 for Attractor, >30 false for Earthpoint ListBox l; ListBox m; int lcounter=3,mcounter=1;



Create sliders to the attractor.

setPerpetiveView() ; topView();

ArrayList Dog=new ArrayList(); ArrayList Cat=new ArrayList();

float h; PVector Craft; class attractor extends Vec2D{ float A, B; boolean C=true,run=true; int counterChilds; attractor(float tempA, float tempB) { controlP5.addSlider(Elementsize, 5, 20, 10, 10, 10, 200, 15); controlP5.addSlider(Grenze, 100, 1000,150, 10, 40, 200, 15); controlP5.addSlider(Hoch, 0, 10, 2, 10, 70, 200, 15); controlP5.addSlider(Kwert, 0.005, 0.1, 0.03, 10, 100, 200,15); controlP5.addSlider(Translationswert, 0, 2, 0.5, 10, 130, 200, 15); controlP5.addKnob(Nordpunkt,0,2,0.5,10,550,100); controlP5.addToggle(RUN or Stop,false,300,10,20,20); controlP5.addToggle(Voxelize,false,width-150,10,20,20); controlP5.addToggle(Wireform,false,width-50,10,20,20);


void setupCamera () { //PeasyCam Variablen cam = new PeasyCam(this, 150); cam.setMinimumDistance(10); cam.setMaximumDistance(1000); cam.setRightDragHandler(null);






class threepoint { float h1,h2,h3,h4,h5,h6,h7; Vec3D A, B, C,D,E,F,G,CD,AD,BD,Np,Apos,Bpos,Cpos,Dpos,Epos ,Fpos,Gpos; Vec2D A2d,B2d,C2d; boolean Que; //draw voxel if (voxelallow){ if (wireallow){ noFill(); strokeWeight(1); stroke(255); gfx.mesh(mesh); } else { fill(0); noStroke(); lights(); gfx.mesh(mesh); noLights(); } }

Technical explorations and random implementations Original Code credit to Zhili Li . Accessible Code via online

5 parameters which are area control, population control, infinite coordinates in voxel, knot vectors and running button. -

My genetic algorithm experiment consist of

- The


- Subdivision





surface more

is suitable

determined for







Create voxel and attractors. Adjust the control points and form the control polygon.

Multiplying a series of control polygon and observe the outcome.

ArrayList Dog=new ArrayList(); ArrayList Cat=new ArrayList(); float h; PVector Craft; class attractor extends Vec2D{ class earthpoint extends Vec2D{ a

if (voxelallow){ if (wireallow){ noFill(); strokeWeight(1); stroke(255); gfx.mesh(mesh); }


b a

evolution and development

The combination of is a very different form of design, which we can learn from. Evolution is not simply about function driving form. Evolution does not create forms directly- it creates

developmental “building instructions”fortheform. Add more attractors to the plane to simulate more interesting outcomes.

3D view of the voxels. if (voxelallow){ if (wireallow){ noFill(); strokeWeight(1); stroke(255); gfx.mesh(mesh); }

controlP5.addButton(“Add Reactor”,1,700,10,63,20); d c

d c

Increase the number of attractors and explore the hanging system by adding forces. - Add knot vector to explore the conrol points. - Sequences which show the different number of attractors trying to explore some of the possibilities can be made. - The lower the knot vector tends to allow more sophisticated of form making outcome.

Raw Code

void setupGUI () { g3 = (PGraphics3D)g; controlP5 = new ControlP5(this); controlP5. addKnob(“Nordpunkt”,100); void Nordpunkt (float h) { Npa = PI*(h-0.5); }

controlP5. addKnob(“Nordpunkt”,10);

controlP5. addKnob(“Nordpunkt”,0,2);

Explore the knot vector. - Attractors pull the area around which higher. - Observe the running of voxelprocess - The greater the radius causing the agent to take longer time to reach to the nodes.

Raw Code

controlP5. controlP5. addSlider(“Translationswert”, 2); addSlider(“Translationswert”, void Translationswert (float h) { 10); s6 = h; }

controlP5. addSlider(“Translationswert”, 200);

Explore ing effect

the that - knot

Each time span, a

maximum can be the new

parameter value enters a new control point becomes active.

Raw Code controlP5.addSlider(â&#x20AC;&#x153;Kwertâ&#x20AC;?, 0.005, 0.1, 0.03, 10, 100, 200,15);





In nature, evolution and development arenâ&#x20AC;&#x2122;t abstract computational concepts, they are embodied, physical, chemical processes that rely on and use actual substances.

Complexity and Evolution The evolution usually starts from a population of randomly generated individuals and happens in generations.

Population and area control.

- The intensity become denser when the value in lower.

controlP5.addSlider(â&#x20AC;&#x153;Grenzeâ&#x20AC;?, 100, 1000,150, 10, 40, 200, 15);






eur al


etw ork

What is Neural Network ?

vastly flexible and kinetic, infinite connective possibilities .â&#x20AC;? - â&#x20AC;&#x153;Neural




between neurons


- Neuron can have very different physical appearances and respond in different ways to electrical and chemical factors, neurotransmitters and neurohormones, which alter according to the contextual environment of the axons. - Neural network can be understood as a modulated pattern extraction hierarchy. This hierarchy network of pattern recognition units in which a selection of input signals determines if a high enough proportion of its programmed pattern is present, in which case the identified pattern also signals (output). 80. Burke, Anthony and Tierney, Therese. Network Practices: New strategies in architecture and design, New York : Princeton architectural press , c2007. p89

limiting case replaced by new laws

Preset day physics represents a objects. It will have to be

- valid for inanimate ,

based on new concepts, if organisms with consciousness are to be described.











-Eugene Wigner






Bioinspiration : The importance of Neural Network ? - It is a mechanism at work that allowed a human organism to generate meaningful information from a dynamic stream environment data. Research had determined that the human genome was simply not large enough to preprogram all possible scenarios that human being need to function properly in the environment and the fact that cortex still lacks adequate surface are to contain it. 81 - Explore ral system and

the pattern recognition understand the operative principles

method of the

of neural

Figure 1 : Neuronal Culture , Fluorescence, Jan Schmoranzer. Operations like relational behaviour, repetition, and recursion exhibited to build complexity without resorting to poetics.

81. Manfred Spritzer, The Mind within the Net: Models of Learning, Thinking, and Acting (Cambridge, MA: MIT Press, 1999), 23. 82. L.Andrew Coward, Pattern Thinking (New York:Praeger,1990). - Figure 1. .


Bioinspiration Neural network


: Neocortex

The entire neural networks are in fact “great variations in cell type, synaptic type, transmitter, pre-.epi-, and post-synaptic mechanisms, graded transmitter release, regional specialization within the neuron, and other similar factors. 83 On a global scale, different regions in the brain also exhibit very different morphology and connectivity. Most of the higher mental functions, that is to say the thinking, occur in the neocortex. The neocortex contains some 100 billion cells, each with 1,000 to 10,000 connective synapses and has approximately 900 million linear feet of writing. Viewed systematically , the neuron is an information-processing unit that transforms many input into a single output channel. A typical neuron receives 1,000 to 10,000 incoming axonometric signals; inputs come from many other axons of the neighbouring neurons. As incoming information, the signals presence or absence, like a 0 or a 1, has an effect, like dots and dashes of a Morse code. 84

Figure 2 : Surface of Neocortex , neuron netoworks.

Exploring the

potential of brain systems

83. Floyd Ratliff, “ complex dynamic behavior of a real neural network in terms of a few simple basic principles,” in Eduardo R. Caianiello,ed., On fields of inhibitory influence in a neural network (New York: Springer Verlag,1968) . 84. Http:// (accessed Oct 20,2012) - Figure 2 .


The largest and most complex part of the human brain, the neocortex, is shown at the cellular level. This area generates internal processes for thought, perception, and memory.

Figure 3 : Most complex part of the human brain, neocortex.

Figure es: New

3. strategies

Burke, Anthony and in architecture and design, New

Tierney, Therese. York : Princeton architectural

Network press ,

Practicc2007. p91

Archim Menges : Fibrous Surfaces Recent experiments investigate the possibilities of combining computational growth and associative parametric modelling to evolve a differentiated surface structure consisting of a dense network of interlocking members from a basic array of simple straight elements. A variable distribution -algorithm derived from GENR8 establishes a network of lines on the surface indicating the position of each element and the related node type. Instances of the generic parametric component then populate the system accordingly.

Neural networks in art, design and architecture

Figure es: New

4. strategies

Burke, Anthony in architecture and design,

and New


Tierney, Therese. : Princeton architectural

Network press ,

Practicc2007. p95

Aim of the research and inspiration

- Evolve a differentiated surface structure from a basic array of simple straight elements. - Demonstrates reflexive structures through the integration of non-linear control models. - Simulation of emergent structural morphology and robotic fabrication of architectural form. Within experimental architectural design, Peter Testa and Devyn Weiser, founders of the Emergent Design Group at MIT, have developed new computational design method and open source such as Agency GP, Genr8, and weaver. It demonstrates reflexive structures through the integration of non-linear control models and AI constraint settings.In particular Weaver exemplifies a new type of agentialmaterialist combinations that supports simulation of emergent structural morphology and robotic fabrication of architectural form. Jun Yu : Forms of cellular aggregation (2005) Instructor : Marcelo Spina, Peter Testa : SCI-Arc 2GBX Studio GENR8 (Generative Form Modelling and Manufacturing) is a surface modelling program that involves artificial intelligence and complex feedback loops. It is based on natural growth systems within a dynamic shaping environment/infrastructure and a localized application of automated processes.

Figure5. Burke, Anthony and Tierney, Therese. Network Practices: New strategies in architecture and design, New York : Princeton architectural press , c2007. p97

Research and Inspiration

Figure 6.

Research and Inspiration

- An action changes the environment. - Applying a method of pattern recognition. - A continuously evolving group of cascades of neuron firing, extending in parallel across the hierarchical pattern extraction



This small scale model attempts to create cleaner intersections between threads of the minimal system by using latex instead of resin, previously explored. The latex forms a web like surface joining the threads smoothly. This model is made by cross referencing all points i.e. each pin is connected to all other pins by the thread. The latex is then applied and the model is then relaxed to allow the overlength of thread to form find its minimal path. Latex & Thread Skin Model 01 By carolynoliviabutler March 31, 2012 Carolyn Butler, Casting, Fabrication, Material Behaviour, Natural Systems, Self-organization


L.Andrew Coward, Pattern Thinking (New York:Praeger,1990). p.66,114.

Research on SOM (Self-organizing Map)

Figure 1 3D Surface / Space Description Maps with line

Figure 3 3D Surface / Space Description Maps with line and 3D face

Figure 2 2D Topolog Maps with spiral

Figure 4 Topology Maps with random line

Self-Organizing Feature Maps (SOM) are a data visualization technique invented by Professor Teuvo Kohonen which reduce the dimensions of data through the use of self-organizing neural networks. Self-Organizing Feature maps are competitive neural networks in which neurons are organized in a 2-dimensional grid (in the most simple case) representing the feature space. According to the learning rule vectors that are similar to each other in the multidimensional space will be similar in the 2-dimensional space. To additon, the basic Self-Organizing Feature Map can be visualized as a sheet-like neural-network array, the cells (or nodes) of which become specifically tuned to various input signal patterns or classes of patterns in an orderly fashion.


‘Among the architectures and algorithms suggested for artificial neural networks, the Self-Organizing Map has the special property of effectively creating spatially organized “internal representations” of various features of input signals and their abstractions’ - Teuvo Kohonen




random successfully

- The ly


data, applying

phenomenon each coupling


other modi



method two








pattern autopoietic

structural are












Evoke a latent form of memory in the coupled system


Humans ures our

learn brains.

from When

experience, the brain

and learns

experience something, it



memory would be created through the slowing down of the learn rate and increasing the number of learn iterations (steps) the SOM has to cognise a particular phase portrait of the agents system. The

Pseudo Code




import processing.opengl.*; import peasy.*; SOM som; PeasyCam cam;

2. Initialize vate the

3. Form implementing

and swarm



class forces

actiď&#x20AC;­ agents.

function (PVector)

class Fly { PVector heading; PVector position; PVector cohesion; PVector alignment; float speed; color colour; color c; int mapWidth; int mapHeight; int mapZed;


class Input { int inputDimension; float [] v; // weight vectors



class Node { int x, y, z; int weightCount; float [] w; // weight vectors float [] W; // limbo weight vectors Node(int n, int X, int Y, int Z) { x = X; y = Y; z = Z; weightCount = n; w = new float[weightCount]; W = new float[weightCount];

int neighborhoodRadius = 100; //boolean lines = true; Fly [] swarm = new Fly [inputPop];



Input(int n) { inputDimension = n; v = new float[inputDimension]; // initialize weight vectors to random values for(int i = 0; i < inputDimension; i++) { v[i] = random(0.00001, 0.99999); }//for i

1 Forming the paramaters for maxiď&#x20AC;­ mum number of interations,horizontal nodes,vertical nodes,z axis nodes,space between nodes (overlap),how many inputs ,number of feature vectors,step for swarm

int maxIters = 300; int hor = 20; int ver = 20; int zed= 10; int space = 50; int inputPop = 30; int inputDimension = 3; int step = 200; int tstep=0; int t=0; float radiusDecay; float learnDecay;






class SOM { int mapWidth; int mapHeight; int mapZed; Node[][][] nodes; Input[] inputs; int inputDimension; int inputPop; int winx; int winy; int winz; float radius; float timeConstant; float learnRate = 0.1; PFont font;

Technical explorations and random implementations

separate time steps, such as to control the number of iterations the SOM has to cognise a current state of points before they would update and move. -

Running the two systems, one of agents [points] the other the SOM on

Ideas of the sketches


Original Code credit to Marc Fleming. Accessible Code via online

Movement and positioning according to neighborhood relations - Development of stable fields through learning - Emergence, birth and death of centres - Association memory, fuzziness, prediction and stability - Neural net - Neighborhood

int maxIters = 1000; //maximum number of interations int hor = 5; //horizontal nodes int ver = 5; //vertical nodes int zed= 5; //z axis nodes int space = 15; //space between nodes (overlap) int inputPop = 15; //how many inputs int inputDimension = 3;

int maxIters = 1000; int hor = 10; int ver = 10; int zed= 10; int space = 30; int inputPop = 15; int inputDimension = 3;


This history/memory is already a feature of the SOM [because of convergence] however

possible to control the rate at which memory has affect on the system. The more steps the SOM has to cognise through the time step it is

each individual step of the agents system the faster the SOM will appear to


comparison to the movement of the agents. There will be what almost looks like a


time lag/

smear in the movement of the SOM in relation the movement of the agents.

int maxIters = 1000; int hor = 20; int ver = 20; int zed= 20; int space = 50; int inputPop = 30; int inputDimension = 3;

int maxIters = 5000; int hor = 30; int ver = 30; int zed= 20; int space = 50; int inputPop = 30; int inputDimension = 3;

Increase the number of iterations. Raw Code

SOM som; PeasyCam cam; int maxIters = 1000;

- Maximum number of iteration - Sequences that show the different number of iterations and trying to experiment the neural behaviour of the particles. - The greater value number of iterations tend to slower down the end process.

SOM som; PeasyCam cam;

SOM som; PeasyCam cam;

SOM som; PeasyCam cam;

int maxIters = 3000;

int maxIters = 5000;

int maxIters = 10000;

Increase the radius of the network. Raw Code

int neighborhoodRadius = 100; //boolean lines = true; Fly [] swarm = new Fly [inputPop];

int neighborhoodRadius = 200;

- Experiment the increase of radius between the swarming agents. - Sequences that show the different number of radius and trying to experiment the reaction of the agents when the distance is being increased. - The greater the radius causing the agent to take longer time to reach to the nodes.

int neighborhoodRadius = 500;

int neighborhoodRadius = = 1000;

Increase the rate of decay Raw Code

if (key == ‘k’ || key == ‘K’) { som.learnRate += 0.10; learnDecay = som.learnRate;

x3 key pressed. if (key == ‘k’ || key == ‘K’) { som.learnRate += 0.10; learnDecay = som.learnRate;

- Increase the rate of decay by key pressed. - Experiment the sequences that show the different number of decay rate and trying to see the end result when it is static. - The greater value number of iterations tend to reduce the number of paricles.

x10 key pressed. if (key == ‘k’ || key == ‘K’) { som.learnRate += 0.10; learnDecay = som.learnRate;

x15 key pressed. if (key == ‘k’ || key == ‘K’) { som.learnRate += 0.10; learnDecay = som.learnRate;

Experiment the growth of the network. Raw Code

if (key == ‘q’ || key == ‘W’) { som.radius -= 0.5; radiusDecay = som.radius; }

x3 key pressed. if (key == ‘q’ || key == ‘W’) { som.radius -= 0.5; radiusDecay = som.radius; }

- Experiment the growth of network. - Sequences that show the different number of rate and trying to experiment growth rate by key pressing. - Each key press alllow a growth rate of 0.5.

x10 key pressed if (key == ‘q’ || key == ‘W’) { som.radius -= 0.5; radiusDecay = som.radius; }

x15 key pressed if (key == ‘q’ || key == ‘W’) { som.radius -= 0.5; radiusDecay = som.radius; }

Reflection on Neural Networks Limitations

mission-critical systems are based on an incorrect assumption (that the system can -

The current kinds of design processes for

be “proved correct”, which means the requirements and operating environment must be completely and crisply predetermined) and produce very “fragile” systems (that are provably correct within those implausibly crisp constraints, but that shatter once they move even fractionally outside). - Our designs are constrained and brittle. They will function only as long as the assumptions made by the us remain true. But in a world where all technology has become increasingly connected, our

environment are ever-changing, design is becoming complex, and it is hard to make safe assumptions about how a complex system will work- for it is inherently unpredictable. designs now form part of a larger complex system. Their

difficult to summarize

- It is el of dynamic






any system with this levtoo internal and variable.

Potentials - Throughout the process of the chapter, i begin sibility of brain as a system and the linkage

to understand with neural

the posnetworks..

design complexity without being complex by applying network theories and network system design to the brain. -

I was able to


i have also learn to create a completely


interactive environ-

: an action changes the environment, which changes the sensory inputs.

Conclusion on Natural Systems Conclusion 1

Conclusion 3

I think scripting is an essential component for 21st century design education. It tries to make us engage and understand the digital practice in a better way. It is also a role play in our life to understand the part of history and culture through scripting design. The essence of speed and productivity are indispensable elements in our life in order to keep pace with the current fast moving civilization. If architects are to be systems designers, then they will need to think algorithmically, to be able to propose algorithms to a computer in order to develop their thoughts by observing the outcomes. The nearer we get to talking directly to the machine, the more freedom we have. The history of computer languages has been a balancing act between total freedom of programming in machine code and higher abstraction of ever increasing ease of use, but ever more limited scope. It is unfinished wok to define a really useful compromise for programming architectural systems, but it is the most interesting task ahead for computing and design.

In my opinion, scripting offers an outstanding capability to create extraordinary discourse. The computer programming is based on requiring minor numerical input or mathematical input and it is essential to know about the difference between computation and mathematics. I think the intensiveness of the reaction by the computer can determine the level of innovativeness of the output and it will be very benefitial for the next generation.The productivity can be achieved through looking beyond the colleagues and teachers, getting a sense of own talent and always generous to share out the code and information. It forms a kind of rhizomic system for people to interact through internet sharing and collaborate to one another virtually. Hence, it increases the speed of learning and people can easily know that what is the strength and weakness in them. Then they can look out for sources and reference to help them resolve the problems.

Conclusion 3

We now have computer models that analyze genes and cells and predict how they interact and develop. We are able to manipulate development in organisms and alter their forms. We are also beginning to use development in combination with evolutionary computation. I have learned that evolution without development is increasing complexity to emerge. Evolution needs no conscious guidance to create complexity- but it does need development.

Natural system studio final  
Read more
Read more
Similar to
Popular now
Just for you