/****************************************************************************** * Compilation: javac Koch.java * Execution: java Koch n * Dependencies: Turtle.java * * Plot a Koch curve of order n. * * % java Koch 5 * ******************************************************************************/ public class Koch { // plot Koch curve of order n, with given step size public static void koch(int n, double step, Turtle turtle) { if (n == 0) { turtle.goForward(step); return; } koch(n-1, step, turtle); turtle.turnLeft(60.0); koch(n-1, step, turtle); turtle.turnLeft(-120.0); koch(n-1, step, turtle); turtle.turnLeft(60.0); koch(n-1, step, turtle); } public static void main(String[] args) { int n = Integer.parseInt(args[0]); double step = 1.0 / Math.pow(3.0, n); Turtle turtle = new Turtle(0.0, 0.0, 0.0); koch(n, step, turtle); } }