A method for converting the surface of a generalized cylinder into a B-spline surface

Abstract Generalized cylinders are objects defined by sweeping an arbitrary 2D closed contour along an arbitrary 3D trajectory, while simultaneously scaling the contour in two perpendicular directions. A simple method is given that converts the surface of a generalized cylinder of which the contour, the trajectory, and the scale functions are defined by B-spline curves, into a B-spline surface.