为了构造逼近稠密有序点列的初始曲线,提出一种B样条曲线逼近的节点配置算法.以初始曲线的曲率极值点和点列的2个端点作为特征点的种子点,利用最小二乘法构造逼近种子点的B样条曲线,并根据B样条曲线段的复杂度进行特征点的细分和节点矢量的更新;重复这一过程,直到逼近的误差小于给定的阈值,实现B样条曲线的精确逼近.实例结果表明,在相同的给定阈值条件下,文中算法可比Park算法、Piegl算法和Li算法减少更多的控制顶点,逼近曲线的控制顶点数等于细分后的特征点数,且逼近曲线的节点分布合理.
A knot placement algorithm is proposed to construct a B-spline curve approximating to a dense and ordered point set. Curvature extreme value points of the curve and two end points of the point set are viewed as seed points to construct a B spline curve approximating to the seed points by the least-squares method and accomplish feature points' refinement and knot vectors' update by the complexity of the curve segment. This process is repeated to obtain an accurate approximating curve until the maximum error is less than the given error bound. Under the same error bound, experimental results showed that our algorithm can reduce more control points than Park's approach, Piegl's approach and Li's approach. The numbers of control points of the curve is equal to that of the feature points after refinement, and the location of the knots is reasonable.