diff --git a/src/Main.java b/src/Main.java index cc18217..796182c 100644 --- a/src/Main.java +++ b/src/Main.java @@ -1,7 +1,10 @@ +import PythagorasTree.PythagorasTree; import ch.aplu.turtle.Options; import ch.aplu.turtle.Playground; import ch.aplu.turtle.Turtle; +import PythagorasTree.*; + import java.awt.*; import java.util.Scanner; @@ -228,11 +231,11 @@ public class Main { System.out.println("PisanoPythagorasTreeOne:"); System.out.println(""); System.out.println("This creates an asymetric Pythagoras Tree."); - System.out.println("The angles used in this tree are generated from the Fibonacci Numbers."); + System.out.println("The angles used in this tree are generated from the NumberCalculation.Fibonacci Numbers."); System.out.println("This (and the following variants) are similar to the regular random trees, "); - System.out.println("just with angles generated from the Fibonacci Numbers."); + System.out.println("just with angles generated from the NumberCalculation.Fibonacci Numbers."); System.out.println("The angles of this variant calculated like this: "); - System.out.println("Fibonacci number of the Level modulo 4 multiplied by 10 plus 30"); + System.out.println("NumberCalculation.Fibonacci number of the Level modulo 4 multiplied by 10 plus 30"); System.out.println(""); System.out.println(""); System.out.println(""); @@ -240,7 +243,7 @@ public class Main { System.out.println("PisanoPythagorasTreeTwo:"); System.out.println(""); System.out.println("The angles of this variant calculated like this: "); - System.out.println("Fibonacci number of the Level modulo 2 multiplied by 30 plus 30"); + System.out.println("NumberCalculation.Fibonacci number of the Level modulo 2 multiplied by 30 plus 30"); System.out.println(""); System.out.println(""); System.out.println(""); @@ -248,7 +251,7 @@ public class Main { System.out.println("PisanoPythagorasTreeThree:"); System.out.println(""); System.out.println("The angles of this variant calculated like this: "); - System.out.println("Fibonacci number of the Level modulo 7 multiplied by 5 plus 30"); + System.out.println("NumberCalculation.Fibonacci number of the Level modulo 7 multiplied by 5 plus 30"); System.out.println(""); System.out.println(""); System.out.println(""); @@ -256,7 +259,7 @@ public class Main { System.out.println("PisanoPythagorasTreeFour:"); System.out.println(""); System.out.println("The angles of this variant calculated like this: "); - System.out.println("Fibonacci number of the Level modulo 31 plus 30"); + System.out.println("NumberCalculation.Fibonacci number of the Level modulo 31 plus 30"); System.out.println(""); System.out.println(""); System.out.println(""); @@ -264,7 +267,7 @@ public class Main { System.out.println("PisanoPythagorasTreeFive:"); System.out.println(""); System.out.println("The angles of this variant calculated like this: "); - System.out.println("Fibonacci number of the Level modulo 9 multiplied by 4 plus 29"); + System.out.println("NumberCalculation.Fibonacci number of the Level modulo 9 multiplied by 4 plus 29"); System.out.println(""); System.out.println(""); System.out.println(""); diff --git a/src/Fibonacci.java b/src/NumberCalculation/Fibonacci.java similarity index 94% rename from src/Fibonacci.java rename to src/NumberCalculation/Fibonacci.java index 9b8f8d7..5ab04bf 100644 --- a/src/Fibonacci.java +++ b/src/NumberCalculation/Fibonacci.java @@ -1,3 +1,5 @@ +package NumberCalculation; + import java.util.LinkedList; /** diff --git a/src/PythagorasTree.java b/src/PythagorasTree/PythagorasTree.java similarity index 95% rename from src/PythagorasTree.java rename to src/PythagorasTree/PythagorasTree.java index 04159b6..bb172ae 100644 --- a/src/PythagorasTree.java +++ b/src/PythagorasTree/PythagorasTree.java @@ -1,7 +1,11 @@ +package PythagorasTree; + import ch.aplu.turtle.Turtle; +import TurtleTools.TurtleState; + import java.awt.*; -import java.util.LinkedList; +import static TurtleTools.DrawingTools.drawSquare; /** * Created by Christian on 10.02.2015. @@ -37,7 +41,7 @@ public class PythagorasTree { tree.turtle.setPenColor(drawColor(tree.momentaryDepth, tree.maximalDepth)); tree.turtleState.returnToState(tree.turtle); - DrawingTools.drawSquare(tree.turtle, tree.size); + drawSquare(tree.turtle, tree.size); if (tree.momentaryDepth >= tree.maximalDepth) return true; diff --git a/src/PythagorasTreeQueue.java b/src/PythagorasTree/PythagorasTreeQueue.java similarity index 96% rename from src/PythagorasTreeQueue.java rename to src/PythagorasTree/PythagorasTreeQueue.java index 256bde9..98c69bc 100644 --- a/src/PythagorasTreeQueue.java +++ b/src/PythagorasTree/PythagorasTreeQueue.java @@ -1,3 +1,5 @@ +package PythagorasTree; + import ch.aplu.turtle.Turtle; import java.util.LinkedList; diff --git a/src/PythagorasTreeSeed.java b/src/PythagorasTree/PythagorasTreeSeed.java similarity index 95% rename from src/PythagorasTreeSeed.java rename to src/PythagorasTree/PythagorasTreeSeed.java index 7f98577..1694c22 100644 --- a/src/PythagorasTreeSeed.java +++ b/src/PythagorasTree/PythagorasTreeSeed.java @@ -1,3 +1,5 @@ +package PythagorasTree; + /** * Created by Christian on 11.02.2015. */ diff --git a/src/PythagorasTriangle.java b/src/PythagorasTree/PythagorasTriangle.java similarity index 91% rename from src/PythagorasTriangle.java rename to src/PythagorasTree/PythagorasTriangle.java index d0e1955..b395536 100644 --- a/src/PythagorasTriangle.java +++ b/src/PythagorasTree/PythagorasTriangle.java @@ -1,5 +1,9 @@ +package PythagorasTree; + +import NumberCalculation.Fibonacci; + /** - * Class PythagorasTriangle + * Class PythagorasTree.PythagorasTriangle * @author Jan Christian Grünhage */ public class PythagorasTriangle { @@ -65,8 +69,8 @@ public class PythagorasTriangle { rightSizeFactor = Math.sin(Math.toRadians(rightAngle)); } - private double kilianEhrmannAngle(int index) { - if (index == 0) return 30; + private double kilianEhrmannAngle(int index) { + if (index == 0 || index == 1) index = 2; double result_1; double result_2; result_1 = 100000000*Math.pow(index,(1/13)); @@ -75,10 +79,7 @@ public class PythagorasTriangle { result_2 = index - Math.pow(result_2, 3); result_2 *= index + (1 / ( Math.pow(index, (1/17.3)))); result_2 = Math.pow(result_2, (1/index)); - if (result_2 != 0) { - result_1 /= result_2; - result_1 = result_1 % index; - } + result_1 /= result_2; result_1 = result_1 % 30; result_1 += 30; System.out.println("Calculationdepth: " + index); diff --git a/src/PythagorasTriangleList.java b/src/PythagorasTree/PythagorasTriangleList.java similarity index 97% rename from src/PythagorasTriangleList.java rename to src/PythagorasTree/PythagorasTriangleList.java index fc4aa42..6b67bb6 100644 --- a/src/PythagorasTriangleList.java +++ b/src/PythagorasTree/PythagorasTriangleList.java @@ -1,3 +1,5 @@ +package PythagorasTree; + import java.util.LinkedList; /** diff --git a/src/DrawingTools.java b/src/TurtleTools/DrawingTools.java similarity index 51% rename from src/DrawingTools.java rename to src/TurtleTools/DrawingTools.java index 00f5e74..2e75a1c 100644 --- a/src/DrawingTools.java +++ b/src/TurtleTools/DrawingTools.java @@ -1,3 +1,5 @@ +package TurtleTools; + import ch.aplu.turtle.Turtle; /** @@ -11,4 +13,14 @@ public class DrawingTools { turtle.forward(size).left(90); } } + + public static void drawFilledSquare(Turtle turtle, double size) { + turtle.startPath(); + int width = (int) size / 10; + turtle.penWidth(width); + for (int i = 0; i < 4; i++) { + turtle.forward(size).left(90); + } + turtle.fillPath(); + } } diff --git a/src/TurtleState.java b/src/TurtleTools/TurtleState.java similarity index 95% rename from src/TurtleState.java rename to src/TurtleTools/TurtleState.java index 6e69140..c96a615 100644 --- a/src/TurtleState.java +++ b/src/TurtleTools/TurtleState.java @@ -1,3 +1,5 @@ +package TurtleTools; + import ch.aplu.turtle.Turtle; /**