Just how did NURBS come to be? - by Dr. Ken Versprille

by MLombard ‎09-16-2013 04:00 AM - edited ‎09-16-2013 05:10 PM (8,124 Views)

[editor]: Sometimes its easy to forget that the fathers of modern CAD walk among us. We use the tools daily, and often fail to give credit to the handful of people who made all of this possible. I was fortunate at Solid Edge University to meet Dr. Ken Versprille, the inventor of NURBS - the system that makes solid modeling possible. He is now an executive consultant at CIMdata. You'll also find him to be personable and down-to-earth - a genuinely nice guy.

 

So today I'm glad to present a guest blog written by Dr. Versprille, who adds his personal flare to how the whole thing came to be, and some predictions for the future.

 

Just how did NURBS come to be?

 

I am often asked: “Just how did NURBS come to be?” Many times the question will be posed with the additional phrase, “Why?” In truth, there is no one sentence answer to these questions. It is more a story of being in the right place at the right time with the right background and interests to pick up on the opportunity offered to me.

 

In 1969, I was finishing up my undergraduate degree in mathematics at the University of New Hampshire. I had come east from my home in Rochester, New York because of my love for the New England landscape and a small college town experience — something to this date I have never regretted. I had a love and a knack for math, but to be honest, was getting bored by all the theory. I wanted to experience its application in real problems. A turning point came one day in a math class when the professor entered the room and announced, “Today, we will prove that a proof can be proven!” As I’ve told the story before, the next sound was a “thud” when my head hit the desk as I muttered, “No … no … no!”

 

I always intended to pursue an advanced degree and that day I vowed it would not be in pure math. When the time came to look at graduate schools, I remembered a small, non-credit class I had taken to learn computer programming and how much I enjoyed it. Computer Science was just becoming a college discipline in the late 60s. In searching schools I realized no one yet offered an undergraduate degree in computer science, but there were a few that had graduate programs. Since at this point I was on my own financially all my applications asked for scholarship money. While I got accepted at a number of schools, only one offered a full scholarship (a National Science Foundation grant) the first year, and promised in subsequent years that tuition would be paid together with an additional living expense stipend for doing graduate student teaching. That school was Syracuse University, of which I was already familiar in that it was only 60 miles from my home town and I had a cousin going there. Fate strikes the first time.

 

Upon arriving at Syracuse, all graduate students were assigned a graduate student advisor by the school. The first time I met with mine, I was introduced to Steven A. Coons. Fate strikes the second time. It seems Steve was famous for authoring the “Coon’s Patch,” a freeform surface geometry shape for computer-aided design. Never heard of it! Never even heard of computer-aided design. But being a savvy student and having to register for at least one elective that first semester, I signed up for Steve’s class. By the third session, I know what I wanted to do for my career — work in computer-aided modeling. The math, the graphics, the unlimited applications. I was hooked.

 

Long story, short — a few years earlier, a French engineer, Pierre Bézier, authored a uniquely new formula for freeform curves and surfaces, aptly named Bézier curves and surfaces. Steve Coons was enamored with the new approach and when William Gordon, from the General Motors Research Lab and author of the Gordon surface, joined the faculty, they and a small group of graduate students, myself included, set out to explore and research on the mathematics and the methodology. Soon Robin Forrest from the Computer Lab at Cambridge University joined us for a period of time. Another graduate student, Rich Riesenfeld teamed with Gordon and their work resulted in Rich’s Ph.D. dissertation introducing B-Splines, a generalization of the Bézier approach. Forrest taught me to follow a natural progression in taking Rich’s work and expanding on it by going rational. If you think you’ve seen long equations, try writing out a rational B-Spline. I tell a story that I had to sit in one of the university’s cafeterias in order to have a long enough table to write out the equations. People avoided me like the plague!

 

In working on extending B-splines into rational equations, I also wrote the formula in its most general form, that is, using non-uniform parameterization. Hence the name, Non-uniform Rational B-Splines and my own Ph.D. dissertation.  But not “NURBS.” I never called it that.

 

A number of years later, I suddenly started getting checks from the agency that stores all Ph.D. dissertations and can make copies for a small fee. It seems there was a sudden interest in my paper. As I was informed later, when Rich Riesenfeld went off to become a professor at the University of Utah, one of his students learned of our work and went on to work at Boeing. Fate strikes again!

 

It seems Boeing was looking for a mathematical form that could exactly represent numerous other formulas their engineers had authored over the years. And my work fit the bill. But one of the Boeing managers got tired of pronouncing the full name and coined the acronym, NURBS. If you are interested in knowing more of the story, I highly recommend the book, “An Introduction to NURBS with Historical Perspective” by David F. Rogers.

 

So that’s how NURBS came to be, but the “why” takes more time to explain. Bézier’s work was a fundamental breakthrough in how to define and manipulate freeform curves and surfaces. Prior to that, all the inputs to the equations of the day were cryptic numbers and not very user friendly. Bézier introduced a simple geometric form, the polygon and polygon net, to define and control shape. There was a flaw however. Any change to a Bézier caused a change to ripple throughout the entire shape. While admittedly the change lessened the further from the edit position, it still was a change. Looking for a solution to that issue is what consumed Riesenfeld’s work and thus extended Bézier to B-Splines.

 

It turns out that industry was not jumping on to the new math, neither Bézier nor B-Splines. They were still using something called a “polyconic” which was a string of conic sections, each piece of which could be drawn using old drafting board techniques. At the heart of my NURBS dissertation, I showed that conic sections could be represented exactly with a NURB. That was the key -- exactly. The “why” of my work goes back to my frustrations in that math class as an undergraduate. I wanted to apply the math. By showing an exact fit to the polyconic method of current design, I was able to show a path to the new math. It would get used. It would get applied!

 

Today, the question of history-based modeling versus direct modeling is a hot topic in the industry. I can reflect on that debate and remember back when CAD modeling was all done in wireframe model (no one had a viable solids modeling solution yet) and the modeling interaction method was all direct modeling, or what was called explicit modeling back then. Solids modeling brought the history-based method front and center in the industry. The debate today really reflects that each method has its benefits and its problems. When looking at that debate through the narrow lens of freeform surface modeling, however, there is a definite leaning toward direct modeling. It was always apparent to me that even at the height of history-based, parametric modeling, the commercial CAD vendors were doing very little trying to demonstrate dimension-driven or constrained geometry related directly to freeform surface faces of a solid. It didn’t seem to be a useful match. How do you define constraints on a surface polygon net related to the rest of the model? So in my mind the conclusion is that in an effective solution you need both history-based and direct modeling tools.

 

Various CAD vendors have tried to move in that direction. Many have added a limited number of direct modeling operations to their predominately history-based applications. Others have created separate applications and move data between them. Of them all, the most intriguing is synchronous technology from Siemens PLM Software. It’s interesting ability to blend both methods in the same model under user control provides users with a powerful design tool.

 

What does the future hold? Well, I am sure the debate will continue. I expect sub-division surfaces techniques will enter the fray, but I don’t expect they will take over totally. The “canonical form” aspects of NURBS that originally enticed Boeing is still too strong. And look for point cloud mathematics from the gaming and entertainment industries jumping into the ring more often. I, however, will still be here waving my flag “It’s all about the application of the math. Not just the math!”

-Ken Versprille, Ph.D.

 

Comments
by Siemens Valued Contributor Siemens Valued Contributor
on ‎09-16-2013 11:10 AM

Matt,

 

Being a former math major turned engineer, I love this post.

 

Dr.Versprille,

 

Thank you so much for sharing!

 

by Siemens Dreamer Siemens Dreamer
on ‎09-16-2013 03:18 PM
Awesome Post! We need to get Dr. Versprille to shout that last bit about Solid Edge a little louder Smiley Happy
by Legend
on ‎09-17-2013 09:13 AM

Can we ask Dr. Versprille to come back and explain about manifold errors? I've always been curious why they happen.

by MLombard
on ‎09-17-2013 10:54 AM

Dr. V volunteered his email (k.versprille[at]cimdata[dot].com) so that anyone with questions could write to him directly. I'd like to ask that if you write to him and get an answer, it would be great if you'd post the answer here so everyone can see it. If you're wondering about stuff, a lot of the rest of us probably are as well.

by Siemens Theorist Siemens Theorist
on ‎09-18-2013 11:29 AM
A light just went on! Thanks Ken great post.
by Dreamer
on ‎09-18-2013 02:21 PM
Thanks for sharing!
Labels