|
|
|
#ifndef ATTRACTOR_HPP
|
|
|
|
#define ATTRACTOR_HPP
|
|
|
|
|
|
|
|
#include <iostream>
|
|
|
|
#include <fstream>
|
|
|
|
#include <cstdlib>
|
|
|
|
#include <string>
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
#include "stfu/stf.hpp"
|
|
|
|
#include "Projector.hpp"
|
|
|
|
#include "AttractorKernel.hpp"
|
|
|
|
|
|
|
|
#include "kernels/Logistic.hpp"
|
|
|
|
#include "kernels/Lorenz3D.hpp"
|
|
|
|
#include "kernels/Polynomial.hpp"
|
|
|
|
#include "kernels/PolynomialA3D.hpp"
|
|
|
|
#include "kernels/Unravel3D.hpp"
|
|
|
|
|
|
|
|
class Projector;
|
|
|
|
|
|
|
|
// TODO : Verschillende classas AttractorSystem en Attractor maken?
|
|
|
|
|
|
|
|
class Attractor {
|
|
|
|
public:
|
|
|
|
|
|
|
|
AttractorKernel * myAttractor;
|
|
|
|
|
|
|
|
std::vector<Projector *> projectors;
|
|
|
|
|
|
|
|
public:
|
|
|
|
Attractor();
|
|
|
|
Attractor(const char* const filename);
|
|
|
|
|
|
|
|
//void init(unsigned int dimensions, FormulaChoice formula, unsigned int orde);
|
|
|
|
|
|
|
|
|
|
|
|
void init_range();
|
|
|
|
|
|
|
|
// TODO : lyapunov exponent uit rekenen
|
|
|
|
bool is_chaos();
|
|
|
|
|
|
|
|
void iterate();
|
|
|
|
|
|
|
|
void plot();
|
|
|
|
void output();
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif // ATTRACTOR_HPP
|
|
|
|
|