
PDE Download: Test02eScreenSpaceMinimalFurious.pde
JAVA Download: Test02eScreenSpaceMinimalFurious.java
Click on anar+ terms to get the documentation.
import processing.opengl.*;
import anar.*;
import java.util.Iterator;
/*
* Example for Anar library by Guillaume LaBelle + Julien Nembrini
* http://anar.ch
*/
Face f;
Obj myObj = new Obj();
void setup(){
size(800,400,OPENGL);
Anar.init(this);
initForm();
Face.globalRender = new QuakeNoise(10);
Anar.drawAxis(true);
}
void initForm(){
f = new Star(100,50,6);
Transform t = new Transform();
t.translate(0,0,5);
t.scale(0.98f,0.95f,1);
t.rotateZ(.1f);
for (int i = 0; i<50; i++){
Face tmpFace = new Face(f,t);
myObj.add(tmpFace);
f = tmpFace;
}
Anar.camTarget(myObj);
}
void draw(){
background(200);
myObj.draw();
}
float cf;
Quake(float cf){
this.cf = cf;
}
void draw(Pts pts){
beginShape();
Iterator j = pts.iterator();
while (j.hasNext()){
Pt pt = (Pt)j.next();
vertex((float)pt.x()+rnd(),(float)pt.y()+rnd(),(float)pt.z()+rnd());
}
endShape(2);// CLOSE
}
float rnd(){
return (float) ((float)Math.random()*cf*2-cf);
}
}
int count;
int lastFrame = 0;
float cf;
QuakeNoise(float cf){
this.cf = cf;
}
void draw(Pts pts){
if(lastFrame!=frameCount){
count = lastFrame;
lastFrame = frameCount;
}
beginShape();
Iterator j = pts.iterator();
while (j.hasNext()){
Pt pt = (Pt)j.next();
vertex((float)pt.x()+rnd(),(float)pt.y()+rnd(),(float)pt.z()+rnd());
}
endShape(2);// CLOSE
}
float rnd(){
return (float) (noise(count++/100f)*cf*2-cf);
}
}

|