Swarming /& dynamic relaxation on a surface

Daniel Davis – 15 July 2010

I have just returned from the CITA workshop in Copenhagen. One of the problems we were tackling was how to distribute elements onto a unevenly doublely curved surface. I decided to explore whether the surface could be generated from elements of the same size. The most natural solution is to draw the elements in two dimensions and try to wrap the two dimensional surface onto the three dimensional shape. However the process of wrapping a two dimensional surface onto a three dimensional shape creates so much distortion that the original properties of the surface are lost: the elements become to long or too short. To me it feels like we hit the boundary of most CAD packages, which allow you to work in Cartesian space, and provide tools to wrap/embed Cartesian space into other spaces, but they are not set up to allow you to work in the original non-Cartesian space. For a while it seemed like the easiest solution would be to laser cut the timber to fit the computer model rather than to correct the computer model. It is interesting to witness such a high-end workshop, full of nerds, struggling to overcome the limitations of CAD and in many ways giving the design over to the limitations of the software – or at-least designing within the vocabulary of the software.

The solution I came up with to this problem was to use a swarming algorithm on the surface (seen in the video above). By creating a number of random points on the surface, and then iteratively pushing these points away from each-other until they were the desired distance apart, it was possible to generate the surface from elements of the same size. I uploaded the code to do this onto openprocessing here. In the video above you will also notice that there is a Grasshopper model on the right. The processing code saves a text file of the elements and, in real time, Grasshopper turns this text file into a Rhino model that it analyses. Due to some of the code inside that model I can not release it, but you should be able to create your own version pretty fast using the Read File element in Grasshopper.

Another project from the workshop is Anders Deleuran’s exploration of the accuracy of lightweight simulation (video above). In this case he is simulating a reciprocal joint held with the bending of timber. Both of these projects were discussed by Mark Burry at the AD magazine’s 80th Birthday during his lecture on ‘The future of architecture.’ The lectures were filmed but I have yet to find them online.

Share

Subscribe

Join the mailing list to receive an email whenever a new post comes out. Otherwise, you can follow me on Twitter, or add the RSS feed to your reader.

11 comments

  • Mentioned 16 July 2010 at 2:22 pm

    […] This post was mentioned on Twitter by Ankit Surti, Pablo Kobayashi. Pablo Kobayashi said: Digital Morphogenesis – Swarming /& dynamic relaxation on a surface http://bit.ly/aDcfEJ […]

  • Daniel 17 July 2010 at 3:43 am

    Very nice work. I’ve been trying some similar stuff directly in grasshopper with kangaroo, and it is interesting to see your approach. Thanks for sharing.

  • Daniel 19 July 2010 at 1:08 pm

    Thanks Daniel. It would be interesting to see it applied to Kangaroo/Grasshopper/Rhino with more sophisticated surfaces. Gehry used a similar algorithm on the Yas Island project with a free-form surface. They could not get it working in CATIA and used custom software. I saw a similar thing done in CATIA, but one update cycle of one hundred points took almost 5 minutes to compute. I would expect Kangaroo to be much faster!

  • Mentioned 14 August 2010 at 1:10 am

    […] Tamke and Jacob Riiber for this ‘Lamella flock’ video,and Daniel Davis for his swarming & dynamic relaxation on a surface […]

  • Mentioned 24 August 2010 at 8:11 pm

    […] have spent the past month revising this project, and have come to the conclusion: I suck at parametric design. I set off with intentions […]

  • Mentioned 27 December 2010 at 1:56 pm

    […] Ander’s work with the Maya Nucleus Engine, projects by Supermanouver and Kokkugia, and even I dropped the genetic algorithm and picked up the spring algorithm for a while. Also all those tensegrity projects you have seen everywhere this year: spring […]

  • Mentioned 14 March 2011 at 8:06 pm

    […] almost a dozen other people, lead by Mark Burry, Mette Thomsen and Martin Tamke. This early post on dynamic relaxation details how we achieved the point distribution – although we later replicated the function […]

  • Mentioned 5 May 2013 at 2:12 pm

    […] have spent the past month revising this project, and have come to the conclusion: I suck at parametric design. I set off with intentions […]

  • Mentioned 5 May 2013 at 2:19 pm

    […] Ander’s work with the Maya Nucleus Engine, projects by Supermanouver and Kokkugia, and even I dropped the genetic algorithm and picked up the spring algorithm for a while. Also all those tensegrity projects you have seen everywhere this year: spring […]

  • Mentioned 5 May 2013 at 2:22 pm

    […] almost a dozen other people, lead by Mark Burry, Mette Thomsen and Martin Tamke. This early post on dynamic relaxation details how we achieved the point distribution – although we later replicated the function […]

  • Mentioned 12 May 2013 at 6:29 pm

    […] Video of dynamic relaxation process […]

Leave a comment