My old project for strange attractors
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.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
|
|
|
#ifndef PROJECTOR_HPP
|
|
|
|
#define PROJECTOR_HPP
|
|
|
|
|
|
|
|
#include "stfu/stf.hpp"
|
|
|
|
|
|
|
|
class Canvas;
|
|
|
|
|
|
|
|
class Projector {
|
|
|
|
private:
|
|
|
|
Canvas* canvas;
|
|
|
|
Projector* projector;
|
|
|
|
|
|
|
|
allocate();
|
|
|
|
deallocate();
|
|
|
|
|
|
|
|
protected:
|
|
|
|
unsigned int inputDimension;
|
|
|
|
unsigned int outputDimension;
|
|
|
|
|
|
|
|
double* projectedPoint;
|
|
|
|
|
|
|
|
double* range_min;
|
|
|
|
double* range_max;
|
|
|
|
double factor;
|
|
|
|
double* offset;
|
|
|
|
|
|
|
|
void project(const double* point);
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
Projector(unsigned int inputDimension, unsigned int outputDimension);
|
|
|
|
|
|
|
|
virtual ~Projector();
|
|
|
|
|
|
|
|
static Projector* createProjector(stfu::node const& projector, stfu::node const& system);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void init(const double* point);
|
|
|
|
void init_vector();
|
|
|
|
void init_range();
|
|
|
|
void update_range(const double* point);
|
|
|
|
void finish_range();
|
|
|
|
|
|
|
|
void plot(const double* point);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void output();
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif // PROJECTOR_HPP
|
|
|
|
|