A novel approach for defining and fairing B-spline curves and surfaces was developed in this work. The approach uses the error between the B-spline approximation solution and the data vertices to iteratively adjust the control vertices and hence the new curve or surface.
In the first part of the work, the errors are added iteratively to the original data vertices to generate a new set of B-spline interpolation control vertices. Consequently, the B-spline interpolation problems can be solved by the B-spline approximation method. In addition, the errors can be easily controlled to modify the control vertices at any region of the specified area. This ensures that the resulting curves or surfaces meet design requirements, especially the criterion for smoothness.
In the second part of the work, an iterative fairing algorithm, based on checking the nature of the control polygon or polyhedron, is developed. For curves, the sign of the cross-product at the control polygon vertices is used as a tool to detect the fairness of the original data. For surfaces, the unfair regions can be identified by irregular distributions of the B-spline error sign matrix.
This work was done as a fourth order (degree three) B-spline, because generally, in practical applications, only continuities up to a second degree (curvature) are required. This approach has found a wide application in representing curves and surfaces, which range from analytical functions to human face to kayak hulls.