#include "catmullromspline.h" namespace segl { CatmullRomSpline::CatmullRomSpline(float _s) { cr = new Matrix(4, 4); setS(_s); } void CatmullRomSpline::makeMatrix() { cr->set(-s , 0, 0); cr->set( 2-s , 0, 1); cr->set( s-2 , 0, 2); cr->set( s , 0, 3); cr->set( 2*s , 1, 0); cr->set( s-3 , 1, 1); cr->set( 3-2*s, 1, 2); cr->set(-s , 1, 3); cr->set(-s, 2, 0); cr->set( 0, 2, 1); cr->set( s, 2, 2); cr->set( 0, 2, 3); cr->set( 0, 3, 0); cr->set( 1, 3, 1); cr->set( 0, 3, 2); cr->set( 0, 3, 3); } Matrix CatmullRomSpline::getPosition(float u, Matrix &controlpoints) { // Matrix controlpoints(4, a.getN()); // for(int i=0; i