
PDE Download: Test03aTurtleCheap3D.pde
JAVA Download: Test03aTurtleCheap3D.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);
CSpline.globalRender.splineRes.set(5);
initForm();
}
void initForm(){
// //////////////////////////////////////////
// //////////////////////////////////////////
// Initial SHAPE
all = new Obj();
Param inv = new Param( -1);
Param d1 = new Param(10);
Param d2 = new Param(20);
Param d3 = new Param(30);
Param r1 = new ParamMul(d1,inv);
Param r2 = new ParamMul(d2,inv);
Param r3 = new ParamMul(d3,inv);
ArrayList tr = new ArrayList();
tr.add(new Translate(d1,0));
tr.add(new Translate(d1,1));
tr.add(new Translate(d1,2));
tr.add(new Translate(r1,0));
tr.add(new Translate(r1,1));
tr.add(new Translate(r1,2));
tr.add(new Translate(d2,0));
tr.add(new Translate(d2,1));
tr.add(new Translate(d2,2));
tr.add(new Translate(r2,0));
tr.add(new Translate(r2,1));
tr.add(new Translate(r2,2));
tr.add(new Translate(d3,0));
tr.add(new Translate(d3,1));
tr.add(new Translate(d3,2));
tr.add(new Translate(r3,0));
tr.add(new Translate(r3,1));
tr.add(new Translate(r3,2));
Pts line = new Pts();
Pt ori = Anar.Pt(0,0,0);
for (int i = 0; i<1000; i++){
PtDER newPt = Anar.Pt(ori);
newPt.apply((Transform)tr.get(Anar.rndi(tr.size())));
// newPt.apply(new Origine(ori,tz.get(Anar.rndi(tz.size()))));
line.add(newPt);
ori = newPt;
}
all.add(line);
// //////////////////////////////////////////
// HIRARCHY
Anar.camTarget(all);
mySliders = new Sliders(all);
// print(all.parentList());
}
void draw(){
background(200);
all.draw();
mySliders.draw();
}

|