jueves, 5 de febrero de 2015

SERPIENTE ROJA

http://www.openprocessing.org/sketch/184431


    1.- En primer lugar, para hacer únicamente un circulo inmóvil, debemos poner el siguiente código:
void setup() {
size(400, 400);
}
void draw() {
 noStroke();                // Dibuja formas sin 'borde'
fill(255, 0, 0);           // Haz que las figuras sean de color rojo
ellipse(100, 100, 30, 30); // Circulo de 30 pixels de diametro
}

(las letras verdes son aclaraciones de lo que significa cada palabra, pero no es necesario ponerlo)

    2.-Después, para conseguir una línea gruesa móvil de un solo color, que se traza a medida que mueves el ratón debes poner este código:

void setup() {
size(400, 400);
}
void draw() {
noStroke();     
fill(255, 0, 0);  
ellipse(mouseX, mouseY, 30, 30); // Circulo de en funcion de las coordenadas del raton

}

(se reemplazan las coordenadas de la ellipse poniendo en su lugar mouseX y mouseY, lo que permite que la línea se dibuje en función del movimiento del ratón)

    3.-En tercer lugar, para conseguir una línea gruesa móvil de varios colores (ej:rojo y negro), que se traza a medida que mueves el ratón, tienes que poner el código:


int rojo = 255;
  void setup() {
  size(400, 400);
}
 void draw() {
  rojo = rojo - 1;            // Haz el rojo un poco mas obscuro
  if (rojo < 0){
    rojo = 255;              // Cuando llegue al maximo de obscuridad, hazlo claro otra vez
  }
   
  noStroke();            
  fill(rojo, 0, 0);         
  ellipse(mouseX, mouseY, 30, 30);
}
   4.-A continuación, para realizar, una línea gruesa trazada por elmovimiento del ratón y que cambia a medida de los minutos que pongamos se debe introducir el siguiente código:
int rojo = 255;
int tiempo = 0;
void setup() {
size(400, 400);
}
void draw() {
 tiempo = tiempo + 1;  // Incrementa el tiempo en una unidad
rojo = int(128 * (1 + sin(tiempo * 2 * PI / frameRate / 20)));  // Cambia el rojo, repite el color cada 20s
noStroke();     
fill(rojo, 0, 0);  
ellipse(mouseX, mouseY, 30, 30);
}

Las variables respecto al tiempo (que es lo que nos interesa eneste apartado) se pueden cambiar.

   
5.- Por ultimo, para realizar una línea con diferentes grosores y colores que depende del tiempo y que se pinta por el movimiento del ratón, se introduce el siguiente código:
int rojo = 255;

int tiempo = 0;
int diametro = 50;
void setup() {
size(400, 400);
}
void draw() {
tiempo = tiempo + 1;
rojo = int(128 * (1 + sin(tiempo * 2 * PI / frameRate / 20)));
diametro = int(50 * (1 + sin( tiempo * 2 * PI / frameRate / 5))); // Modifica el diametro del circulo con el paso del tiempo
noStroke();      
fill(rojo, 0, 0, 50);  // Añade un 50% de transparencia al color

 ellipse(mouseX, mouseY, diametro, diametro);
}

Estos serían algunos de los ejemplos:



(Estas ¨serpientes¨ se les pueden modificar el color, siguiendo los pasos expuestos en el trabajo de las líneas coloreadas)



No hay comentarios:

Publicar un comentario