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; Obj obj; int nIteration = 0; void setup(){ size(800,400,OPENGL); Anar.init(this); Scene.autoSeek = false; obj = new Obj(); initForm(); Pts.globalRender = new RenderPtsAll(); } void reset(){ obj.faces.clear(); obj.pts.ptList.clear(); Pts facePts = new Pts(); facePts.add(a); facePts.add(b); facePts.add(c); Face f = new Face(facePts); obj.add(f); nIteration = 0; addFourth = false; } void initForm(){ a = Anar.Pt( -60, -30); b = Anar.Pt(60, -30); c = Anar.Pt(0,60); // obj.add(AB); // obj.add(BC); // obj.add(AC); Pts facePts = new Pts(); facePts.add(a); facePts.add(b); facePts.add(c); Face f = new Face(facePts); obj.add(f); parameters = new Sliders(a); // println(parameters); Anar.camTarget(obj); } void loopSubdiv(){ // use point of gravity of original point as anchor // Pt pp = Anar.Pt( .33f*a.x()+.33f*b.x()+.33f*c.x(), // .33f*a.y()+.33f*b.y()+.33f*c.y(), // .33f*a.z()+.33f*b.z()+.33f*c.z()); Pt pp = Anar.Pt(.2f*a.x()+.3f*b.x()+.5f*c.x(),.2f*a.y()+.3f*b.y()+.5f*c.y(),.2f*a.z()+.3f*b.z()+.5f*c.z()); ArrayList newFaces = new ArrayList(); for (int k = 0; k