import processing.opengl.*; import anar.*; import java.util.ArrayList; /* * Example for Anar library by Guillaume LaBelle + Julien Nembrini * http://anar.ch */ Sliders parameters; Pt a, b, c; Pts facePts; Obj obj; Param div; Param zero; Sliders mySlider; int nIteration = 0; void setup(){ size(800,400,OPENGL); Anar.init(this); Scene.autoSeek = false; initForm(); } void initForm(){ // definition of shape parameters div = new Param(2,2,10); zero = new Param(0); a = Anar.Pt( -60, -30); b = Anar.Pt(60, -30); c = Anar.Pt(0,60); reset(); } void reset(){ // construction of shape obj = new Obj(); // add base triangle Face f = new Face(); f.add(a); f.add(b); f.add(c); obj.add(f); // define sliders for shape mySlider = new Sliders(obj); nIteration = 0; addFourth = false; } void sierpinskyIteration(){ nIteration++; println(nIteration); // define z translation float z = 10f; float param; if(positive) param = z/ (nIteration*nIteration); else param = -z/ (nIteration*nIteration); Translate t = new Translate(Anar.Pt(zero,zero,new Param(param))); // prepare container to store new faces ArrayList newFaces = new ArrayList(); // go through each current face for (int k = 0; k