In this paper, we describe an algorithm for fitting an analytic and bandlimited closed or open curve to interpolate an arbitrary collection of points in $\mathbb{R}^{2}$. The main idea is to smooth the parametrization of the curve by iteratively filtering the Fourier or Chebyshev coefficients of both the derivative of the arc length function and the tangential angle of the curve, and applying smooth perturbations, after each filtering step, until the curve is represented by a reasonably small number of coefficients. The algorithm produces a curve passing through the set of points to an accuracy of machine precision, after a limited number of iterations. It costs O($N\log{N}$) operations at each iteration, provided that the number of discretization nodes is $N$. The resulting curves are smooth and visually appealing, and do not exhibit any ringing artifacts. The bandwidths of the constructed curves are much smaller than those of curves constructed by previous methods. We demonstrate the performance of our algorithm with several numerical experiments.
翻译:本文描述一种算法,用于拟合解析且带限的闭合或开放曲线,以插值$\mathbb{R}^{2}$中任意点集。核心思想是通过迭代滤波弧长函数导数与曲线切角的傅里叶或切比雪夫系数来平滑曲线参数化,并在每次滤波步骤后施加平滑摄动,直至曲线由足够少的系数表示。算法在有限次迭代后,能以机器精度生成经过点集的曲线。每次迭代的计算成本为O($N\log{N}$),其中$N$为离散节点数。所得曲线光滑且视觉无振铃伪影,其带宽远小于传统方法构建的曲线。我们通过多项数值实验展示了算法的性能。