Circle Packings – Week 2

Last Friday, Professor Bowers and I met with physicist Professor Feitosa, who has been studying the structure of foam bubbles as part of his ongoing research. Soap bubbles are a type of surface known as a minimal surface, which is one that locally minimizes its area, and therefore its energy as well. These minimal surfaces show up in all different physical places, from the quantum level all the way to the macro level. Galaxies, for example, move along minimum energy states. Additionally, these surfaces play a notable role in material sciences, and are important in designing materials with specific properties. Thus, people are interested in studying these surfaces for a number of reasons, and, examining the structure of soap bubbles seems like a natural way to study the geometry of these surfaces and allow us to further understand other areas of nature where these surfaces exist.

Soap bubbles satisfy what are known as Plateau’s laws, which describe the local geometry of the surfaces and junctions in a soap bubble cluster. Plateau’s laws state that:
  1. Each 2D surface has constant mean curvature.
  2. At each 1D junction of surfaces (a Plateau Border), exactly three surfaces meet, and they form angles of 120 degrees with each other.
  3. At each endpoint of a Plateau border, exactly four Plateau borders and six two-dimensional surfaces meet at an angle of approximately 109.5 degrees.

Any configuration other than those of Plateau’s laws is considered unstable, and a cluster will always tend to rearrange itself to conform to these laws. What is interesting is that these laws have been proven to hold for other minimal surfaces as well. Moreover, there are strong connections between minimal surfaces and circle packings: circle packings give us a way to compute minimal surfaces that satisfy Plateau’s laws. Particularly, a specific type of Voronoi diagram is a minimal surface.

Thus, what Professor Bowers and I plan to do this summer is to create a low-cost three-dimensional scanner that will allow us to take scans of soap films. Hopefully, doing so will enable us and others to better study these minimal surfaces and those which show up in other areas of nature as well. This will involve creating a program that computes the Voronoi diagram (and its dual-graph the Delaunay Triangulation) of a circle packing in three dimensions, and requires some projective geometry for representing some of this information in a more convenient and efficient notation.
In order to move towards this goal, this week I did a lot more work with Processing. To get more acquainted with the software, while also putting some of my new knowledge to use, I began by working on a project to compute a triangulation of a polygon in two dimensions. Afterwards, I then familiarized myself with three dimensional graphics in Processing as well. Once familiar with some of the 3D transformations, I created a program to compute the convex hull of points located in three dimensional space.


Amidst the coding, I have still been getting up to speed on all of the mathematical theory behind this stuff, with the help of some extremely informative learning sessions with Professor Bowers. This week, we focused on homogeneous coordinates and the oriented projective space in particular. Finally, today I also got set up on git, and will start working on integrating my convex hull code with some of Professor Bowers code, in order to compute the convex hull of points known as the “conical caps” on a sphere.

I can’t believe we are already two weeks in — I’m hoping the next six weeks are just as jam-packing with learning as these two have been, but also that they don’t fly by as fast!


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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s