Noise Wave en Processing


Este es el código de la visualización

float yoff = 0.0;       

void setup() {
  size(640, 360);
}

void draw() {
  background(51);

  fill(255);
  
  beginShape(); 
  
  float xoff = 0;  
  
  // Iterate over horizontal pixels
  for (float x = 0; x <= width; x += 10) {
    // Calculate a y value according to noise, map to 
    float y = map(noise(xoff, yoff), 0, 1, 200,300); // Option #1: 2D Noise
    
    // Set the vertex
    vertex(x, y); 
    // Increment x dimension for noise
    xoff += 0.05;
  }
  // increment y dimension for noise
  yoff += 0.01;
  vertex(width, height);
  vertex(0, height);
  endShape(CLOSE);
}

Bueno como podemos ver en primera instancia se tiene un método de setup() que nos proporciona el tamaño de la visualización dandole en la instuccion size() el ancho y alto de la ventana.

Posteriormente vemos que empieza un nuevo método llamado draw() con el cual se dibujara la figura que deseamos. Acá encontramos 2 instrucciones básicas que son background() y fill() las cuales colorean el fondo y la figura respectivamente. Una vez declarados los colores empiezan el trabajo principal de la visualización encerrado entre las instrucciones beginShape() y endShape(CLOSE).

Como se vio al comienzo se tienen 2 variables principales yoff y xoff. En un ciclo, por cada x empezando desde 0 hasta el ancho de la ventana y con incrementos de 10, se calcula una posición y que sera el mapeando de una función de ruido como valor principal. Esta función de ruido genera una serie de números aleatorios mas natural y armoniosa en las coordenadas dadas por yoff y xoff; una vez calculado el y se procede a colocar el vértice en la posición (x,y) y se incrementa el valor tanto de xoff como de yoff.

Que sucede si cambiamos el delta de xoff y el delta de yoff? al modificar el delta de xoff veremos mas picos en la vizualizacion mientras que si cambiamos el delta de yoff la onda tendrá un movimiento mas rápido; esto se debe a que los cambios serán mas continuos. A continuación veremos que pasa si con el delta de xoff y con el delta de yoff si se incrementa.


Comentarios

Entradas populares