tested stuff
This commit is contained in:
parent
b056e48cff
commit
3ffe76cf2c
5 changed files with 51 additions and 37 deletions
38
attractors/testAttractor.stf
Normal file
38
attractors/testAttractor.stf
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
|
||||||
|
input: "attractor"
|
||||||
|
output: "png"
|
||||||
|
|
||||||
|
attractor: {
|
||||||
|
type: "polynomial"
|
||||||
|
dimensions: "3"
|
||||||
|
orde: "2"
|
||||||
|
|
||||||
|
iterations: "1000000"
|
||||||
|
|
||||||
|
parameters: {
|
||||||
|
:"1.0"
|
||||||
|
:"0.0"
|
||||||
|
:"2.0"
|
||||||
|
:"0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
projector: {
|
||||||
|
type: "lineair map"
|
||||||
|
|
||||||
|
domainDimension: "3"
|
||||||
|
codomainDimensions: "2"
|
||||||
|
|
||||||
|
matrix : {
|
||||||
|
:{ :"1" :"0" :".2" }
|
||||||
|
:{ :"0" :"1" :".2" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
png: {
|
||||||
|
width: "3200"
|
||||||
|
height: "3200"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/media/Data/Code/C/AwesomeAttractor/Attractor.cpp|80|error: cannot convert ‘std::basic_string<char, std::char_traits<char>, std::allocator<char> >’ to ‘const char*’ for argument ‘1’ to ‘double atof(const char*)’|
|
|
@ -8,14 +8,15 @@
|
||||||
|
|
||||||
#include "Logistic.hpp"
|
#include "Logistic.hpp"
|
||||||
|
|
||||||
Logistic::Logistic() {
|
Logistic::Logistic():
|
||||||
|
myParameters(NULL), vectorNew(NULL), vectorOld(NULL) {
|
||||||
dimension = 3;
|
dimension = 3;
|
||||||
|
|
||||||
init();
|
init();
|
||||||
}
|
}
|
||||||
|
|
||||||
Logistic::Logistic(const unsigned int dimension):
|
Logistic::Logistic(const unsigned int dimension):
|
||||||
dimension(dimension) {
|
myParameters(NULL), vectorNew(NULL), vectorOld(NULL), dimension(dimension) {
|
||||||
init();
|
init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,10 @@
|
||||||
|
|
||||||
#include "Polynomial.hpp"
|
#include "Polynomial.hpp"
|
||||||
|
|
||||||
Polynomial::Polynomial() {
|
using namespace std;
|
||||||
|
|
||||||
|
Polynomial::Polynomial():
|
||||||
|
myParameters(NULL), vectorNew(NULL), vectorOld(NULL) {
|
||||||
dimension = 3;
|
dimension = 3;
|
||||||
orde = 2;
|
orde = 2;
|
||||||
|
|
||||||
|
@ -16,11 +19,11 @@ Polynomial::Polynomial() {
|
||||||
}
|
}
|
||||||
|
|
||||||
Polynomial::Polynomial(const unsigned int dimension, const unsigned int orde):
|
Polynomial::Polynomial(const unsigned int dimension, const unsigned int orde):
|
||||||
dimension(dimension), orde(orde) {
|
myParameters(NULL), vectorNew(NULL), vectorOld(NULL), dimension(dimension), orde(orde) {
|
||||||
init();
|
init();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Polynomial::init(){
|
void Polynomial::init() {
|
||||||
calculateNumberOfParameters();
|
calculateNumberOfParameters();
|
||||||
if ( myParameters != NULL ) {
|
if ( myParameters != NULL ) {
|
||||||
delete myParameters;
|
delete myParameters;
|
||||||
|
@ -48,13 +51,14 @@ void Polynomial::init(){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Polynomial::calculateNumberOfParameters(){
|
void Polynomial::calculateNumberOfParameters() {
|
||||||
double n_coef = orde + 1;
|
double n_coef = orde + 1;
|
||||||
for (unsigned int i = 2; i <= dimension; i++) {
|
for (unsigned int i = 2; i <= dimension; i++) {
|
||||||
n_coef = n_coef*(orde + i)/(i - 1);
|
n_coef = n_coef*(orde + i)/(i - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
numberOfParameters = (unsigned int) n_coef;
|
numberOfParameters = (unsigned int) n_coef;
|
||||||
|
cout << numberOfParameters << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Polynomial::iterate() {
|
void Polynomial::iterate() {
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
#define POLYNOMIAL_HPP
|
#define POLYNOMIAL_HPP
|
||||||
|
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
#include "../AttractorKernel.hpp"
|
#include "../AttractorKernel.hpp"
|
||||||
|
|
||||||
|
|
32
main.cpp
32
main.cpp
|
@ -5,40 +5,10 @@ using namespace std;
|
||||||
#include "Canvas.hpp"
|
#include "Canvas.hpp"
|
||||||
#include "Projector.hpp"
|
#include "Projector.hpp"
|
||||||
|
|
||||||
#include "AttractorKernel.hpp"
|
|
||||||
#include "kernels/Lorenz3D.hpp"
|
|
||||||
|
|
||||||
// TODO : Allemaal files inlezen, voor makkelijker gebruik
|
|
||||||
|
|
||||||
int main(int argc, char *argv[]) {
|
int main(int argc, char *argv[]) {
|
||||||
/*
|
|
||||||
AttractorKernel * mijnAttractortje;
|
|
||||||
mijnAttractortje = new Lorenz3D();
|
|
||||||
AttractorKernel &attractor = *mijnAttractortje;
|
|
||||||
|
|
||||||
attractor.parameter(0) = 1.0;
|
|
||||||
attractor.parameter(2) = 2.0;
|
|
||||||
|
|
||||||
double * & vector = attractor.vector();
|
|
||||||
|
|
||||||
unsigned int * _dimension = (unsigned int*)mijnAttractortje->getProperty("dimension");
|
|
||||||
unsigned int dimension = *_dimension;
|
|
||||||
delete _dimension;
|
|
||||||
|
|
||||||
cout << "Dimension = " << dimension << endl;
|
|
||||||
|
|
||||||
for ( unsigned int i = 0; i < 20; i++ ) {
|
|
||||||
mijnAttractortje->iterate();
|
|
||||||
cout << "vector = ";
|
|
||||||
for ( unsigned int i = 0; i < dimension; i++ ) {
|
|
||||||
cout << " " << vector[i];
|
|
||||||
}
|
|
||||||
cout << endl;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
Attractor myAttractor("attractors/testAttractor.stf");
|
Attractor myAttractor("attractors/testAttractor.stf");
|
||||||
for ( unsigned int i = 0; i < 20; i++ ) {
|
for ( unsigned int i = 0; i < 50; i++ ) {
|
||||||
myAttractor.iterate();
|
myAttractor.iterate();
|
||||||
myAttractor.output();
|
myAttractor.output();
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue