import processing.opengl.*; import anar.*; // import Goo.*; /* * Example for Anar library by Guillaume LaBelle + Julien Nembrini * http://anar.ch */ Obj obj; // = new Obj(); void setup(){ size(800,400,OPENGL); frameRate(200); Anar.init(this); initShape(); Pts.globalRender = new RenderPtsAll(); } void initShape(){ obj = new Obj(); int n1 = Anar.rndi(4,20); // int n2 = (int)((float)Math.random()*50)+3; // int n3 = (int)((float)Math.random()*50)+3; // int n4 = (int)((float)Math.random()*50)+3; // int n5 = (int)((float)Math.random()*50)+3; float n2 = (float)Anar.rnd( -width/2f,width/2f); float n3 = (float)Anar.rnd( -width/2f,width/2f); Face face = new Face(); Pt origin = Anar.Pt(0,0,0); float theta = 2*(float)Math.PI/n1; RotateZ rt = new RotateZ(theta); // ////////////////////////// Transform tw = new Transform(); tw.translate(Anar.PtNull(Anar.rndi(n2),Anar.rndi(n2),Anar.rndi(n2))); // ////////////////////////// Transform th = new Transform(); th.add(rt); th.translate(Anar.PtNull(Anar.rndi(n3),Anar.rndi(n3),Anar.rndi(n3))); Transform rt2x = new Transform(); rt2x.add(rt); // rt2x.add(rt); // ////////////////////////// Pt previousA = Anar.Pt(origin,tw); Pt previousB = Anar.Pt(origin,th); Pt previousC = Anar.Pt(origin,th); previousC.translate(Anar.rnd( -10,100),Anar.rnd( -10,100),Anar.rnd( -10,100)); face.add(previousA); face.add(previousB); face.add(previousC); for (int i = 1; i