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[]

Repasando Processing / Curvas

Curvas contiene tres ejemplos e funciones que generan curvas.

bezier() muestra cómo crear una curva de Bezier y dibuja en color gris los vectores de control (que no son parte de la curva en sí) para ilustrar la relación entre estois vectores y la forma de la curva

bezier()

bezier()

bezierPoint() calcula la posición de un punto concreto de la curva.

bezierPoint()

bezierPoint()

Y curve() muestra un método diferente para crear curvas. Los vectores de control aparecen en gris, y la posición del cursor en pantalla modifica la longitud de la curva

curve()

curve()

Repasando Processing / Estructuras y Formas básicas

En Estructuras iré dejando algunas plantillas que simplemente facilitarán la edición de otras. No habrá nada especialmente interesante en ellas, pero ahorrarán tiempo a la hora de escribir programas más complejos.

De momento sólo hay dos: una básica y otra para escribir clases.

En Formas básicas hay ejemplos de cómo dibujar elementos gráficos simples: puntos, líneas, rectángulos, circunferencias… la carpeta 09 – createShape incluye una fórmula para dibujar polígonos regulares indicando el número de lados

Repositorio en GitHub

He creado un repositorio en GitHub para facilitar la actualización de contenidos en este blog, y también como herramienta de aprendizaje independiente. A menudo no encuentro el tiempo necesario para mantener el blog al día, espero que así me resulte más cómodo y que eso redunde en un blog más actualizado y por tanto más útil.

Puedes encontrarlo aquí: https://github.com/svcnt/AprendiendoProcessing

Si estás familiarizado con GitHub puedes clonarlo o simplemente descargarte todos los ejemplos en un archivo ZIP. Todos los ejemplos están comentados en el mismo código, no tan profusamente como en el blog, claro.

Espero que os sirva.

En la siguiente serie de posts comentaré qué podéis encontrar en cada carpeta.

Usando un controlador MIDI

Una de las tareas más fatigosas de crear imágenes a partir de código es tener que calcular los valores idóneos para, yo qué sé, el diámetro de una circunferencia, la transparencia de un objeto, la velocidad a la que se mueve un punto… si además tenemos valores que se modifican unos a otros (por ejemplo, que la transparencia de una circunferencia dependa de la velocidad con que se mueve) la cosa va más allá de la fatiga lindando con la agonía.

Esto es así porque, cuando la cosa se complica, la única manera de saber si lo que has programado queda como tu quieres es probando: escribes un valor, pruebas el programa, modificas el valor, vuelves a probar… Si hubiera una forma sencilla de ir variando esos valores a voluntad mientras el programa está en marcha… ¡Tate, que lo hay! ¡Un controlador MIDI!

korg-nanokontrol2-white-595382

Los controladores MIDI son unas herramientas muy usadas por DJs y VJs. En resumen son unos aparatejos llenos de teclas, palancas y botones que sirven para controlar elementos de un programa. Vinculados a un software de DJ se suelen usar como mesa de mezclas. En nuestro caso podemos mapear cada control a una variable o función para modificar su estado o su valor.

Continue reading