为了求解非均匀三次B样条曲线插值问题,基于解线性方程组的Jacobi迭代方法提出一种渐进迭代插值算法——Jacobi-PIA算法.该算法以待插值点为初始控制多边形得到第0层的三次B样条曲线,递归地求得插值给定点集的三次B样条曲线;在每个迭代过程中,定义待插值点与第k层的三次B样条曲线上对应点的差向量乘以该点对应的B样条系数的倒数为偏移向量,第k层的控制顶点加上对应的偏移向量得到第k+1层的三次B样条曲线的控制顶点.由于Jacobi-PIA算法在更新控制顶点时减少了一个减法运算,因而运算量更少.理论分析表明该算法是收敛的.数值算例结果表明,Jacobi-PIA算法的收敛速度优于经典的渐进迭代插值算法,与最优权因子对应的带权渐进迭代插值算法基本相同.
Based on the Jacobi iterative method for solving the system of linear equations, we propose a progressive iterative approximation method for interpolating a set of points by non-uniform cubic B-spline curves,(abbr. Jacobi-PIA). In Jacobi-PIA, the control points of the initial cubic B-spline curve are set as the points to be interpolated, then control points of the interpolation cubic B-spline curve are derived in iteration manner. In each iteration, we define the displacement vector as the difference of the point to be interpolated and its corresponding point on the cubic B-spline curve in the previous level, and then the control points of the current level are derived by those of previous level adding the corresponding displacement vector. Jacobi-PIA algorithm has less computation than existed PIA algorithm because of cutting down a subtraction in updating the control points. Theoretical analysis shows that Jacobi-PIA algorithm is convergent. Numerical examples show that the rate of convergence of Jacobi-PIA is faster than that of PIA algorithm, and is almost equal to that of the weighted PIA algorithm with the best weight.