import processing.opengl.*; import anar.*; /* * Example for Anar library by Guillaume LaBelle + Julien Nembrini * http://anar.ch */ Pts bsp1; Pts bsp2; // ParametricValue pv; Param pv = new Param(1/.15f); Pts baseLine; // = new Pts(); Pts baseLine2; // = new Pts(); Obj obj; void setup(){ size(800,400,OPENGL); frameRate(200); Anar.init(this); Anar.drawAxis(true); initShape(); Pts.globalRender = new RenderPtsAll(); Pt.globalRender = new RenderPtShapeOriented(new AColor(100),new AColor(255,0,0,150),Anar.scene); } void initShape(){ baseLine = new Pts(); baseLine2 = new Pts(); baseLine.add(Anar.Pt(0,0,100)); baseLine.add(Anar.Pt(25,130,0)); baseLine.add(Anar.Pt(50,0,50)); baseLine.add(Anar.Pt(75, -30,0)); baseLine.add(Anar.Pt(100,0,0)); baseLine2.add(Anar.Pt(0,0,0)); baseLine2.add(Anar.Pt(0,25,0)); baseLine2.add(Anar.Pt(100,50,50)); baseLine2.add(Anar.Pt(0,75,0)); baseLine2.add(Anar.Pt(100,100,0)); // pv = new ParametricValue(.3f); // pn = new ParametricValue(6); bsp1 = new CSpline(baseLine,pv); bsp2 = new CSpline(baseLine2,pv); obj = new Obj(); obj.add(bsp1); obj.add(bsp2); Pts discret1 = bsp1.discretization(50); Pts discret2 = bsp2.discretization(50); Pts[] gridU = new Pts[discret2.numOfPts()]; for (int i = 0; i