fullscreen
/*
Hackpact Arte Generativo 2011
Dia 11
Martin Zumaya Hernandez
*/
PVector pos[];
PVector pos_a[];
PVector vel[];
int N = 50000;
int n = N/50;
float dt = 0.1;
float XX = 50;
float YY = XX;
float VV = 5;
float x = 0;
float y = 0;
float ang = 0;
void setup(){
frameRate(50);
size(900,500,P3D);
colorMode(HSB);
noCursor();
pos = new PVector[N];
vel = new PVector[N];
for( int i = 0; i < N; i++){
pos[i] = new PVector(0,0,0);
vel[i] = new PVector(0,0,0);
}
}
void draw(){
background(0);
lights();
// camera(100*cos(ang),100*sin(ang),mouseY,
camera(100*cos(20*ang),mouseX,100*sin(20*ang),
0.0,0.0,0.0,
0.0,0.0,-1.0);
for( int i = 0; i < N; i++){
stroke(100+pos[i].mag(),200,200,200);
rotateZ(10*ang);
rotateY(20*ang);
point(pos[i].x,pos[i].y,pos[i].z);
point(pos[i].x,pos[i].y,-pos[i].z);
point(pos[i].z,pos[i].y,pos[i].x);
point(-pos[i].z,pos[i].y,pos[i].x);
point(pos[i].y,pos[i].z,pos[i].x);
point(pos[i].y,-pos[i].z,pos[i].x);
pos[i].x += random(-25,25)*dt;
pos[i].y += random(-25,25)*dt;
pos[i].z += random(0,120)*dt;
}
for( int i = 0; i < N; i ++){
if( pos[i].mag() >= 450 ){
pos[i].set(0,0,0);
}
}
ang += 0.005;
}
void keyPressed(){
if( key == ' '){
saveFrame(" #### imagen.png");
}
}
Clouds of Points in 3D space rotating around two different axes results in galaxy like formations.