An ACM SIGCSE '99 Workshop

Time: Wednesday, March 24, 7:00PM to 10:00PM
Place: University of New Orleans Downtown campus

Teaching Curve and Surface Design in
Computer Graphics and Related Courses

Ching-Kuang Shene and John L. Lowther
Department of Computer Science
Michigan Technological University

Computer graphics instructors frequently skip the curves and surfaces chapters due to the problem of "too much mathematics". Fortunately, with our tools DesignMentor, we can take an intuitive approach, avoid the use of the involved mathematics, and get to the core of curve and surface design quickly. These tools have been classroom tested by our junior and senior students and the results have been very successful.

In this workshop all four types of parametric curves and surfaces (e.g., Bézier, rational Bézier, B-spline and NURBS) will be covered. Our discussion starts with the hierarchy of these curves and surfaces:

For each curve type, we shall discuss the meaning and the merit of its definition and important and fundamental properties:

For the surface part, we shall start with the meaning of tensor product surfaces and focus on B-spline and NURBS surfaces. Almost all properties and algorithms for curves have natural and easy extensions to surfaces. For example, increasing (resp., decreasing) the weight of a selected control point will pull (resp., push) the surface toward (resp., away) from that control point. The following figures illustrate the effect of increasing the weight of the selected control point from 1 to 10. Both figures show the control points and control nets of the surfaces.

The most interesting application of the theory is the cross section technique. This technique reduces the design of a surface to the design of a few curves, and hence simplifies the whole design process. The cross section design technique requires one or more profile curves and a trajectory curve. The surface is constructed by sliding the profile curves, possibly with transformations (i.e., rotation and scaling), along the trajectory curve. Many classical surfaces can be constructed this way. This includes ruled surfaces, surfaces of revolution, swung surfaces and skinned surfaces. All of them will be discussed in some detail.

In our system, the input curves are NURBS ones and the output is a NURBS surface. The following shows the generation of a hyperboloid of one sheet as a ruled surface from two circles:

The following shows the construction of a vase as a surface of revolution from its profile curve:

The following is a swung surface. It is constructed by swinging an up-side-down omega symbol about a squarish curve. As a result, the up-side-down omega curve provides the profile in the vertical direction, while the squarish curve gives the shape of the horizontal direction.

All figures shown on this page are screenshots of DesignMentor, which is available free and will be distributed at the workshop. If you are interested, please visit our site listed below to download a beta version. Currently, it is available on Sun, SGI and Linux (x86) platforms. Windows 95/NT versions are under development and will be available soon.

DesignMentor Version 1 will be available soon.

Check the following for additional information

Course Information: CS390 Introduction to Computing with Geometry
Curve System Manual
Surface System Manual
Visit the Geometric Computing Group and Download a Copy of DesignMentor
Author's Page
Dr. Ching-Kuang Shene
Dr. John L. Lowther
Other Pages
Michigan Technological University
Department of Computer Science
Department of Computer Science Course Information

Acknowledgments

This page has been accessed times
since January 1, 1999.