diff --git a/.idea/libraries/commons_math3_3_2.xml b/.idea/libraries/commons_math3_3_2.xml
index 5a8e896..5d6df6d 100644
--- a/.idea/libraries/commons_math3_3_2.xml
+++ b/.idea/libraries/commons_math3_3_2.xml
@@ -1,7 +1,7 @@
-
+
diff --git a/.idea/libraries/controlP5.xml b/.idea/libraries/controlP5.xml
new file mode 100644
index 0000000..63f8efc
--- /dev/null
+++ b/.idea/libraries/controlP5.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/core.xml b/.idea/libraries/core.xml
new file mode 100644
index 0000000..4011244
--- /dev/null
+++ b/.idea/libraries/core.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BiomorphGenerate/BiomorphGenerate.iml b/BiomorphGenerate/BiomorphGenerate.iml
index e398729..f25937c 100644
--- a/BiomorphGenerate/BiomorphGenerate.iml
+++ b/BiomorphGenerate/BiomorphGenerate.iml
@@ -5,10 +5,9 @@
-
+
-
-
+
\ No newline at end of file
diff --git a/BiomorphGenerate/src/BiomorphGenerate/BiomorphGenerate.java b/BiomorphGenerate/src/BiomorphGenerate/BiomorphGenerate.java
index 058e47f..9896616 100644
--- a/BiomorphGenerate/src/BiomorphGenerate/BiomorphGenerate.java
+++ b/BiomorphGenerate/src/BiomorphGenerate/BiomorphGenerate.java
@@ -27,15 +27,54 @@ public BiomorphGenerate()
{
}
+ //
+ public BiomorphGenerate WithPointA(MyPoint pointA)
+ {
+ point_a = pointA;
+ return this;
+ }
+
+ public BiomorphGenerate WithPointB(MyPoint pointB)
+ {
+ point_b = pointB;
+ return this;
+ }
+
+ public BiomorphGenerate WithSize(int size)
+ {
+ this.size = size;
+ return this;
+ }
+
+ public BiomorphGenerate WithIterations(int iterations)
+ {
+ this.iterations = iterations;
+ return this;
+ }
+
+ public BiomorphGenerate WithThershold(double threshold)
+ {
+ this.threshold = threshold;
+ return this;
+ }
+
+ public BiomorphGenerate WithMethod(Iterate method)
+ {
+ this.method = method;
+ return this;
+ }
+
+ //
+
public void Default()
{
point_a = new MyPoint(-2.0, 2.0);
point_b = new MyPoint(2.0, -2.0);
- size = 2000;
+ size = 700;
iterations = 30;
- threshold = 10.0;
+ threshold = 100.0;
method = new Iterate();
- method.setEquationPolynomial(null,2.0,-1.5,8.5,9.5);
+ method.setEquationPolynomial(new Complex(0,0),1.0,0.0,1.0,0.0);
method.setIterationPicard(0.5);
}
@@ -46,12 +85,15 @@ private boolean MagnitudeCheck(Complex x, int method)
case 1:
if (FastMath.abs(x.getReal())+FastMath.abs(x.getImaginary())>threshold)
return true;
+ break;
case 2:
if (x.abs() > threshold)
return true;
+ break;
case 3:
if (FastMath.sqrt(FastMath.pow(x.getReal(),2)+FastMath.pow(x.getImaginary(),2))>threshold)
return true;
+ break;
}
return false;
}
@@ -98,7 +140,7 @@ private boolean MagnitudeCheck(Complex x, int method)
if (x.abs() > threshold)
return true;
case 3:
- if (FastMath.sqrt(FastMath.pow(x.getReal(),2)+FastMath.pow(x.getImaginary(),2))>threshold)
+ if (FastMath.sqrt(FastMath.pow(x.getReal(), 2) + FastMath.pow(x.getImaginary(), 2))>threshold)
return true;
}
return false;
@@ -142,19 +184,19 @@ private void generate_single()
for (int j = 0; j
-
+
-
-
+
\ No newline at end of file
diff --git a/ConsoleOverlay/src/ConsoleOverlay.java b/ConsoleOverlay/src/ConsoleOverlay.java
index 164e825..b8f562a 100644
--- a/ConsoleOverlay/src/ConsoleOverlay.java
+++ b/ConsoleOverlay/src/ConsoleOverlay.java
@@ -38,15 +38,15 @@ public static void main(String args[])
System.out.println(bm.GetGridString());
// System.out.println(bm.toString());
- /* long time = System.nanoTime();
+ long time = System.nanoTime();
BiomorphGenerate bg = new BiomorphGenerate();
bg.Default();
- bm = bg.GetBiomorph(true);
+ /* bm = bg.GetBiomorph(true);
System.out.println("Generated multicore: "+((System.nanoTime() - time)/1000000));
bm.GetGridString();
System.out.println();
time = (System.nanoTime() - time)/1000000;
- System.out.println("Miliseconds elapsed: "+time);
+ System.out.println("Miliseconds elapsed: "+time);*/
System.out.println();
@@ -55,9 +55,9 @@ public static void main(String args[])
bg.Default();
bm = bg.GetBiomorph(false);
System.out.println("Generated singlecore: "+((System.nanoTime() - time)/1000000));
- bm.GetGridString();
+ // System.out.println( bm.GetGridString());
System.out.println();
time = (System.nanoTime() - time)/1000000;
- System.out.println("Miliseconds elapsed: "+time);*/
+ System.out.println("Miliseconds elapsed: "+time);
}
}
diff --git a/Equations/Equations.iml b/Equations/Equations.iml
index 70df6ee..9546a71 100644
--- a/Equations/Equations.iml
+++ b/Equations/Equations.iml
@@ -5,9 +5,8 @@
-
+
-
-
+
\ No newline at end of file
diff --git a/Equations/src/Equations/EquationBuilder.java b/Equations/src/Equations/EquationBuilder.java
index 7d7dd5e..daace9c 100644
--- a/Equations/src/Equations/EquationBuilder.java
+++ b/Equations/src/Equations/EquationBuilder.java
@@ -33,6 +33,7 @@ public EquationBuilder(EquationBuilder equation)
public void ChangeInput(Complex input)
{
CloseAll();
+ this.input = input;
left.get(0).SetBaseInput(input);
}
@@ -59,7 +60,13 @@ public String GetJoins()
public Complex GetValue()
{
CloseAll();
- return left.get(0).GetValue();
+ Complex tmp; //= left.get(0).GetValue();
+ tmp = input.pow(3.0);//input.pow(2.0).multiply(1.0).add(input.pow(0.0).multiply(0.0));
+ if (tmp.isNaN())
+ {
+ tmp = new Complex(0.0,0.0);
+ }
+ return tmp;
}
public String GetEquationString()
@@ -167,11 +174,11 @@ public void Devide(Complex param, boolean base)
public void PredefinedPolinomialSimple(double a, double b, double m, double n)
{
Power(new Complex(m, 0.0));
- Multiply(new Complex(a, 0.0), false);
+ //Multiply(new Complex(a, 0.0), false);
Close();
- Add(input, true);
- Power(new Complex(n, 0.0));
- Multiply(new Complex(b, 0.0), false);
+ //Add(input, true);
+ //Power(new Complex(n, 0.0));
+ //Multiply(new Complex(b, 0.0), false);
CloseAll();
}
}
diff --git a/Iterations/Iterations.iml b/Iterations/Iterations.iml
index bc439ea..c0e9b7c 100644
--- a/Iterations/Iterations.iml
+++ b/Iterations/Iterations.iml
@@ -5,10 +5,9 @@
-
+
-
-
+
\ No newline at end of file
diff --git a/Iterations/src/Iterations/Iterate.java b/Iterations/src/Iterations/Iterate.java
index 48f6636..9ecd483 100644
--- a/Iterations/src/Iterations/Iterate.java
+++ b/Iterations/src/Iterations/Iterate.java
@@ -1,12 +1,14 @@
package Iterations;
import Equations.Equation;
+import Equations.EquationBuilder;
import org.apache.commons.math3.complex.Complex;
/**
* Created by harold on 29.04.14.
*/
public class Iterate {
private Equation equation;
+ private EquationBuilder eqBuilder;
private Iteration iteration;
private boolean equation_set = false;
private boolean iteration_set = false;
@@ -59,6 +61,8 @@ public void setInput(Complex input)
public void setEquationPolynomial(Complex input, double ex, double fx, double xpa, double xpb)
{
equation = new Equations.Polynomial(input, ex, fx, xpa, xpb);
+ eqBuilder = new EquationBuilder(input);
+ eqBuilder.PredefinedPolinomialSimple(ex, fx, xpa, xpb);
equation_set = true;
}
@@ -72,7 +76,8 @@ public void setIterationPicard(double u)
{
if (equation_set)
{
- iteration = new Picard(equation,u);
+ // iteration = new Picard(equation,u);
+ iteration = new Picard(eqBuilder,u);
iteration_set = true;
}
// else parent.println("Error: In Iterations.Iterate - can't set iteration because the equation is not set");
diff --git a/Iterations/src/Iterations/Iteration.java b/Iterations/src/Iterations/Iteration.java
index 0eb5e16..108a08c 100644
--- a/Iterations/src/Iterations/Iteration.java
+++ b/Iterations/src/Iterations/Iteration.java
@@ -1,6 +1,7 @@
package Iterations;
import Equations.Equation;
+import Equations.EquationBuilder;
import org.apache.commons.math3.complex.Complex;
/**
@@ -10,21 +11,29 @@ abstract public class Iteration
{
//private Complex input;
protected Equation equation;
+ protected EquationBuilder eqBuilder;
public Iteration(Equation equation)
{
//this.input = input;
this.equation = equation;
}
+ public Iteration(EquationBuilder equationBuilder)
+ {
+ //this.input = input;
+ this.eqBuilder = new EquationBuilder(equationBuilder);
+ }
public Complex getInput()
{
- return equation.getInput();
+ //return equation.getInput();
+ return eqBuilder.input;
}
public void setInput(Complex input)
{
- equation.setInput(input);
+ // equation.setInput(input);
+ eqBuilder.ChangeInput(input);
}
abstract public Complex Calculate(boolean withUpdate);
diff --git a/Iterations/src/Iterations/Picard.java b/Iterations/src/Iterations/Picard.java
index 69711da..ae707ed 100644
--- a/Iterations/src/Iterations/Picard.java
+++ b/Iterations/src/Iterations/Picard.java
@@ -2,6 +2,7 @@
import Equations.Equation;
+import Equations.EquationBuilder;
import org.apache.commons.math3.complex.Complex;
/**
@@ -16,14 +17,22 @@ public Picard(Equation equation, double u)
super(equation);
this.u = u;
}
+ public Picard(EquationBuilder equationBuilder, double u)
+ {
+ super(equationBuilder);
+ this.u = u;
+ }
@Override
public Complex Calculate(boolean withUpdate)
{
- Complex tmp = equation.Calculate().add(u);
+
+ //Complex tmp = equation.Calculate().add(u);
+ Complex tmp = eqBuilder.GetValue().add(u);
if (withUpdate)
{
- equation.setInput(tmp);
+ //equation.setInput(tmp);
+ eqBuilder.ChangeInput(tmp);
}
return tmp;
}
diff --git a/ProcessingIOverlay/src/ProcessingOverlay.java b/ProcessingIOverlay/src/ProcessingOverlay.java
new file mode 100644
index 0000000..77f0578
--- /dev/null
+++ b/ProcessingIOverlay/src/ProcessingOverlay.java
@@ -0,0 +1,41 @@
+import BiomorphGenerate.BiomorphGenerate;
+import Components.Drawer;
+import processing.core.PApplet;
+import controlP5.*;
+import processing.core.PShape;
+/**
+ * Created by harold on 20.05.14.
+ */
+public class ProcessingOverlay extends PApplet
+{
+ private Drawer d;
+ private boolean initiated = false;
+
+ static public void main(String args[])
+ {
+ PApplet.main(new String[] {"ProcessingOverlay"});
+ }
+
+
+ public void setup()
+ {
+ size(730,700);
+
+ BiomorphGenerate bg = new BiomorphGenerate();
+
+
+ d = new Drawer();
+ d.GenerateTest();
+
+ d.MakeGrid();
+ d.GenerateImage(1, 1, new int[]{0,30});
+ initiated = true;
+ }
+
+ public void draw()
+ {
+
+ background(color(0, 0, 0, 255));
+ if (initiated) image(d.GetImage(), 0,0);
+ }
+}