AkimaSpline.h 639 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #ifndef _AkimaSpline_h_
  2. #define _AkimaSpline_h_
  3. #include "Point.h"
  4. #include <vector>
  5. class AkimaSpline
  6. {
  7. public:
  8. AkimaSpline();
  9. virtual ~AkimaSpline();
  10. virtual void fit( const std::vector< Point >& curve );
  11. virtual std::vector< Point > getValues( int steps );
  12. private:
  13. double diff3points( double t,
  14. double x0, double y0,
  15. double x1, double y1,
  16. double x2, double y2 );
  17. void hermiteSpline( double* x, double* y,
  18. double* d, int n );
  19. double interpolate( double t );
  20. double* m_c;
  21. };
  22. #endif