Pràctica 1. Introducció a Processing i canvi del color de fons

Aquesta primera pràctica podriem dir que és per “perdre la por”. Un concepte que em semble molt positiu, ja que si es demana massa a l’alumne abans que hagi tengut temps d’assimilar els continguts es crea una situació una mica frustrant que no ajuda precisament a esforçar-se al màxim en el que queda d’assignatura. És a dir, facilet al principi i pujant el nivell a cada passa fins arribar a una Pràctica Final d’una certa complexitat.

No m’enrotllo més, aquest és el codi dels dos exercicis presentats:

 

float rndcol; // declaració variable color aleatori

void setup() {
  size(800, 600); // mides de la pantalla de l'sketch
  frameRate(30); // velocitat constant de 30 quadres per segon
  colorMode(HSB, 1.0); // mode de color hue,sat,bri
  textSize(80); // mides text
  textAlign(CENTER, CENTER); // alineació text centrat
}

void draw() {
  if (frameCount%30 == 0) { // cada 30 quadres
    rndcol=random(1); // assignem un valor aleatori entre 0 i 1
  }
  background(0); // el fons de la pantalla de color negre
  fill (rndcol, 1, 1); // assignem el color al farciment del rectangle 
  rect(20, 20, width-40, height-40, 7); // imprimir rectangle en posició i mida indicats
  imprimirText (); // cridar la funció imprimirText()
}

void imprimirText() { // declaració funció imprimirText()
  fill(1); // assignar color blanc per contorn text
  text("Hello world!", width/2, height/2); // imprimir text en color contorn
  fill(0); // assignar color negre per text
  text("Hello world!", width/2+3, height/2+3); // imprimir text una mica desplaçat
}

 

 

 

float densitat=0.0008;
float velocitat=0.01;
float zPerlin = 0.0;
float textHue;

void setup() {
  size (800, 600);
  frameRate(30);
  loadPixels();
  colorMode(HSB, 1.0);
  textSize(80);
  textAlign(CENTER, CENTER);
  noiseDetail(8,0.3);//canvia la distribució de freqüències del noise
}

void draw() {
  // punt inicial x espai perlin
  float xPerlin = 0.0;
  for (int x = 0; x < width; x++) {
    // punt inicial y espai perlin
    float yPerlin = 0.0; 
    for (int y = 0; y < height; y++) {
      float hue = noise(xPerlin, yPerlin, zPerlin); 
      pixels[x+y*width] = color(hue, 1, 1);
      // Incrementar posició y en l'espai Perlin.
      yPerlin += densitat;
    }
    // Incrementar posició x en l'espai Perlin.
    xPerlin += densitat;
  }
  // Incrementar posició z (temps) en l'espai Perlin cada frame.
  zPerlin += velocitat;
  updatePixels();
  imprimirText (zPerlin);
}

void imprimirText(float zp) {
  float colr= noise(zp);
  fill(1-colr, 0.5, 0.5);
  text("Hello world!", width/2, height/2);
  fill(colr, 1, 0.8);
  text("Hello world!", width/2+3, height/2+3);
}

 

 

Leave a Reply