
PDE Download: Test03aTurtleCurved.pde
JAVA Download: Test03aTurtleCurved.java
Click on anar+ terms to get the documentation.
import processing.opengl.*;
import anar.*;
import java.util.ArrayList;
/*
* 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);
RenderSpline.splineRes.set(12);
initForm();
}
void initForm(){
// //////////////////////////////////////////
// //////////////////////////////////////////
// Initial SHAPE
all = new Obj();
ArrayList tr = new ArrayList();
tr.add(new Translate(10,0,0));
tr.add(new Translate(20,0,0));
tr.add(new Translate(30,0,0));
tr.add(new Translate( -10,0,0));
tr.add(new Translate( -20,0,0));
tr.add(new Translate( -30,0,0));
tr.add(new Translate(0,10,0));
tr.add(new Translate(0,20,0));
tr.add(new Translate(0,30,0));
tr.add(new Translate(0, -10,0));
tr.add(new Translate(0, -20,0));
tr.add(new Translate(0, -30,0));
ArrayList tz = new ArrayList();
// tz.add(new RotateX(.1f));
// tz.add(new RotateX(.2f));
// tz.add(new RotateX(.3f));
tz.add(new RotateY((float)Math.PI/6));
tz.add(new RotateY((float)Math.PI/3));
tz.add(new RotateY((float)Math.PI/2));
tz.add(new RotateZ((float)Math.PI/6));
tz.add(new RotateZ((float)Math.PI/3));
tz.add(new RotateZ((float)Math.PI/2));
Pts line = new Pts();
Pt ori = Anar.Pt(0,0,0);
for (int i = 0; i<200; i++){
PtDER newPt = Anar.Pt(ori);
newPt.apply((Transform)tr.get(Anar.rndi(tr.size())));
newPt.apply(new Transform(ori,(Transform)tz.get(Anar.rndi(tz.size()))));
line.add(newPt);
ori = newPt;
// flush();
// println(Anar.rndi(tz.size()));
}
CSpline nCs = new CSpline(line,.1f);
all.add(nCs);
// //////////////////////////////////////////
// HIRARCHY
Anar.camTarget(all);
mySliders = new Sliders();
for (int i = 0; i<tr.size(); i++)
mySliders.add((Transform)tr.get(i));
for (int i = 0; i<tz.size(); i++)
mySliders.add((Transform)tz.get(i));
}
void draw(){
background(200);
all.draw();
mySliders.draw();
}

|