I came to SDRC in April, 1981. At that time, SDRC was developing the first version of its first geometric modeling product, GEOMOD. This solid modeler was based on a (planar) facetted representation of all geometry. Al Klosterman, Technical Director at SDRC at the time, had recognized several years earlier that the next generation modeler would have to be based on a “precise” geometrical form, one capable of precisely representing all commonly used engineering shapes, from lines and planes, through the conics and quadrics, to complex, free-form shapes. He was keenly aware of the potential benefits of using one canonical form for all geometrical shapes: greatly reduced software development and maintenance costs and reduced time to market, a common data exchange format, and the ability to associate engineering attributes with the geometry in a more consistent manner. Through his many contacts in industry and academia, and his extensive literature search, he was aware of the existence of NonUniform Rational B-Splines (NURBS), and he had already decided that this was destined to become the CAD/CAM geometry form of the future.
I was hired into the research group specifically to develop the NURBS technology. They were relatively familiar with uniform B-splines (nonrational), and they knew that to obtain NURBS curves and surfaces one had to multiply the (x,y,z) coordinates of the control points with weights, apply the usual evaluations to the four coordinates, and then divide the resulting weight back out. However, neither knots nor weights were really understood, and no theory, algorithms, or software had been developed for anything other than nonrational, uniform B-splines.
I was relatively new to this field; I had studied the books by Faux & Pratt, and Rogers & Adams, neither of which contain much material on B-splines. When I started in April, 1981, I was given deBoor’s book (A Practical Guide to Splines), Richard Riesenfeld’s dissertation, and several papers, e.g. Lane & Riesenfeld’s 1980 paper on Bezier subdivision. DeBoor’s book was particularly valuable to me in learning the mathematics of B-splines.
My first assignment was to figure out how to represent a full circle or a circular arc of arbitrary sweep angle as a NURBS curve. There had already been some amount of work published in the CAD/CAM literature on constructing conic and circular arcs of less than 180 degrees with rational polynomials and rational Bezier (e.g. Forrest, Ball, Rowin, Faux & Pratt). K.Versprille’s Ph.D. dissertation (1975), which to my knowledge was the first written account of rational B-splines, also contained a good deal of material on the conics and circular arcs as rational Beziers. I had discovered much of this material by late Spring and knew how to represent circular arcs of less than 180 degrees using rational Beziers.
However, the “big” problem, how to get past the 180 degree barrier (without negative weights), still eluded me. Then in early Summer, 1981, I discovered W. Boehm’s 1980 knot insertion paper. This simple, 3-page paper was a veritable gold mine. Until then, I had thought primarily in terms of single, uniform knots. But this paper made the utility and importance of multiple and nonuniform knots immediately clear. Within a short time, I was piecing rational Bezier segments together with multiple knots to obtain the full circle, and I was inserting knots to truncate segments to arbitrary sweep angles. I quickly found many more uses for knot insertion. In order to compute derivatives of NURBS curves and surfaces I inserted knots degree-fold times and then applied the well known formulas for the derivatives at the boundaries of Beziers. And of course, the implications of knot insertion for subdivision and refinement techniques were obvious. Interestingly, when I first presented my circle representation method to others at SDRC, it met with a cool reception; anything other than uniform, single knots was suspect. However, this suspicion quickly vanished.
In October, 1981, Al Klosterman and I went to the IGES meeting in St. Louis, where Boeing presented and proposed NURBS as an IGES standard. We were not aware of their work, but it was a very happy surprise for us. After the meeting, Al told me to attend all subsequent meetings and do everything possible to assist Boeing in obtaining IGES acceptance of NURBS. Although there was some opposition, IGES badly needed a new surface form, and ultimately, it was simply clear and undeniable that NURBS was the best method on the table (and anywhere in sight, for that matter). NURBS became an IGES standard in 1982; the meteoric rise and spread of NURBS was unstoppable.
Early in 1982, a consulting project at SDRC required a human head to be modeled using NURBS surfaces. We had forty digitized cross sections from a clay model of an “average” head. The modeled head was then to be used to model a face mask. It was a very difficult task, which ultimately resulted in our “skinning” process (i.e. lofting). It also led to a great deal more insight into the theory of NURBS, and it produced many more useful utilities, such as degree elevation, knot refinement, curve compositing, and various new curve and surface fitting algorithms.
By the end of 1982, Release 2.0 of GEOMOD was in the marketplace. It was a “hybrid” modeler, based on both NURBS and planar facets. All geometry was created in NURBS form and then facetted. Boolean operations utilized the facets, however, facetting could be refined at any time using the underlying precise NURBS geometry. This version of GEOMOD was tremendously successful. I should mention that I developed theory, algorithms, and raw, black box NURBS code. A colleaque, Eric Hanson, a UI, graphics, geometry, and systems wizard at SDRC took everything I did and turned it into a wonderfully new and exciting capability in GEOMOD.
SDRC made important and pioneering contributions to the development and spread of NURBS technology in the early 1980s:
- the management, specifically Al Klosterman, had the vision, the technical and management skills, and the tenacity to put SDRC’s product strategy on a NURBS basis and hold it there through the first few critical years
- we developed a substantial body of NURBS technology: theory, algorithms, and commercial-grade code
- the early commercial success of GEOMOD put NURBS modeling into the hands of hundreds of designers in scores of important companies, and they were designing complex, real-world mechanical parts, not vases and teapots; this success did not go unnoticed
- SDRC actively and vigorously promoted NURBS. They played key roles in getting NURBS adopted as standards in IGES and PHIGS ++. Many companies, including some of the major graphics hardware companies, came to SDRC during the early 1980s to hear us preach the gospel of NURBS; some went back home and acted on those sermons. We presented at many conferences, and in September, 1983, I published the first (to my knowledge) technical journal article on NURBS in IEEE CG&A.
Wayne Tiller
GeomWare, Inc.
Tyler, Texas
July 2, 1998