我需要插值函数来插值点:
var times = new List<double>();
var offsets = new List<double>();
..
..
..//I fill times and offsets arrays with some points
..
var newTime= splineInterpolate(cursorOffset, offsets.ToArray(), times.ToArray())
答案 0 :(得分:1)
这取决于您想要的插值类型。如果您不希望插值函数通过控制点,则可以使用Bezier curve(您可以选择曲线的顺序)。
如果您希望曲线通过控制点,则一个受欢迎的选择是cubic Hermite spline。有很多类型的hermite splines,如cardinal和catmull-rom样条(C1和C2连续)。
如果您只是进行简单的Google搜索,那么您将在C#中提供数千个splines结果。