loadPixels, el array pixels[] y updatePixels

Hace un par de artículos vimos cómo lanzar un gran número de puntos a la pantalla y manipular su color. De hecho situamos un punto de un píxel de tamaño sobre cada píxel de la ventana.

En realidad hay una forma de hacerlo con más sencillez: leyendo cada píxel y alterando su color. Para ello usamos la función loadPixels(), que carga todos los píxeles de la ventana del programa. Luego utilizamos el array pixels[], que contiene a cada píxel cargado, y le asignamos un color más o menos aleatorio. Por último, la función updatePixels() actualiza esos colores.
Continue reading

Añadir datos a un array con append()

append
Podemos, por ejemplo, almacenar las coordenadas de las posiciones donde hacemos clic con el ratón como datos de un array.

  1. //declaramos dos arrays vacíos
  2. int x[] = {0};
  3. int y[] = {0};
  4.  
  5. void setup() {
  6.   size(300, 300);
  7.   background(random(50, 75), random(50, 75), random(50, 75));
  8. }
  9.  
  10. void mousePressed() {
  11.   //añadir a los arrays las coord. x e y del cursor hal hacer clic
  12.   x = append(x, mouseX);
  13.   y = append(y, mouseY);
  14. }
  15.  
  16. void draw() {
  17.   int i = 1;
  18.   while (i < x.length) {
  19.     fill(150);
  20.     stroke(0);
  21.     line(x[i-1], y[i-1], x[i], y[i]);
  22.     stroke(255);
  23.     ellipse(x[i], y[i], 20, 20);
  24.     i++;
  25.   }
  26. }

Repasando Processing / Índice

Enlazo aquí los diferentes posts de esta última serie que comenta los contenidos del repositorio que hemos abierto en GitHub.

  1. Repositorio en GitHub
  2. Repasando Processing / Estructuras y Formas básicas
  3. Repasando Processing / Curvas
  4. Repasando Processing / Formas 3D
  5. Repasando Processing / Texto
  6. Repasando Processing / Color
  7. Repasando Processing / Transformaciones / translate()
  8. Repasando Processing / Transformaciones / rotate()
  9. Repasando Processing / pushMatrix(), popMatrix()
  10. Repasando Processing / Condicionales y bucles
  11. Repasando Processing / Funciones y clases
  12. Repasando Processing / Arrays
  13. Repasando Processing / Redes
  14. Repasando Processing / Bitmaps y vectoriales
  15. Repasando Processing / Vídeo
  16. Repasando Processing / Juegos

Repasando Processing / Funciones y clases

En la carpeta Funciones y Clases encontrarás varios ejemplos de sketches que emplean esos elementos. Son aspectos que ya se han tratado aquí y que están comentados en el código, así que no merece la pena extenderse.

Dejo el sketch de la carpeta 4

Repasando Processing / Color

En Color encontramos tres sketches en las que podemos ver cómo gestiona Processing el color.

En la primera modificamos el espacio de color del RGB (rojo, verde, azul) que aplica Processing por defecto al modo HSB (tono, saturación, brillo), y generamos un color aleatorio empleando variables numéricas y la función fill().

color

En la segunda creamos variables de tipo color para crear una paleta de colores identificados por su nombre.

color()

Y en la tercera usamos un array para almacenar colores de una paleta y aplicarlos aleatoriamente en una serie de 100 rectángulos

color[]