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

Hyperbolic Coral - nylon SLS
Coral hanging out at Cultural Interfaces with Mitchell Whitelaw's Weather Bracelet and Measuring Cup
(photo: Mitchell Whitelaw)
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.

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.

1 comment: