This paper proposes a new approach for lofted B-spline surface interpolation to serial contours, where the number of points varies from contour to contour. The approach first finds a common knot vector consisting of fewer knots that contain enough degrees of freedom to guarantee the existence of a B-spline curve interpolating each contour. Then, it computes from the contours a set of compatible B-spline curves defined on the knot vector by adopting B-spline curve interpolation based on linearly constrained energy minimization. Finally, it generates a B-spline surface interpolating the curves via B-spline surface lofting. As the energy functional is quadratic, the energy minimization problem leads to that of solving a linear system. The proposed approach is efficient in computation and can realize more efficient data reduction than previous approaches while providing visually pleasing B-spline surfaces. Moreover, the approach works well on measured data with noise. Some experimental results demonstrate its usefulness and quality. (C) 2003 Elsevier Ltd. All rights reserved.