In daily life we all cut corners to achieve some goal and saving time (and money) in the process. We want to cut down on the messy details. Cut to the chase. However as the popular saying goes the Devil is in the details.
I think cutting corners is a good approach to tackling problems in research. Get to the basics and then once you have formed some intuition get down to the Nitti gritty details and meet the Devil. Working out the details will set you apart from the crackpot crowd. After all you have to prove you are right. A good start is to convince the Computer Devil that you are right.
You cannot argue with a computer.
The computer is always right in the end.
Your code either works or it doesn’t.
The computer cannot create but it can help you to create.
You control the computer but the computer keeps you in check and controls you.
So in a way it is some sort of Ancient Greek dialogue between a smart dude who wants to learn and some autistic dude who is always right. But in the end it is all zeros and ones when it comes to computers. No ancient Greek or Parisian French to be found there.
However I want to talk about something concrete I worked on and got some kudos for. Some fun stuff that is called Subdivision Surfaces. And it involves cutting corners: go and sharpen your knives and chisels.
Comics aside, I believe that we all know what a surface is. But just in case here are some examples: the top of a table, the sleeves of your shirt, the wings of an airplane, the walls of your house, the interface that separates water from air in your bathtub, etc. I am being overly pedantic. Surely everyone knows what a surface is. Not so. When I had to explain a subdivision surface patent at the USPTO office in Washington DC this is what happened. The first question from the patent clerk who rejected some basic claims was: “what is a surface?” All righty then! The patent was granted in the end.
Now that we all intuitively know what a surface is we can move on to subdivision surfaces. Before we get to that let me give you some insights about how some people like I work. It might help you or disgust you. The latter I just threw out there so you would continue reading.
Here is a common approach to solving research problems that I use all the time. Work in lower dimensions first and then progressively add one dimension at the time. In this case we want to solve a problem for surfaces which are inherently two dimensional: there are two independent directions. For example every point on earth is uniquely defined by longitude and latitude: two numbers. Nowadays you get these from GPS satellites on your smart phone. In the old days you would get the latitude from the angle to the Polar Star in the northern hemisphere and from the angle to the Southern Cross in the southern hemisphere. Longitude is trickier and involves clocks.
Look it up.
By the way Australia has both the Polar Star and the Southern Cross on its national flag. The flag of New Zealand on the other hand only has the Southern Cross on it. Yes! Now I can tell the difference between these two flags. These countries are busy working on cooler flags. New Zealand just held a referendum. In funky Canada where I live they changed their flag in 1965, the year I was born.
These days it is all about satellites. Thank you NASA. But knowing the process of how people discover things reveals creativity in science but also in art and helps you to distinguish between two national flags.
(links are here: http://www.21stcenturysciencetech.com/articles/fall01/navigators/navigators.html, https://en.wikipedia.org/wiki/Sextant and http://www.wirelessdictionary.com/wireless_dictionary_GPS_definition.html)
Ok so a surface is a two dimensional thing like the earth’s surface.
In math people love to generalize things like this.
A 0-dimensional surface is a set of points, a 1-dimensional surface is a set of possibly connected curves, a 2-dimensional surface is a pleonasm, a 3-surface … a 4-surface … a 5-surface and a 314286-surface are all called hyper-surfaces.
You cannot subdivide a 0-surface also called a point so forget about 0-subdivision-surfaces: problem solved. A point will remain a point.
You can subdivide a curve however. Ok let’s try to work with 1-surfaces first, I mean “cough!” curves.
Archimedes (287-212 BC) is well known for his principle and running around naked screaming “Eureka!” when he discovered it. This guy was a true mathematical genius. Little of his work was preserved. One of his writings was used by Christian Scholars who ran out of paper and wrote religious stuff over his mathematical palimpsest.
(or click here)
Thanks to science most of the original document has been recovered recently. In the palimpsest he invented what is now known as the calculus usually attributed to Newton and Leibniz.
Archimedes devised a very clever way to compute the number known as pi. This number shows up all over mathematics and is equal to one half of the circumference of a unit circle. Archimedes computed the number by approximating the continuous ideal Platonic circle with a sequence of regular polygons that bound it. This is illustrated in the following figure.
In the limit the bounds converge and unite to form the unit circle. And they lived happily ever after.
Archimedes invented Subdivision!
The value of pi he computed with a 96-gon is remarkably accurate to this day: it lies between 3 10/71 and 3 1/7. Sadly Archimedes was killed by a Roman soldier while he was in the middle of an even more accurate computation. Even despite the fact that the soldier’s superiors told him that he had to capture this genius and keep him alive. I guess he looked more like a bum than a genius. Then again most geniuses do not look like geniuses. And some geniuses look like bums.
Let’s fast forward to 1947 and meet the Swiss mathematician George de Rham. Ram who? He is another mathematical genius who is known for his monumental result showing the relationship between differential forms and cell complexes.
However, I want to focus on the following paper he wrote:
(Click on image for full link to the original article. Or click here.)
This is an amazing article. It is based on talks he gave to laymen. Here is a genius mathematician who made fundamental contributions to exotic abstract mathematics and then focusses on a very simple problem. What happens when you cut corners of a planar curve? He acknowledges Monsieur André Ammann in the article, a “practical” hammer maker from Geneva, who asked him what the math was behind building hammers using corner cutting (from French: marteau = hammer and courbe = curve).
That is what planted a seed in de Rham’s head and led him to write his beautiful paper.
The theory of subdivision was inspired by building hammers!
I love it.
Mathematical theories are hammers waiting for a practical nail to be hit. On the other hand practical nails are waiting for mathematical hammers to hit them. Research can be inspired by practical problems and research for the sake of research can turn out to solve practical problems. I have encountered both.
To de Rham’s surprise the way you cut corners creates a plethora of exotica: a dysfunctional family of curves. Most of them are freaks like fractals. Only for a special nice even cut do you get a smooth curve. These smooth curves are nowadays called B-splines of degree two.
If you are interested check out this Wikipedia page:
[Link here: https://en.wikipedia.org/wiki/De_Rham_curve]
De Rham only considered curves.
Surfaces are next.
Enter Daniel Doo and Malcolm Sabin. They created smooth surfaces by cutting corners. The hammer maker from Geneva would be proud. This picture illustrates this process that they invented.
Not quite a hammer but you get the gist. In the end you get a smooth surface using Doo-Sabin’s recipe. Well not quite. The non-quad (blue) corners will never be smooth unlike B-splines. That is: in a mathematical sense anyway. For all practical purposes they are smooth.
What is my contribution? This is how I describe it in my book “The Art of Fluid Animation.”
The concept of subdivision surfaces is best explained as a process. First you start with a discrete surface made of polygons. Then like a sadist you chop off corners; in the end after an infinite number of sadistic acts you end up with a nice smooth version of the discrete surface that you started with. In 1997 I showed that you could save the sadist a lot of time. You don’t have to chop off corners. Just compute eigenvalues and eigenvectors. Bring in the German Eigen’s to the rescue. From the initial surface you can get directly to the same surface that would have been reached by chopping off corners. Computer graphics researchers had done this before for the initial set of points. I showed that you could do it for all points: even an infinite number of them, directly from the initial set of polygons.
This works not only just in this case. There is a class of Subdivision Surfaces called Catmull-Clark Subdivision Surfaces. They are named after the inventors Ed Catmull and Jim Clark: two computer graphics legends. Catmull started Pixar and Clark founded Silicon Graphics. Their work generalized some smooth surface stuff that only worked for regular quad meshes to arbitrary shapes. This is how it works. It is a recursive process. At each step new points are introduced for each quadrilateral, “quad”, and then all the points are smoothed: the old ones and the new ones.
This is to be repeated ad infinitum. In the end you get a smooth looking surface.
For this I got a Technical Achievement Award from the Academy of Motion Picture Arts and Sciences.