
PDE Download: Test03aTurtleCurvedB.pde
JAVA Download: Test03aTurtleCurvedB.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 all = new Obj();
Sliders mySliders;
void setup(){
size(800,400,OPENGL);
Anar.init(this);
// Setup DEFAULT rendering of our scene
Pts.globalRender = new RenderPtsAll();
Pt.globalRender = new RenderPtCross(new AColor(255,155,155),1);
Anar.drawAxis(true);
CSpline.globalRender.splineRes.set(12);
initForm();
}
void initForm(){
// //////////////////////////////////////////
// //////////////////////////////////////////
// Initial SHAPE
all = new Obj();
Transform t = new Transform();
t.add(new Translate(10,0,0));
t.add(new RotateY((float)Math.PI/6));
t.add(new RotateX((float)Math.PI/6));
Pts line = new Pts();
Pt ori = Anar.Pt(0,0,0);
Pt last = ori;
for (int i = 0; i<10; i++){
Transform oriT = new Transform(ori,t);
Transform reallign = new Transform(last,ori,oriT);
PtDER newPt = Anar.Pt(ori);
newPt.apply(reallign);
line.add(newPt);
last = ori;
ori = newPt;
// flush();
// println(Anar.rndi(tz.size()));
}
CSpline nCs = new CSpline(line,.1f);
all.add(nCs);
Translate tt = new Translate(10,0.1f,0.1f);
for (int i = 0; i<20; i++){
CSpline nC2 = new CSpline(new Pts(nCs),.1f);
nC2.apply(tt);
all.add(nC2);
nCs = nC2;
}
// //////////////////////////////////////////
// HIRARCHY
Anar.camTarget(all);
// println(all.parentList());
mySliders = new Sliders(t);
mySliders.add(tt);
}
void draw(){
background(200);
all.draw();
mySliders.draw();
}

|