Constructing a Swung Surface around a B-Spline Curve
A swung surface is a generalization of a surface of revolution in which the rotation around an axis is governed by a trajectory curve. This Demonstration shows how to generate a swung surface from a B-spline surface. See the Details for a full explanation.
A swung surface is a generalization of a surface of revolution. Let
be a profile curve defined in the , plane, and let
be a trajectory curve defined in the , plane. Denoting the nonzero coordinate functions of and by , , , , and , we define the swung surface by:
Geometrically, is obtained by swinging about the axis and simultaneously scaling it according to ; is an arbitrary scaling factor. Fixing yields curves having the shape of but scaled in the and directions.
Fixing , the iso-parametric curve is obtained by rotating into the plane containing the vector and scaling the and coordinates of the rotated curve by the factor . The coordinate remains unscaled. It follows from the transformation invariance property of NURBS that has a NURBS representation given by
for , , and .
This Demonstration assumes that the degree of the B-spline curve is 3 and that the initial control points of profile curve and trajectory curve are , , respectively.
 L. Piegl and W. Tiller, The NURBS Book, 2nd ed., Berlin: Springer–Verlag, 1997 pp. 455–457.