import processing.opengl.*; import anar.*; import java.util.ArrayList; /* * Example for Anar library by Guillaume LaBelle + Julien Nembrini * http://anar.ch */ Obj myObject; Pts ptsA = new Pts(); Pts ptsB = new Pts(); Pt origin; void setup(){ size(800,400,OPENGL); Anar.init(this); initForm(); } void initForm(){ origin = Anar.Pt(0,0,0); ptsA.add(origin); ArrayList spiral = new ArrayList(); Transform tmp; // Transform 1 tmp = new Transform(); tmp.rotateZ(PI/16f); tmp.translate(Anar.PtNull(10,0,1)); spiral.add(tmp); // Transform 2 tmp = new Transform(); tmp.rotateZ(PI/12f); tmp.translate(Anar.PtNull(10,0,1)); spiral.add(tmp); // Transform 3 tmp = new Transform(); tmp.rotateZ(PI/8f); tmp.translate(Anar.PtNull(10,0,1)); spiral.add(tmp); // println(spiralTransform); Pt previous = origin; for (int i = 0; i<500; i++){ // Pt q = Anar.Pt(previous,spiralA); // Pt q = Anar.Pt(previous,spiralTransform); if(random(10)<1) tmp = (Transform)spiral.get((int)random(spiral.size())); Pt q = Anar.Pt(previous,tmp); ptsA.add(q); previous = q; } Transform baseTransform = new Transform(); baseTransform.translate(Anar.PtNull(0,0, -15)); // base.add(baseTransform); /* * baseTransform = new Transform(); * baseTransform.translate(Anar.PtNull(0,0,-5)); base.add(baseTransform); */ // Iterator i = ptsA.iterator(); for (int i = 0; i