import processing.opengl.*; import anar.*; /* * Example for Anar library by Guillaume LaBelle + Julien Nembrini * http://anar.ch */ Obj myObj; void setup(){ size(800,400,OPENGL); Anar.init(this); Anar.drawAxis(); initForm(); } void initForm(){ myObj = new Obj(); Face triangle = new Face(); triangle.add(Anar.PtRnd(100,100)); triangle.add(Anar.PtRnd(100,100)); triangle.add(Anar.PtRnd(100,100)); myObj.add(triangle); Pt center = new PtBary(triangle); center.fill(255,0,0); myObj.add(center); Anar.camTarget(myObj); Pt circumcenter = new PtCircumCenter(triangle); circumcenter.fill(0,0,255); myObj.add(circumcenter); Face circle = new Circle(circumcenter,circumRadius(triangle),100); myObj.add(circle); } // http://en.wikipedia.org/wiki/Circumcircle float circumRadius(Face f){ float totalLength; // Isit general for polygons? totalLength = f.pt(0).length(f.pt(1)); totalLength *= f.pt(1).length(f.pt(2)); totalLength *= f.pt(2).length(f.pt(0)); float area = f.area(); println(area); println(totalLength); return totalLength/ (4*area); } void draw(){ background(155); myObj.draw(); } void keyPressed(){ if(key==' ') initForm(); }