Plateau’s Laws, Soap Bubbles & Grasshopper

The Grasshopper script simulates a random soap bubble cluster starting from 3 soap bubbles of known radii based on Plateau’s Laws. All surfaces in a bubble cluster are spherical, including films dividing two adjacent bubbles.

A list is used to store valid bubbles generated through a Hoopsnake sequence and a number of custom components calculate correct bubble intersection in line with Plateau’s Laws.

Author: stratocaster47

Live music maniac

12 thoughts on “Plateau’s Laws, Soap Bubbles & Grasshopper”

      1. Actually I’m not an expert in grasshopper, that is the reason that I was wondering if is possible to have the definition. Do you know if is possible?

      2. Hi @Pablo, have you clicked on the images of the blog post by Andrei? The printscreens are very high resolution so quite easy to reproduce, just double click on your Grasshopper canvas to get the right components – It would be good for you to try in order to learn before getting the entire file which was very hard work. Trust us, this is a much better way to learn the tool than getting finished scripts! Keep us updated with your struggles and we will help.

      3. Hi Arthur, Thanks for the recommendation and help. I will keep you update if I get any problem.

      4. Andrei, really AMAZING!
        I just met with a professor for minimal surfaces in germany.. he would, but could not help!

        I am a international artist, mostly doing sculptures of complex bubble forms (all ‘outer’ forms) and themes of self organization for years.
        Outer bubble forms are relatively simple to calculate for me,
        yet still challenging to physically execute with stainless steel intersecting spheres.

        Since some months I am trying to do the ‘inner’ structures of bubbles in steel – and large too.
        So the challenge here is programming in Grasshopper.

        My Rhino skills are adequate, but in Rhino, Boolean differences will not allow me to calculate with Plateau’s Laws to get the proper ‘inner’ intersections!
        After much research, you seem to be the ONLY genius to be able to do this!!! Congrats!

        It is very kind that you posted the Grasshopper screen-shot.
        Still, I must ask- because it is over my head to re-create it,
        I wonder if I can interest you in some kind of cooperation- against interest, credit, fee, or even swap for an artwork?

        I have read the advice on this blog: “It would be good for you to try in order to learn before getting the entire file which was very hard work. Trust us, this is a much better way to learn the tool than getting finished scripts!” –

        than try to do their work as well !!!

        So, please have a look to my website to see I am serious and to be turned on I hope.
        See: the ‘Stemmer’ (bubble) series, and the ‘Self Organizing Still Life’ works (videos of interactive-granite sculptures).

        If you are interested / curios in any way to know more about the project – please contact me via my email posted on my website.

        Beyond similar interests and the joy of merging disciplines,
        I hope to make it worth your while in any way!

        Best Regards, David

  1. I’m having some trouble creating the bubble clusters and the bubble list. Do you have an idea of how should I make these components?

  2. Dear all,

    I am very happy to see people are still interested in my work and appreciate your questions. I look forward to your feedback as well.

    The clusters are in the first image. They are needed for the definition in the second image.

    It is all pretty basic, it’s the first Grasshopper definition I ever made, five years ago already. You should have no trouble recreating it. In case you have specific questions, please use the grasshopper forum and post a link here; I will reply there:


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s