这个秋马算法对于一维插值,在[1]和[2],执行三次插值以生成具有连续一阶导数(C1)的分段多项式。该算法保留了坡度,避免了平坦区域的起伏。只要有三个或三个以上的连续共线点,算法就会用一条直线将其连接起来,就会出现平坦区域。为确保两个数据点之间的区域平坦,请在这两个点之间插入一个附加数据点。
当两个坡度不同的平坦区域相交时,对原始Akima算法所做的修改为坡度接近零的一侧提供了更多权重。此修改优先考虑更接近水平的一侧,这更直观,并避免过冲。(原始的Akima算法为两侧的点赋予相等的权重,从而均匀地分割波动。)
这个样条算法,则进行三次插值,得到具有连续二阶导数的分段多项式(C2)。其结果可与常规的多项式插值相比较,但在高程度的数据点之间不太容易发生剧烈振荡。不过,这种方法很容易受到数据点之间的过冲和振荡的影响。
与样条线算法相比,Akima算法产生的波动更少,更适合处理平坦区域之间的快速变化。下面使用连接多个平坦区域的测试数据来说明这种差异。