Is this the winning formula? Finally I have a balanced version that has multiple pressure input legible and allows emergent pattern. I have added a lock out that stops endless cycling after a reasonable time to see emergence (15 sec) if a low gate condition has been reached (lights on 3 times in that 15 sec). During a lock out period (10 sec) I imagine pressure input would result in a low buzz to indicate it was disabled.
I have kept the min off time to a minimum to maximise feedback from pressure input, and increased the flag delay and limited the max on time to ensure not all lights are on at the same time. Also I think mode 2, clockwise internal communication arrangement, is most coherent to use, because the communication between tiles is clockwise. Controls are still enabled - so keep playing!
Showing posts with label self organisation. Show all posts
Showing posts with label self organisation. Show all posts
Friday, July 15, 2011
Monday, May 30, 2011
D, I & E Tile Processing Mockup V2
Here is a revised version with controls to change variables so that everyone can have a bit of a play.
I have added the potential to set a minimum time that cells must be off before they can be turned on by neighbouring cells being on. This can be used to break the endless cycle and makes responses and interactions from simultaneous pressure sensor inputs at opposite sides of the board more legible. Unfortunately pressure sensor inputs can not be communicated to neighbouring cells that are serving a minimum time off (this is possible to code, but our physical communication setup can not differentiate the cause of neighbouring cells' lights being on). There is also then the potential to set a maximum time that cells can be off before they randomly turn themselves on.
I am not sure what the optimum arrangement is for our installation, and if it would be interesting or too unintelligible for each tile to have individual settings. So keep playing!
I have added the potential to set a minimum time that cells must be off before they can be turned on by neighbouring cells being on. This can be used to break the endless cycle and makes responses and interactions from simultaneous pressure sensor inputs at opposite sides of the board more legible. Unfortunately pressure sensor inputs can not be communicated to neighbouring cells that are serving a minimum time off (this is possible to code, but our physical communication setup can not differentiate the cause of neighbouring cells' lights being on). There is also then the potential to set a maximum time that cells can be off before they randomly turn themselves on.
I am not sure what the optimum arrangement is for our installation, and if it would be interesting or too unintelligible for each tile to have individual settings. So keep playing!
Labels:
8200,
interactive,
interface,
self organisation
Sunday, May 29, 2011
D, I & E Tile Processing Mockup
Here is a quick Processing mockup of our current tile arrangement to demonstrate that lights are communicated in circles. I have also tested some alternative arrangements that produce various other emergent patterns, such as diagonal stripes, by communicating between cells within tiles. All of the arrangements produce endless loops from a single pressure sensor input, but unfortunately in all of the arrangements multiple pressure sensor inputs produce either no legible response or fairly uninteresting interactions.
Controls:
mouse click = pressure sensor input / footstep (to begin)
key q = turn all lights off
key 1 = only neighbouring tiles (current arrangement)
key 2 = neighbouring tiles plus internal cells clockwise
key 3 = neighbouring tiles plus internal cells anti-clockwise
key 4 = neighbouring tiles plus internal cells diagonal
key 5 = neighbouring tiles plus all internal cells
key 6 = neighbouring tiles plus internal cells horizontal
key 7 = neighbouring tiles plus internal cells vertical
Controls:
mouse click = pressure sensor input / footstep (to begin)
key q = turn all lights off
key 1 = only neighbouring tiles (current arrangement)
key 2 = neighbouring tiles plus internal cells clockwise
key 3 = neighbouring tiles plus internal cells anti-clockwise
key 4 = neighbouring tiles plus internal cells diagonal
key 5 = neighbouring tiles plus all internal cells
key 6 = neighbouring tiles plus internal cells horizontal
key 7 = neighbouring tiles plus internal cells vertical
Labels:
8200,
interactive,
interface,
self organisation
Friday, May 27, 2011
D, I & E Reflection
A very big thank you to Stephen Barrass. I very much value the intensive delivery mode of the Digital Design technology units where I feel like I can quickly progress by implementing and then expanding upon learning immediately - before it can be forgotten and then require recapping as in other potential delivery modes. As with previous Digital Design units, Design, Interaction & Environment has opened up a whole new world.
I have never before played with electronics or microprocessors, let alone felt audacious enough to attempt an interactive installation. Of course with any newly learned skills I will need to keep practicing, and it can sometimes be difficult to find the initiative to do this - however I believe that the rapid progression through this unit will now make it more likely that I have the confidence to attempt a project of complexity sufficient to be inspiring. In fact, if I have time, I would like to set up an interactive installation for the my end of year architecture graduating exhibition, which tends to be well attended and a bit of a party.
A particularly appreciated learning experience I think was the production of an installation, which in many ways was a 'real' project. Group work can be very stimulating, but can in a University situation be more often than in a workplace challenging because of unclear roles, lack of (or competing) leadership and group members who don't pull their weight. Thankfully this unit, as a whole of class group project led and facilitated by Stephen, proved to be very productive, and group members who had diverse backgrounds were able to contribute in different ways.
The best bit of the realness of this project was that Stephen left in all the messy bits: we were able to develop a design direction collectively, which is not the easiest processes; we had to shop for the components and materials, which were not always available meaning that we had to adapt the design; we had to investigate and learn new fabrication technologies; and ultimately we ran out of time to finish within the intensive class time! All wonderful lessons in production.
So through this unit I learnt some technical skills like constructing simple electronic circuits and drawing circuit diagrams, and working with various potentiometers and a microprocessor. I also gained great confidence in the adaptability of my programming, particularly in learning Arduino code, which is slightly different to Processing, and in figuring out how to make a library when I was stuck trying to implement classes.
More importantly perhaps were considerations of pertinent content, meaningful interaction, and legible interfaces and environmental responses in the design of installations. Although we were only able to include in our project some of these design and theory ideas, and perhaps in a fairly limited way, I found the class discussion on background readings and research for project proposals most engaging and worthy of expansion in future classes.
I am looking forward to continuing to work on our installation over the next couple of months. I hope that it can still be somewhat collectively curatable - that is I think that more than one person will be able to fit on the tiles at the same time and so suggest that a focus should be interaction between responses to multiple footfalls.
The theme of exploring self organisation is also something that I have had an ongoing interest in. I like very much the tactility of seeing and interacting with self organising systems that are rendered outside of the computer screen.
Taking research at the intersection of self organising systems, architecture and physical computing to a conceptual extreme are R&Sie(n), whose project 'I've heard about' for example envisions an architecture not centrally controlled, self constructed and continually grown and adapted, by landscape secreting 'Viabs' which respond to local conditions including chemical emissions data of it's human inhabitants. This biostructure no longer seems quite so futuristic.
I have never before played with electronics or microprocessors, let alone felt audacious enough to attempt an interactive installation. Of course with any newly learned skills I will need to keep practicing, and it can sometimes be difficult to find the initiative to do this - however I believe that the rapid progression through this unit will now make it more likely that I have the confidence to attempt a project of complexity sufficient to be inspiring. In fact, if I have time, I would like to set up an interactive installation for the my end of year architecture graduating exhibition, which tends to be well attended and a bit of a party.
A particularly appreciated learning experience I think was the production of an installation, which in many ways was a 'real' project. Group work can be very stimulating, but can in a University situation be more often than in a workplace challenging because of unclear roles, lack of (or competing) leadership and group members who don't pull their weight. Thankfully this unit, as a whole of class group project led and facilitated by Stephen, proved to be very productive, and group members who had diverse backgrounds were able to contribute in different ways.
The best bit of the realness of this project was that Stephen left in all the messy bits: we were able to develop a design direction collectively, which is not the easiest processes; we had to shop for the components and materials, which were not always available meaning that we had to adapt the design; we had to investigate and learn new fabrication technologies; and ultimately we ran out of time to finish within the intensive class time! All wonderful lessons in production.
So through this unit I learnt some technical skills like constructing simple electronic circuits and drawing circuit diagrams, and working with various potentiometers and a microprocessor. I also gained great confidence in the adaptability of my programming, particularly in learning Arduino code, which is slightly different to Processing, and in figuring out how to make a library when I was stuck trying to implement classes.
More importantly perhaps were considerations of pertinent content, meaningful interaction, and legible interfaces and environmental responses in the design of installations. Although we were only able to include in our project some of these design and theory ideas, and perhaps in a fairly limited way, I found the class discussion on background readings and research for project proposals most engaging and worthy of expansion in future classes.
I am looking forward to continuing to work on our installation over the next couple of months. I hope that it can still be somewhat collectively curatable - that is I think that more than one person will be able to fit on the tiles at the same time and so suggest that a focus should be interaction between responses to multiple footfalls.
The theme of exploring self organisation is also something that I have had an ongoing interest in. I like very much the tactility of seeing and interacting with self organising systems that are rendered outside of the computer screen.
| R&Sie(n) 'I've heard about' |
| R&Sie(n) 'I've heard about' |
Labels:
8200,
art,
biomimetics,
digital architecture,
interactive,
self organisation
Tuesday, April 26, 2011
Hyperbolic Coral
This post is some long overdue documentation for the Hyperbolic Coral, which was the result of a computational nature study that Kerrin Jefferis and I did for the unit 8195 Generative Design and was exhibited last November as part of Cultural Interfaces at CraftACT.
The idea of a computational nature study was to develop a generative system based on an understanding of the logic of a natural system, a practice that has been gaining momentum in architecture. In nature there are many examples of hyperbolic forms including those found in kelps, anemones and corals as well as sea slugs and leaves from lettuce to holly. Hyperbolic geometry is non-Euclidean, having at least two lines parallel to any line l through any point A not on l, and is characterised by maximised, exponentially increasing, surface area and boundary edge length. Coral needs maximised surface to collect nutrients from the sea, while sea slugs use it to propel themselves with minimal effort.
The starting point of the project was an inspiring TED lecture by Margaret Wertheim about her Crotchet Coral Reef project with the Institute for Figuring which has seen satellite reefs crocheted all around the world. We fairly literally made a digital version of this system in Processing using the Traer Physics simulation library.
Crotchet was first used to model hyperbolic forms by Daina Taimina in 1997. Other mathematics had been struggling to model hyperbolic forms for decades. The genius of the approach is that it doesn't require a complex mathematical description of the entire form - just a simple algorithm describing the relationship between one row of stitches and the next. Normally in crotchet new rows have one stitch for each stitch in the previous row. However with hyperbolic crotchet an extra stitch is added for every nth stitch in the previous row. We have termed this a growth pattern, and conceptually thought about the coral growing from the first row.
To translate the system to Processing we needed two conceptual parts - a constructor to build relationships between stitches and a physics simulator to give material properties allowing the stitches to self optimise their position (ruffle).
Essentially the stitches are replaced with particles connected by springs. The particles are free to move and the springs can be compressed or stretched but have a rest length that they try to reach. The system comes to equilibrium when as many springs are as close as possible to their rest length - a condition that requires a resolved hyperbolic form.
The constructor takes a ring with x particles and grows i rings based on a growth pattern (eg {1,2} specifies an extra particle for every 2nd particle in the previous ring). The particles are connected by springs to the immediately adjacent particles in the ring and to the parent particle in the previous ring.
A repellent force between all particles was introduced to assist the form finding - where as fabrics have a certain stiffness this system could bend back on itself 'impossibly' and get tangled up. Additional springs could be added as cross-bracing to further reduce bending.
To ensure a stable system the strengths of all the forces including drag and spring stiffness and damping need to be continually tweaked for each change in the number and density of particles (controlled with variables such as number of particles in the first ring, growth pattern, number of rings and spring rest lengths). This constant micro management of the system doest allow a single stable profile to be set such that a 'plug and play' generic hyperbolic form generator can be sent out into the world. The version on Open Processing is stable for the range of: 5 rings; growth patterns {2,3} to {3,5}; and 4, 6 or 8 particles in the first ring.
We had a go at fabricating a model using Shapeways nylon selective laser sintering (SLS). A polygon mesh was exported from Processing to Rhino where it was cleaned up, thickened into a volume 1.5mm thick and saved as an STL file for Shapeways.
Once released into the wild some renderings of the coral popped up at architectural scale visualising the potential for a giant pavilion! In terms of architectural application I mostly imagine continuing the exploration of self organising/optimising systems and training these for architectural purpose. A very beautiful realised installation is Chris Bosse's Green Void, which is a hyperbolic form with a different generating strategy. Of course one can also imagine functional reasons for wanting hyperbolic forms given they have exponential surface and boundary.
The idea of a computational nature study was to develop a generative system based on an understanding of the logic of a natural system, a practice that has been gaining momentum in architecture. In nature there are many examples of hyperbolic forms including those found in kelps, anemones and corals as well as sea slugs and leaves from lettuce to holly. Hyperbolic geometry is non-Euclidean, having at least two lines parallel to any line l through any point A not on l, and is characterised by maximised, exponentially increasing, surface area and boundary edge length. Coral needs maximised surface to collect nutrients from the sea, while sea slugs use it to propel themselves with minimal effort.
The starting point of the project was an inspiring TED lecture by Margaret Wertheim about her Crotchet Coral Reef project with the Institute for Figuring which has seen satellite reefs crocheted all around the world. We fairly literally made a digital version of this system in Processing using the Traer Physics simulation library.
| Crotchet Coral and Anemone Garden with Sea Slug, Marianne Midelburg (photo: Alyssa Gorelick) |
Crotchet was first used to model hyperbolic forms by Daina Taimina in 1997. Other mathematics had been struggling to model hyperbolic forms for decades. The genius of the approach is that it doesn't require a complex mathematical description of the entire form - just a simple algorithm describing the relationship between one row of stitches and the next. Normally in crotchet new rows have one stitch for each stitch in the previous row. However with hyperbolic crotchet an extra stitch is added for every nth stitch in the previous row. We have termed this a growth pattern, and conceptually thought about the coral growing from the first row.
To translate the system to Processing we needed two conceptual parts - a constructor to build relationships between stitches and a physics simulator to give material properties allowing the stitches to self optimise their position (ruffle).
Essentially the stitches are replaced with particles connected by springs. The particles are free to move and the springs can be compressed or stretched but have a rest length that they try to reach. The system comes to equilibrium when as many springs are as close as possible to their rest length - a condition that requires a resolved hyperbolic form.
The constructor takes a ring with x particles and grows i rings based on a growth pattern (eg {1,2} specifies an extra particle for every 2nd particle in the previous ring). The particles are connected by springs to the immediately adjacent particles in the ring and to the parent particle in the previous ring.
![]() |
| Hyperbolic Coral - {2,3} growth pattern, 4 particles in first, 5 rings |
![]() |
| Hyperbolic Coral - {3,3} growth pattern, 4 particles in first, 5 rings |
Particle physics simulation is computationally resource intensive limiting the number of particles that a model can contain. A coarse polygon mesh makes a perceptually faceted model. We smoothed our model, approximating the form of a model with more rings of particles by exponentially increasing the rest length of springs between outer rings.
A repellent force between all particles was introduced to assist the form finding - where as fabrics have a certain stiffness this system could bend back on itself 'impossibly' and get tangled up. Additional springs could be added as cross-bracing to further reduce bending.
To ensure a stable system the strengths of all the forces including drag and spring stiffness and damping need to be continually tweaked for each change in the number and density of particles (controlled with variables such as number of particles in the first ring, growth pattern, number of rings and spring rest lengths). This constant micro management of the system doest allow a single stable profile to be set such that a 'plug and play' generic hyperbolic form generator can be sent out into the world. The version on Open Processing is stable for the range of: 5 rings; growth patterns {2,3} to {3,5}; and 4, 6 or 8 particles in the first ring.
| Hyperbolic Coral - the full set of possible models from the Open Processing version |
| Hyperbolic Coral - nylon SLS |
| Coral hanging out at Cultural Interfaces with Mitchell Whitelaw's Weather Bracelet and Measuring Cup (photo: Mitchell Whitelaw) |
![]() |
| Hyperbolic Coral in the wild (rendering: Dominik Raskin) |
![]() |
| Hyperbolic Coral in the wild (rendering: Dominik Raskin) |
In the future it would be nice to train the coral generator to do more tricks including accommodating different starting geometry and multiple pieces that can be stitched together. The Crotchet Coral Reef project encourages participants to introduce mutations into their algorithms to create endless variations (evolutions) that are not mathematically pure, which I suspect is a rich strategy for future exploration.
Subscribe to:
Posts (Atom)



