
PDE Download: Test00uSpiralBroken.pde
JAVA Download: Test00uSpiralBroken.java
Click on anar+ terms to get the documentation.
import processing.opengl.*;
import processing.opengl.*;
import anar.*;
// import geometry.Point3D;
import java.util.*;
/*
* Example for Anar library by Guillaume LaBelle + Julien Nembrini
* http://anar.ch
*/
Obj myObject;
Pts ptsA;
Pts ptsB;
Pt origin;
void setup(){
// size(screen.width,screen.height,OPENGL);
size(1000,500,OPENGL);
Anar.init(this);
myObject = generatorBirdNest00();
}
Obj generatorBirdNest00(){
Obj outputFmz;
ptsA = new Pts();
ptsB = new Pts();
ptsA.add(origin = Anar.Pt(5, -5, -50,"Origine"));
println(origin);
ArrayList spiral = new ArrayList();
Transform tmp;
// Transform 1
tmp = new Transform();
tmp.translate(10,1,1);
tmp.rotateZ(PI/16f);
spiral.add(tmp);
// Transform 2
tmp = new Transform();
tmp.translate(10,1,1);
tmp.rotateZ(PI/12f);
spiral.add(tmp);
// Transform 3
tmp = new Transform();
tmp.translate(10,1,1);
tmp.rotateZ(PI/8f);
spiral.add(tmp);
tmp = new Transform();
tmp.translate( -10,1,1);
tmp.rotateZ( -PI/16f);
spiral.add(tmp);
// println(spiralTransform);
Pt previous = origin;
for (int i = 0; i<1000; i++){
// Pt q = Anar.Pt(previous,spiralA);
// Pt q = Anar.Pt(previous,spiralTransform);
if(random(10)<4)
tmp = (Transform)spiral.get((int)random(spiral.size()));
Transform ori = new Transform(previous,tmp);
Pt q = Anar.Pt(previous,ori);
ptsA.add(q);
previous = q;
}
// ArrayList<Transform> base = new ArrayList<Transform>();
Transform baseTransform;
baseTransform = new Transform();
baseTransform.translate(Anar.PtNull(0,0, -15));
// base.add(baseTransform);
/*
* baseTransform = new Transform();
* baseTransform.translate(Anar.PtNull(0,0,-5)); base.add(baseTransform);
*/
Iterator i = ptsA.iterator();
while (i.hasNext()){
PtDER p = Anar.Pt((Pt)i.next());
// p.set(base.get((int)random(base.size())));
p.apply(baseTransform);
ptsB.add(p);
}
outputFmz = new SweepTwoPaths(ptsA,ptsB);
println(outputFmz);
println(outputFmz.faces.size());
println(outputFmz.faces.get(0));
ptsA.color(new AColor(252,0,0));
// println(outputFmz.primitiveToString(-1));
println("-------------");
// TextIO.writeTextFile("test.lsp",outputFmz.toAutocad());
return outputFmz;
}
void draw(){
if(frameCount%2==0)
background(150);
else
background(148);
origin.draw();
ptsA.draw();
ptsB.draw();
myObject.draw();
if(frameCount%500==0)
myObject = generatorBirdNest00();
}

|