URBAN POLLEN ALGORITHMIC DESIGN CHRISTOPHER BAMBOROUGH - 11091889
ALGORITHMIC DESIGN PARTICLE SYSTEMS
2
The creation of particle systems allow the modelling of autonomous agents who make their own choices about how to act within a given environment. Through high numbers of interactions, particle systems involving autonomous agents can start to express emergent dynamic relationships as they all follow local rules. Such a system can be seen in the Boids artificial life program, developed by Craig Reynolds in 1986. His intention was to simulate coordinated animal motion such as birds flocking or fish schools. He called the generic simulated flocking creatures “boids� and their movement was based on three steering behaviours: SEPERATION Steer to avoid crowding local flock particles. ALIGNMENT Steer towards the average heading of the flock. COHESION Steer to move toward the average position of the flock.
MODELLED WIND FORCES
ASSESSMENT /01
Flow fields (force fields, or vector fields) define a movement mapping from a location in space to a flow vector. Perlin Noise produce variations in vector values that simulate naturally occuring types of 4D variable force, such as wind.
3 AGENT INTELLIGENCE IN ARCHITECTURE
TAIPEI PERFORMING ARTS - KOKKUGIA
Kokkugia’s research has focused on the generation of ornamental geometries through particle agent based formation of non-linear hierarchies and emergent patterns.
In their entry for the Taipei Performing Arts centre competition 2008 they used a network of semiautonomous particle agents to generate the roof and spatial lattice of the scheme. The intention of their “Swarm Intelligence system” was to use the self organising capacity of agents in the creation of an active networked topology. The resulting structure acts as both space filling lattice and continuous surface where the network connections are articulated as a web of veins.
ASSESSMENT /01
4
ALGORITHMIC DESIGN EXAMPLES OF PARTICLE SYSTEMS USED IN COMBINATION WITH OTHER SYSTEMS
Particle systems combined with the modelling of other forces can allow the overlaying of real world material properties.
“Using simulations and artificial life algorithms to grow elements of construction” Przemyslaw L. Jaworski Growth simulation using particle agents and supporting structures using: avoidance of cubes seed initiation procedure algorithm with dynamic distribution of forces agent based growth system
“Agent Tropism” Marios Tsiliakos Predefined particle-spring systems undergo dynamic relaxation while adapting to a set of particle agents. Gravitational force is exerted onto the particle system aiming for a resulting structure that is structurally self organised.
ASSESSMENT /01
5 USE OF WIND BEHAVIOUR - BURBLE LONDON BY HAQUE
From a starting fixed topology of balloons exertion of unpredictable wind forces create unexpected effects and form. The randomness of the movement through environmental forces adds a richness to the effect that makes the installation visually successful.
http://www.haque.co.uk/burblelondon
ASSESSMENT /01
6
ALGORITHMIC DESIGN POTENTIAL USE FOR PARTICLE SIMULATION IN ARCHITECTURE
Combination of particles with secondary rule based simulation to create ornamental structural systems and unpredictable design outcomes.
http://matsysdesign.com
ASSESSMENT /01
7 FLOW FIELDS A Flow Field following steering behaviour using Perlin noise can simulate the behaviour of wind movement. The “vector field” provides a flow vector that changes through time as Perlin noise is seeded by a random number.
“Streamlines, pathlines (and streaklines) are flow representations, that are equivalent in the case of steady flows (Fig. 2). The determination of pathlines can also represent the first step in the determination of timelines, that can be very useful in the analysis of spatial variations of the flows” (http://www.malg.eu/streamlines.php)
Used from http://www.malg.eu/streamlines.php
ASSESSMENT /01
8
ALGORITHMIC DESIGN PERLIN NOISE
Invented by Ken Perlin in 1982. Perlin noise is a gradient noise used by visual effects artists to increase the appearance of realism in computer graphics. Natural effects such as fire, smoke, or clouds can be made to look more natural by imitating the controlled random appearance of textures of nature. Perlin invented Simplex Noise in 2001 to solve his previous algorithms high computational complexity. The Python module Perlin allows access to algorithm to produce simplex noise based on a position in space. The output of the Simplex noise function is a value based on an x,y,z coordinate and is intended to create a smooth change in value across space. The table of simplex values can also be altered through time through the input of a random integer to generate new vector values for the field that are proportional to each other. The intended effect is a flow field of vectors that exhibit an intended but uncontrollable difference and repetition.
Example of flow Field www.shiffman.net/itp/classes/nature/week06_s09/flowfield/) ASSESSMENT /01
9 URBAN POLLEN = ANEMOPHILOUS PARTICLE SYSTEM + 2D PATTERN GENERATION
1 - Explore behaviour of particles within flow fields incorporating perlin noise data inputs.
2 - Assessment of particle within given hexagonal grid.
NO PIXELS NO PIXELS
1 PIXELS 1 PIXELS
2 - 3 PIXELS
2 - 3 PIXELS
4 - 5 PIXELS
4 - 5 PIXELS 6 + PIXELS
6 + PIXELS
3 - Playing out of geometric rules within the grid to create 2 dimensional patterning based on particle interaction. The system holds a potential for rules to be set for each cell based on its neighbours, this would add another level of complexity and possibly generate emergent patterns similar to Cellular Automata.
ASSESSMENT /01
ALGORITHMIC DESIGN CODE OUTCOMES
Attractors (xpos, ypos, zpos, mass, radius) (1000,1000,0,0,100) (1000,0,0,0,100) SN randomize (2), %100
Attractors (xpos, ypos, zpos, mass, radius) (1000,1000,0,5000,100) (1000,0,0,0,2000) SN randomize (8), %50
Attractors (xpos, ypos, zpos, mass, radius) (1000,1000,0,5000,100) (1000,0,0,2000,100) (0,1000,0,2000,100) SN randomize (2), %150
Attractors (xpos, ypos, zpos, mass, radius) (1000,1000,0,3000,100) (1000,0,0,3000,100) (0,1000,0,2000,100) SN randomize (2), %100
ASSESSMENT /01
10
11 CONCLUSIONS + NEXT STEPS
Overall the script produced some interesting results, but on the whole they were predictable given the top down implementation of rules. There are a number of things I would like to progress given further advice on advancement; 1 - The Perlin noise system helped to create some unpredictably but I found the Perlin module difficult to manipulate. In the implemented I did not achieve flow as seen in the processing flow field examples (http://www.shiffman.net/itp/classes/nature/week06_s09/flowfield/) I referred to when building the script as I was only able to get a consistently changing angle between 0 - 45 degrees. 2 - I would first like to make each cell an object that would know what state its neighbour is, this would allow a possible exploration of emergent patterns through Cellular Automata type rule based algorithms. 3 - I would also like to make each cell aware of it’s previous component state so there would be no reproduction of geometry drawn. 4 - Currently all final geometry is drawn at the end in order to increase the speed of performance, ideally I would look to draw the lines via a display pipeline so the changing of cell geometry can be watched in real time. 4 - I would then like to make the cell a 3D bounding box and develop the line components to create mesh surfaces that connect at consistent points within the grid in order to produce a connected geometry. 5 - The next step would be to parametrically control these meshes based on its position, relationship to particle agents or site sun angles etc. 6 - To progress fully I would ideally look at how the component could alter itself in time through a genetic fitness function and a capacity to change its geometry and topology. Detailed advice within the project feedback would be appreciated in order to take this exploration further.
ASSESSMENT /01