From 200314082036ac77d4af5738d29403ed895a732a Mon Sep 17 00:00:00 2001 From: "Joshua Moerman (@Kassalade)" Date: Thu, 19 May 2011 19:22:57 +0200 Subject: [PATCH 1/5] made the stf files healthy and did something in logistic --- attractors/emptyLogistic2D.stf | 3 +++ attractors/emptyLogistic3D.stf | 3 +++ attractors/emptyLogistic4D.stf | 1 + attractors/emptyLorenz3D.stf | 1 + attractors/emptyPolynomial3D2.stf | 1 + attractors/emptyPolynomial3D3.stf | 1 + attractors/emptyPolynomialA3D.stf | 1 + attractors/emptyUnravel3D.stf | 1 + kernels/Logistic.hpp | 2 +- 9 files changed, 13 insertions(+), 1 deletion(-) diff --git a/attractors/emptyLogistic2D.stf b/attractors/emptyLogistic2D.stf index 2647b78..81ed264 100644 --- a/attractors/emptyLogistic2D.stf +++ b/attractors/emptyLogistic2D.stf @@ -2,6 +2,9 @@ AttractorKernel: { type: "logistic" dimensions: "2" } + +Projector: "Projector" + Projector: { } diff --git a/attractors/emptyLogistic3D.stf b/attractors/emptyLogistic3D.stf index d8e5f3c..5b89fc2 100644 --- a/attractors/emptyLogistic3D.stf +++ b/attractors/emptyLogistic3D.stf @@ -2,6 +2,9 @@ AttractorKernel: { type: "logistic" dimensions: "3" } + +Projector: "Projector" + Projector: { } diff --git a/attractors/emptyLogistic4D.stf b/attractors/emptyLogistic4D.stf index 0d94877..3935039 100644 --- a/attractors/emptyLogistic4D.stf +++ b/attractors/emptyLogistic4D.stf @@ -2,6 +2,7 @@ AttractorKernel: { type: "logistic" dimensions: "4" } +Projector : "Projector" Projector: { } diff --git a/attractors/emptyLorenz3D.stf b/attractors/emptyLorenz3D.stf index 989cc13..1b978fe 100644 --- a/attractors/emptyLorenz3D.stf +++ b/attractors/emptyLorenz3D.stf @@ -2,6 +2,7 @@ AttractorKernel: { type: "lorenz" dimensions: "3" } +Projector: "Projector" Projector: { } diff --git a/attractors/emptyPolynomial3D2.stf b/attractors/emptyPolynomial3D2.stf index e6b08d9..fa87829 100644 --- a/attractors/emptyPolynomial3D2.stf +++ b/attractors/emptyPolynomial3D2.stf @@ -3,6 +3,7 @@ AttractorKernel: { dimensions: "3" orde: "2" } +Projector: "Projector" Projector: { } diff --git a/attractors/emptyPolynomial3D3.stf b/attractors/emptyPolynomial3D3.stf index 38a6c28..1422e30 100644 --- a/attractors/emptyPolynomial3D3.stf +++ b/attractors/emptyPolynomial3D3.stf @@ -3,6 +3,7 @@ AttractorKernel: { dimensions: "3" orde: "3" } +Projector: "Projector" Projector: { } diff --git a/attractors/emptyPolynomialA3D.stf b/attractors/emptyPolynomialA3D.stf index 104853e..b682bd3 100644 --- a/attractors/emptyPolynomialA3D.stf +++ b/attractors/emptyPolynomialA3D.stf @@ -2,6 +2,7 @@ AttractorKernel: { type: "polynomial a" dimensions: "3" } +Projector: "Projector" Projector: { } diff --git a/attractors/emptyUnravel3D.stf b/attractors/emptyUnravel3D.stf index f184f3b..af11b63 100644 --- a/attractors/emptyUnravel3D.stf +++ b/attractors/emptyUnravel3D.stf @@ -2,6 +2,7 @@ AttractorKernel: { type: "unravel" dimensions: "3" } +Projector: "Projector" Projector: { } diff --git a/kernels/Logistic.hpp b/kernels/Logistic.hpp index 5c7ef6d..d989697 100644 --- a/kernels/Logistic.hpp +++ b/kernels/Logistic.hpp @@ -29,7 +29,7 @@ public: virtual void generate_random_parameters() { for(unsigned int i = 0; i < numberOfParameters; ++i) { - parameters[i] = rand() / double(RAND_MAX) + 3.0; + parameters[i] = 0.43 * rand() / double(RAND_MAX) + 3.57; } init(); } From 936c1212894cb2ff7d7dfd4b706fc6748a171515 Mon Sep 17 00:00:00 2001 From: "Joshua Moerman (@Kassalade)" Date: Mon, 13 Jun 2011 12:49:37 +0200 Subject: [PATCH 2/5] forgot to add file --- attractors/emptyIkeda3D.stf | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 attractors/emptyIkeda3D.stf diff --git a/attractors/emptyIkeda3D.stf b/attractors/emptyIkeda3D.stf new file mode 100644 index 0000000..5a1e4f8 --- /dev/null +++ b/attractors/emptyIkeda3D.stf @@ -0,0 +1,8 @@ +AttractorKernel: { + type: "ikeda" + dimensions: "3" +} +Projector: "Projector" +Projector: { +} + From b111948939dcb6a631d6dea9a698d4d16ba52d09 Mon Sep 17 00:00:00 2001 From: "Joshua Moerman (joshua-desktop)" Date: Mon, 13 Jun 2011 13:09:26 +0200 Subject: [PATCH 3/5] fixed a bugje, hardcoded 2 dim (todo: implementing projectors good), ikeda has more parameters --- Attractor.hpp | 1 + Projector.cpp | 3 ++- kernels/Ikeda3D.hpp | 11 +++++++---- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/Attractor.hpp b/Attractor.hpp index c530b7e..76cd16d 100644 --- a/Attractor.hpp +++ b/Attractor.hpp @@ -35,6 +35,7 @@ public: if(kernel->convergent() || kernel->divergent()){ kernel->generate_random_parameters(); LogDebug("Generating new parameters.\n"); + i = 0; } } } diff --git a/Projector.cpp b/Projector.cpp index 8d9c13e..fabfd74 100644 --- a/Projector.cpp +++ b/Projector.cpp @@ -4,7 +4,8 @@ #include "projectors/Normalizer.hpp" Projector* Projector::createProjector(stfu::node& projector, unsigned int input_dimension) { - Projector* output = new Normalizer(input_dimension); + //Projector* output = new Normalizer(input_dimension); + Projector* output = new Normalizer(2); return output; } diff --git a/kernels/Ikeda3D.hpp b/kernels/Ikeda3D.hpp index b0b7bcf..777f521 100644 --- a/kernels/Ikeda3D.hpp +++ b/kernels/Ikeda3D.hpp @@ -16,7 +16,7 @@ private: public: Ikeda3D(): - AttractorKernel(3, 1) { + AttractorKernel(3, 4) { init(); } @@ -24,16 +24,19 @@ public: virtual void generate_random_parameters() { parameters[0] = rand() / double(RAND_MAX) *2.0 - 0.5; + parameters[1] = rand() / double(RAND_MAX) *2.0 - 0.5; // wikipedia: u + parameters[2] = rand() / double(RAND_MAX) *2.0 - 0.5; + parameters[3] = rand() / double(RAND_MAX) *30.0; init(); } virtual void operator()() { std::swap(vectorNew, vectorOld); - vectorOld[2] = 0.4 - 6.0/(1 + vectorOld[0]*vectorOld[0] + vectorOld[1]*vectorNew[1]); + vectorOld[2] = parameters[2] - parameters[3]/(1 + vectorOld[0]*vectorOld[0] + vectorOld[1]*vectorNew[1]); - vectorNew[0] = 1 + parameters[0] * (vectorOld[0]*cos(vectorOld[2]) - vectorOld[1]*sin(vectorOld[2])); - vectorNew[0] = parameters[0] * (vectorOld[0]*sin(vectorOld[2]) + vectorOld[1]*cos(vectorOld[2])); + vectorNew[0] = parameters[0] + parameters[1] * (vectorOld[0]*cos(vectorOld[2]) - vectorOld[1]*sin(vectorOld[2])); + vectorNew[1] = parameters[1] * (vectorOld[0]*sin(vectorOld[2]) + vectorOld[1]*cos(vectorOld[2])); } }; From 0803e3fdfffae356de969fa436c329f78d73f79e Mon Sep 17 00:00:00 2001 From: "Joshua Moerman (joshua-desktop)" Date: Mon, 13 Jun 2011 17:42:00 +0200 Subject: [PATCH 4/5] adjustecd ranges --- kernels/Ikeda3D.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernels/Ikeda3D.hpp b/kernels/Ikeda3D.hpp index 777f521..8fe0648 100644 --- a/kernels/Ikeda3D.hpp +++ b/kernels/Ikeda3D.hpp @@ -26,7 +26,7 @@ public: parameters[0] = rand() / double(RAND_MAX) *2.0 - 0.5; parameters[1] = rand() / double(RAND_MAX) *2.0 - 0.5; // wikipedia: u parameters[2] = rand() / double(RAND_MAX) *2.0 - 0.5; - parameters[3] = rand() / double(RAND_MAX) *30.0; + parameters[3] = rand() / double(RAND_MAX) *20.0; init(); } From 8c9d7cbec36a3f335f5a4507b23d15e72451ac5c Mon Sep 17 00:00:00 2001 From: "Joshua Moerman (@Kassalade)" Date: Tue, 21 Jun 2011 23:09:04 +0200 Subject: [PATCH 5/5] added attr --- attractors/coolIkeda.stf | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 attractors/coolIkeda.stf diff --git a/attractors/coolIkeda.stf b/attractors/coolIkeda.stf new file mode 100644 index 0000000..6f434a8 --- /dev/null +++ b/attractors/coolIkeda.stf @@ -0,0 +1,14 @@ +AttractorKernel: { + type: "ikeda" + dimensions: "3" + parameters: { + : "2.98" + : "0.99" + : "3.26" + : "47.74" + } +} +Projector: "Projector" +Projector: { +} +