When you see the smooth curves of a spline surface twisting and bending as if they were organic, you cannot help but wonder at the naturalness and the grace of the image. And if you're a programmer, you are even more amazed, knowing that these gently flowing forms are produced by the rigid march of bits and bytes through the cold and artless gates of the cpu/gpu. As humans we should be proud that we are sensitive enough and smart enough to harness the power of our logic in the creation of beauty. To me the spline represents one of our best efforts to do that.
This page is my personal expression of thanks to all the people who brought splines to the world.. Bezier, de Casteljau, deBoor and many more. My plan is to present a short tutorial for programmers who want to understand splines and how to program them.
Unfortunately, years ago, I was able to make spline surfaces before I knew what I was doing. The reason for this was the availability of various 'canned' spline functions that did not require anything more than some plugged in numbers. Luckily, those functions had limited capabilities, so eventually I had to grouse around to find out how to make my own splines. It was a struggle because I was not paying enough attention to the simple ideas behind the spline and was getting too deeply involved in the math/arithmetic. But with the help of books, the web and the generosity of people in the openGL group in usenet, I finally grasped the central concepts.
Stark new concepts require digestion time for everyone, but if a concept is something we have seen/used in some other manifestation, then I think we can grasp it best by treating it as a new variation on an old theme. I will salt this discussion with some possible things you have likely seen before in order to help you to connect with the concepts.
Click Here for an overview.