You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
457 B
31 lines
457 B
1 year ago
|
|
||
|
#ifndef CSCI_BESSEL_H
|
||
|
#define CSCI_BESSEL_H
|
||
|
|
||
|
#include <vector>
|
||
|
#include <cmath>
|
||
|
|
||
|
using namespace std;
|
||
|
|
||
|
struct Point {
|
||
|
double x, y, z;
|
||
|
Point(double x = 0, double y = 0 ,double z=0):x(x),y(y),z(z){}
|
||
|
};
|
||
|
|
||
|
class Bessel {
|
||
|
|
||
|
public:
|
||
|
|
||
|
static vector<Point> run(const vector<Point>& points, double step);
|
||
|
|
||
|
private:
|
||
|
|
||
|
static int binomial(int n, int i);
|
||
|
|
||
|
static Point bezier_curve(const vector<Point>& points, double t);
|
||
|
|
||
|
};
|
||
|
|
||
|
|
||
|
#endif //CSCI_BESSEL_H
|