import processing.opengl.*; import anar.*; import lsys.Grammar; /* * Example for Anar library by Guillaume LaBelle + Julien Nembrini * http://anar.ch */ Pts pts = new Pts(); Pt turtle; Transform[] T; Grammar grammar; Sliders mySlide; void setup(){ size(1000,500,OPENGL); Anar.init(this); Anar.drawAxis(); initGrammar(); interpretInit(); } void initGrammar(){ grammar = new Grammar("XYZyxz"); // here define the rules // * means any kind of symbol grammar.addRule("*X*","XyXYX"); grammar.addRule("*Y*","YxYXY"); grammar.addRule("*Z*","ZxZXZ"); grammar.addRule("*x*","xYxyx"); grammar.addRule("*y*","yzyZy"); grammar.addRule("*z*","zyzYz"); println(grammar); } void interpretInit(){ T = new Transform[6]; T[0] = new Translate(10,0,0); T[1] = new Translate( -10,0,0); T[2] = new Translate(0,10,0); T[3] = new Translate(0, -10,0); T[4] = new Translate(0,0,10); T[5] = new Translate(0,0, -10); interpretGrammar(); } void interpretGrammar(){ pts = new Pts(); turtle = Anar.Pt(0,0,0); pts.add(turtle); pts.stroke(255,0,0); for (int i = 0; i