参考链接:https://kluge.in-chemnitz.de/opensource/spline/
主要功能:
给点若干点的前提下,拟合出尽量光滑的曲线,该曲线保证通过所有点。
该方法简单易用,优于多项式拟合
用法:
step1:
下载头文件,https://kluge.in-chemnitz.de/opensource/spline/spline.h
step2:
#include <cstdio>
#include <cstdlib>
#include <vector>
#include "spline.h"
int main(int argc, char** argv) {
std::vector<double> X(5), Y(5);
X[0]=0.1; X[1]=0.4; X[2]=1.2; X[3]=1.8; X[4]=2.0;
Y[0]=0.1; Y[1]=0.7; Y[2]=0.6; Y[3]=1.1; Y[4]=0.9;
tk::spline s;
s.set_points(X,Y); // currently it is required that X is already sorted
double x=1.5;
printf("spline at %f is %f\n", x, s(x));
return EXIT_SUCCESS;
}
官网效果图参考: