三次样条曲线算法的改进及语言实现摘要针对常规三次样条插值存在的不足,本文提出了结合微分弦长积累的改进型算法并给出了程序。该算法使得各给定的相邻离散点区间段能保证至少二阶导数连续,从而大大地提高了拟合曲线的光滑度。关键词样条曲线,均方曲率,积累弦长,边界条件,Java1 引 言美国数学家I.J.Schoenberg于1946年提出的B样条曲线,现在已得到了广泛的应用。在实际应用中,比较多的是采用3次B样条曲线。在文献1中给出了平面坐标系下的三次B样条插值曲线的方程式三次B样条插值在各种可能的插值中使得均方曲率为最小,即在一定意义下最为“光顺”。它可以保证各相邻离散样点区间段直到二阶导数连续,因而光滑度较高。所以该插值法也是在工程应用中使用得最多的一种插值方法。但在使用中我们发现,三次B样条插值也存在着一大缺陷,它不是局部化的,每个节点都会影响到全局,虽然影响是随着远离该点而衰退的,但是由于存在着误差的远距离扩散,使得样条插值也会有“多余”的波动,特别是在间距不均匀以及其它一些特殊场合更为显著1。