
PDE Download: Test03oStructure.pde
JAVA Download: Test03oStructure.java
Click on anar+ terms to get the documentation.
import processing.opengl.*;
import anar.*;
/*
* Example for Anar library by Guillaume LaBelle + Julien Nembrini
* http://anar.ch
*/
Obj myObj = new Obj();
void setup(){
size(800,400,OPENGL);
Anar.init(this);
Anar.drawAxis();
initForm();
}
void initForm(){
// First construction: a basic line
Pts ctrlPts = new Pts();
ctrlPts.add(0,0,0);
ctrlPts.add(30,20,0);
ctrlPts.add(60, -20,0);
ctrlPts.add(90,0,0);
ctrlPts.add(120,0,40);
ctrlPts.add(150,0,0);
ctrlPts.add(180,0,0);
ctrlPts.stroke(155,0,0);
ctrlPts.translate(0,30,0);
// To track the position of the point on the curve
Param t = new Param(0.1f,0,1);
// Add this first module
Obj moduleA = createModule(ctrlPts,t);
myObj.add(moduleA);
// Create new controlPoints one from a symmetry
Pts ctrlPtsSym = new Pts(ctrlPts,new MirrorY());
// Create a new curve based on the new controlPoints
Obj moduleB = createModule(ctrlPtsSym,t);
myObj.add(moduleB);
// Link the two moving points together
Pts betweenCurves = new Pts();
betweenCurves.add(moduleA.pt(0));
betweenCurves.add(moduleB.pt(0));
myObj.add(betweenCurves);
Anar.sliders(ctrlPts);
Anar.camTarget(ctrlPts);
}
Obj createModule(Pts construction, Param t){
// Initialize a local object
Obj module = new Obj();
// From this first set of points, create a curve of degree 4
CSpline curve = new CSpline(construction,4);
curve.stroke(255,155,155);
// Constrain a point on this curve for t=0.1
Pt c = new PtCurve(curve,t);
// Track parameters of point C
Sliders cOnCurve = new Sliders(c);
Anar.sliders(cOnCurve.get(cOnCurve.size()-1));
// Add Everything to our local object
module.add(construction);
module.add(curve);
module.add(c);
Anar.camTarget(construction);
return module;
}
void draw(){
background(155);
myObj.draw();
}

|