1、简介
轨迹点拟合的目的:使拟合后的曲线既光滑又同原来的点相差不远,运用的算法分为插值和逼近两大类。一般都用分段样条的方式,比如BSpline、Bezier等。本文用的三次Bezier来进行插值,主要集中在Bezier控制点的计算上
2、算法介绍
a、梯形原则
b、角平分线和高度系数
3、算法总结
上述算法有几个关键步骤:
计算前后两段的角平分线,进而得到两段的切线方向;
根据切线在拟合线段的同侧和异侧情况分别处理;
高度的选择或者根据切线的交点,或者根据拟合线段的长度比例。
4、算法应用
上述算法在点不是太密集的情况下,表现还是不错的。但是如果点比较密集,由于该算法是插值算法,所以拟合出来的曲线会比较扭。其实针对密集点或者是书写轨迹上的点,可以采用逼近+插值的方式。下面是二次和三次Bezier。对于书写速度慢导致的扭现象,可以采用判断弧长距离的方式规避,比如如果当前弧长大于10,才进行拟合。