Una de loops
(El darrer post abans de començar el taller. Si heu notat que els posts es van tornant més curts i caòtics, a partir d’ara pot ser pitjor…)
No hi ha res com recórrer als mestres. En un curs a ITP, l’Amit Pitaru proposava el següent exercici per entendre a fer anar loops amb processing, que crec que pot ser molt útil.
Es tracta de reproduir amb codi les següents captures de pantalla.
(i si us pot la impaciència, una solució aquí, tot i que recomano barallar-se amb el codi, en aquest cas )
September 18th, 2006 at 9:02 pm
int ancho =40;
int alto =40;
int cuadrados = 25;
int espacio =5;
int posy ;
int posx;
int posxini =posx;
int posyini =posy;
void setup()
{
framerate(10);
size(225, 225);//ponemos el ancho y el alto de laventana
noStroke();//deshabilita la posibilidad de poner borde
posx = int(random(espacio));
posy = int(random (espacio));
}
void draw()
{
//background(0,0,0);
for(int i=1; i
September 19th, 2006 at 12:06 am
no se escribe el codigo completo
September 19th, 2006 at 12:15 am
enviame’l a mi. No veig quin és el problema, però jo hi he pogut afegir coses
September 19th, 2006 at 1:18 am
fa mal dir-ho, però… la culpa és del firefox, i amb explorer funciona! (almenys pels test que he fet jo, i des de PC…)
September 19th, 2006 at 10:27 am
Ahora con Explorer, a ver si hay suerte!!
int ancho =40;//ancho del rectangulo
int alto =40;//alto del rectangulo
int cuadrados = 50;//numero total de cuadrados
int espacio =5;//espacio entre cuadrados
int posy ;//variables que nos indicara la posicion de cada cuadrado
int posx;
int posxini;//posicion inicial x de cuadrado
int posyini ;//posicion inicial y de cuadrado
void setup()
{
framerate(10);
size(225, 450);//ponemos el ancho y el alto de laventana
noStroke();//deshabilita la posibilidad de poner borde
}
void draw()
{
posy = int(random(espacio));
posx = int(random(espacio));
// posy = int(espacio);
//posx = int(espacio);
posxini = posx; //inicializamos la posicion x
posxini = posy;//inicializamos la posicion x
for(int i=1; i
September 19th, 2006 at 12:03 pm
//El código de Alba
int ancho =40;//ancho del rectangulo
int alto =40;//alto del rectangulo
int cuadrados = 50;//numero total de cuadrados
int espacio =5;//espacio entre cuadrados
int posy ;//variables que nos indicara la posicion de cada cuadrado
int posx;
int posxini;//posicion inicial x de cuadrado
int posyini ;//posicion inicial y de cuadrado
void setup()
{
framerate(10);
size(225, 450);//ponemos el ancho y el alto de laventana
noStroke();//deshabilita la posibilidad de poner borde
}
void draw()
{
posy = int(random(espacio));
posx = int(random(espacio));
// posy = int(espacio);
//posx = int(espacio);
posxini = posx; //inicializamos la posicion x
posxini = posy;//inicializamos la posicion x
for(int i=1; i<cuadrados+1; i++ ) {
float esFinalLinea = i % espacio;//sacamos el resto de dividir el numero de cuadrado actual del loop y el espacio
fill(0,random(255),0);
//print(i);
rect(posx, posy, ancho, alto);//x,y,width,height
//damos posicion de la x sumando a la poscion actual el ancho del cuadrado y el espacio entre ellos
posx = posx+ancho+espacio;
//hacemos un salto de linea si el numero de cuadrados llega al numero de espacios
if (esFinalLinea == 0 ){
//damos posicion de la y sumando a la poscion actual el alto del cuadrado y el espacio entre ellos
posy = posy+alto+espacio;
posx = posxini;
}
}
}
void mousePressed() {
noLoop();
}
void mouseReleased() {
background(0,0,0);//variaciion
loop();
}
September 19th, 2006 at 5:46 pm
http://www.albagcorral.com/processing/ejemplo1/
y aqui una variación
http://www.albagcorral.com/processing/ejemplo2/
September 20th, 2006 at 12:27 pm
Y otro ejemplito
http://www.albagcorral.com/processing/ejemplo3/
En este se puede apreciar bien el efecto que produce dibujar una linea que no es recta.