diff --git a/PinwheelTiling/PinwheelTilingPath.cs b/PinwheelTiling/PinwheelTilingPath.cs index 01ff6ec..abe3051 100644 --- a/PinwheelTiling/PinwheelTilingPath.cs +++ b/PinwheelTiling/PinwheelTilingPath.cs @@ -23,13 +23,31 @@ public static class PinwheelTilingPath const double sideA = 40.0D; const double sideB = 80.0D; - double sideC = CalculateHyptonuse(sideA, sideB); + const int depth = 1; _endPoint = new Point(_startPoint.X + sideB, _startPoint.Y + sideA); Triangle triangle = MakeTriangle(_startPoint, _endPoint); - Triangle[] subdivision = GetSubdivision(triangle); + /*Triangle[] subdivision = GetSubdivision(triangle); + DrawSubdivision(turtle, subdivision);*/ + MakeRecursiveTriangle(turtle, triangle, depth); + } + + private static void MakeRecursiveTriangle(SmartTurtle turtle, Triangle triangle, int depth = 0) + { + if (depth == 0) + { + return; + } + + depth--; + Triangle[] subdivision = GetSubdivision(triangle); DrawSubdivision(turtle, subdivision); + + for (int i = 0; i < subdivision.Length; i++) + { + MakeRecursiveTriangle(turtle, subdivision[i], depth); + } } private static Triangle MakeTriangle(Point startingPoint,