Merge branch 'master' of github.com:processing/processing

This commit is contained in:
Ben Fry
2013-02-16 16:59:33 -05:00

63
java/examples/Demos/Performance/Esfera/Esfera.pde Executable file → Normal file
View File

@@ -6,63 +6,63 @@
*/
int cuantos = 16000;
pelo[] lista ;
float[] z = new float[cuantos];
float[] phi = new float[cuantos];
float[] largos = new float[cuantos];
Pelo[] lista ;
float radio = 200;
float rx = 0;
float ry =0;
void setup() {
size(1024, 768, P3D);
noSmooth();
frameRate(120);
radio = height/3.5;
lista = new pelo[cuantos];
for (int i=0; i<cuantos; i++){
lista[i] = new pelo();
lista = new Pelo[cuantos];
for (int i = 0; i < lista.length; i++) {
lista[i] = new Pelo();
}
noiseDetail(3);
}
void draw() {
background(0);
translate(width/2,height/2);
float rxp = (mouseX-(width/2)) * 0.005;
float ryp = (mouseY-(height/2)) * 0.005;
rx = rx*0.9 + rxp*0.1;
ry = ry*0.9 + ryp*0.1;
float rxp = ((mouseX-(width/2))*0.005);
float ryp = ((mouseY-(height/2))*0.005);
rx = (rx*0.9)+(rxp*0.1);
ry = (ry*0.9)+(ryp*0.1);
translate(width/2, height/2);
rotateY(rx);
rotateX(ry);
fill(0);
noStroke();
sphere(radio);
for (int i=0;i<cuantos;i++){
for (int i = 0; i < lista.length; i++) {
lista[i].dibujar();
}
if (frameCount % 10 == 0) {
println(frameRate);
}
}
class pelo
class Pelo
{
float z = random(-radio,radio);
float z = random(-radio, radio);
float phi = random(TWO_PI);
float largo = random(1.15,1.2);
float largo = random(1.15, 1.2);
float theta = asin(z/radio);
void dibujar(){
Pelo() { // what's wrong with a constructor here
z = random(-radio, radio);
phi = random(TWO_PI);
largo = random(1.15, 1.2);
theta = asin(z/radio);
}
float off = (noise(millis() * 0.0005,sin(phi))-0.5) * 0.3;
float offb = (noise(millis() * 0.0007,sin(z) * 0.01)-0.5) * 0.3;
void dibujar() {
float off = (noise(millis() * 0.0005, sin(phi))-0.5) * 0.3;
float offb = (noise(millis() * 0.0007, sin(z) * 0.01)-0.5) * 0.3;
float thetaff = theta+off;
float phff = phi+offb;
@@ -77,13 +77,14 @@ class pelo
float xb = xo * largo;
float yb = yo * largo;
float zb = zo * largo;
strokeWeight(1);
beginShape(LINES);
stroke(0);
vertex(x,y,z);
stroke(200,150);
vertex(xb,yb,zb);
vertex(x, y, z);
stroke(200, 150);
vertex(xb, yb, zb);
endShape();
}
}