Soap bubbles are an enigmatic phenomena of soapy water that forms a sphere with an iridescent surface, but more importantly they are enjoyed by all ages. Blowing bubbles is a great childhood past time, while as adults soap bubbles can help solve complex mathematical problems. For instance when bubbles merge they will adopt the shape with the smallest possible surface are, awesome!
So needless to say, to try to create an artificial image of many soap bubbles accurately could prove to be a challenge. The first being how to build a CAD model that accurately depicts bubbles. To do so we utilized not just a versatile CAD program, but also some custom scripting to build the model.
First thing is how to instill randomness in an environment artificially, like what exists in nature. We created a surface in CAD and then implemented a random point cloud throughout that surface in the x, y, z directions. These points were then fed into a Voronoi component, which is a mathematical expression that calculates the decomposition of a certain space. All of this numeric data, along with varying radius information was fed into several sphere components and then finally into a union component that would calculate and merge the various spheres or bubbles as they grew and changed size.
Once we had a population of bubbles we put them into a bounding box and applied various physical loads to the bubbles to create a variety of shapes and sizes just like you would see in nature.
After all the actual physical data had been built in CAD the next challenge was to create the cool iridescent visual representation of a soap bubble. We took the complex CAD model and dipped it into a high powered rendering environment. From there we were able to throw light from a common source onto the bubble surfaces as if the bubbles were outside in the sun. This while picking up any reflective imaging such as that of blue sky and clouds, while also being transparent in nature, gave us the image we were looking for.
Several images were constructed from a locked camera view and then overlaid in photoshop for final adjustments in lighting and image. The end result is seen above. Now wasn't that a waste of time!
Thanks for checking this out