
PDE Download: Test00xESweepAlongPathFrenet.pde
JAVA Download: Test00xESweepAlongPathFrenet.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 obj;
Param angle;
float sizeFrenet = 20f;
void setup(){
size(1000,500,OPENGL);
Anar.init(this);
initForm();
}
void initForm(){
obj = new Obj();
// /////////////////////////////
Pts ptsA = new Pts();
Pt origin;
ptsA.add(origin = Anar.Pt(0,0,0,"Origin"));
// /////////////////////////////
Transform t = new Transform();
t.rotateZ(PI/14f);
t.translate(Anar.PtNull(5,0,1));
// /////////////////////////////
Pt previous = origin;
for (int i = 0; i<100; i++){
Pt newPt = Anar.Pt(previous);
newPt.apply(t);
ptsA.add(newPt);
previous = newPt;
}
// Spiral created
// /////////////////////////////
// /////////////////////////////
obj.add(ptsA);
Pts ptsB = new Pts();
ptsB.add(origin = Anar.Pt(1,1,1,"Origin"));
// /////////////////////////////
for (int i = 1; i<ptsA.numOfPts()-1; i++){
Pt p0 = ptsA.pt(i-1);
Pt p1 = ptsA.pt(i);
Pt p2 = ptsA.pt(i+1);
FrenetFrame TBN = new FrenetFrame(p0,p1,p2,sizeFrenet);
ptsB.add(TBN.getN());
}
obj = new SweepTwoPaths(ptsA,ptsB);
obj.add(ptsA);
obj.add(ptsB);
TextIO.write("test.lsp",obj.toAutocad());
Anar.camTarget(obj);
}
void draw(){
background(255);
obj.draw();
}

|