1 、在于处理器中添加宏定义
EIGEN_MALLOC_ALREADY_ALIGNED=0
2、添加头文件
#include “unsupported/Eigen/Splines/spline.h”
#include “unsupported/Eigen/Splines/SplineFitting.h”
#include “unsupported/Eigen/Splines/SplineFwd.h”
3、构造
QVector pts;
pts.push_back(vector3d(1,2,3));
…
Eigen::MatrixXd points(3,pts.size());
for(int i = 0;i< pts.size;i++)
{
points(0,i) = pts[i].x;
points(1,i) = pts[i].y;
points(2,i) = pts[i].z;
}
typedef Eigen::Spline<double,3,3> spline3d;
spline3d s = Eigen::SplineFitting::Interpolate(points,3);
4、使用
抽样取点
for(int i= 0;i<100; i++)
{
spline3d::PointType pt = s(0.01*i);
vector3d ptTemp(pt[0],pt[1],pt[2]);
…
}