mirror of
https://github.com/beefytech/Beef.git
synced 2025-07-04 15:26:00 +02:00
Initial checkin
This commit is contained in:
parent
c74712dad9
commit
078564ac9e
3242 changed files with 1616395 additions and 0 deletions
57
BeefySysLib/util/CubicFuncSpline.h
Normal file
57
BeefySysLib/util/CubicFuncSpline.h
Normal file
|
@ -0,0 +1,57 @@
|
|||
#pragma once
|
||||
|
||||
#include "Common.h"
|
||||
#include "Point.h"
|
||||
#include <vector>
|
||||
|
||||
NS_BF_BEGIN;
|
||||
|
||||
class CubicFuncSpline
|
||||
{
|
||||
public:
|
||||
std::vector<Point2D> mInputPoints;
|
||||
float* lagpoly;
|
||||
float* intpoly;
|
||||
float* slopes;
|
||||
|
||||
protected:
|
||||
void Lagrange();
|
||||
void ComputeSplineSlopes();
|
||||
|
||||
public:
|
||||
CubicFuncSpline();
|
||||
~CubicFuncSpline();
|
||||
|
||||
void AddPt(float x, float y);
|
||||
int GetLength();
|
||||
|
||||
void Calculate();
|
||||
float Evaluate(float x);
|
||||
|
||||
};
|
||||
|
||||
class CubicUnitFuncSpline
|
||||
{
|
||||
public:
|
||||
std::vector<float> mInputPoints;
|
||||
float* lagpoly;
|
||||
float* intpoly;
|
||||
float* slopes;
|
||||
|
||||
protected:
|
||||
void Lagrange();
|
||||
void ComputeSplineSlopes();
|
||||
|
||||
public:
|
||||
CubicUnitFuncSpline();
|
||||
~CubicUnitFuncSpline();
|
||||
|
||||
void AddPt(float y);
|
||||
int GetLength();
|
||||
|
||||
void Calculate();
|
||||
float Evaluate(float x);
|
||||
|
||||
};
|
||||
|
||||
NS_BF_END;
|
Loading…
Add table
Add a link
Reference in a new issue