/** Linea que se construye en el espacio 3D. Mueva el mouse en sentido vertical y horizontal para cambiar la vista. / Emiliano Causa - Julio 2006 / e_causa@yahoo.com.ar / www.emiliano-causa.com.ar */ float[] x,y,z; float paso; int total; int cant; float maxDist; int rango=300; void setup(){ size(800,600,P3D); noFill(); stroke(255); strokeWeight(10); total = 5000; x = new float[total]; y = new float[total]; z = new float[total]; cant = 1; paso = 30; x[0]=0; y[0]=0; z[0]=0; colorMode(HSB,rango); maxDist = 100; } void draw(){ background(0); translate(400,300,-maxDist*1.2); rotateY(linea(mouseX,200,600,-HALF_PI,HALF_PI)); rotateX(linea(mouseY,100,500,-HALF_PI,HALF_PI)); x[cant] = x[cant-1] + random(-paso,paso); y[cant] = y[cant-1] + random(-paso,paso); z[cant] = z[cant-1] + random(-paso,paso); maxDist = max( x[cant] , maxDist ); maxDist = max( y[cant] , maxDist ); maxDist = max( z[cant] , maxDist ); cant++; if(cant>=total){ cant=1; maxDist = 100; } for(int i=1;i