//Michael Shaub //August 19, 2007 //---------------------------------- //Based on code by Daniel Shiffman //---------------------------------- /* Daniel Shiffman */ /* Programming from A to Z */ /* The Nature of Code */ /* Spring 2006 */ /* http://www.shiffman.net */ /* daniel.shiffman@nyu.edu */ LSystem lsys; Turtle turtle; float lenX = 1; void setup() { size(500,400); //* // Create an empty ruleset Rule[] ruleset = new Rule[2]; // Fill with two rules (These are rules for the Sierpinksi Gasket Triangle) ruleset[0] = new Rule('X',"F-[[X]+X]+F[+FX]-X"); ruleset[1] = new Rule('F',"FF"); // Create LSystem with axiom and ruleset lsys = new LSystem("X",ruleset); turtle = new Turtle(lsys.getSentence(),width/100,0.436332313); //*/ /* Rule[] ruleset = new Rule[1]; ruleset[0] = new Rule('F',"F[F]-F+F[--F]+F-F"); lsys = new LSystem("F-F-F-F",ruleset); turtle = new Turtle(lsys.getSentence(),width-1,PI/2); */ smooth(); } void draw() { background(0); //translate(0,height-1); translate(width/5,height); rotate(PI/3*-1); turtle.render(); noLoop(); } void mousePressed() { lsys.generate(); turtle.setToDo(lsys.getSentence()); turtle.changeLen(1); redraw(); }