Teaching Curve and Surface Design in
Computer Graphics and Related Courses
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:
The following shows the effect of changing the weight of a selected control point. The weight of the selected control point is 1. The left figure shows the result of increasing the weight to 5 (the curve is pulled toward the selected control point), and the right figure shows the result of decreasing the weight to 0.2 (the curve is pushed away from the selected control point).
The following shows the effect of subdividing the left curve at 0.45 into two curve segments, each of which has its own control points and knot vector. Thus, one can modify each component without affecting the other.
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.
Check the following for additional information
This page has been accessed
since January 1, 1999.