Paso 4: Colores al azar
OK, arco iris hecho, vamos a hacer unos bonitos colores al azar. ¿Qué puede ser más fácil? Sólo
¿van a hacer bien? Supongo que ya veis que esto dará lugar a las oscilaciones de potencia incontrolable. Es más, esta cosa sobre todo parece tonos ligeramente teñidas de blanco, que llena los tres canales con alguna basura (en modelo HSV que será un promedio de 50% saturación, pero quieras 100%!).
Mira esto:
Aquí no hay ningún problema con el consumo de energía, pero se puede ver que este algoritmo particular favorece el primer canal (rojo): consigue el 50% de valores aleatorios, y la otra mitad se reparte entre los dos restantes. Esto no es tan malo como parece y no se debe desestimar este algoritmo. Ojo humano no es muy bueno en el trato con los colores azul y verdes (de hecho, he leído en algún lugar que aprendimos a distinguirlos colores que no hace mucho tiempo; para los antiguos egipcios eran lo mismo). Pero estamos bastante bien con rojos. Fácilmente podemos decir aparte escarlata, naranja, ocre, amarillo y limón, que estos colores son entre rojo y verde en el modelo RGB. Mismo es cierto para el violeta, morado, fucsia, magenta, rosa y rosa. Pero, ¿te acuerdas de la misma cantidad de tintas cian? ¿Esmeralda? Err... celeste?... Así, engañando un poco con el rojo en su algoritmo aleatorio puede estar perfectamente bien si sabes lo que estás haciendo.
Vamos a intentar un verdadero al azar que no favorecen a cualquier canal de color único. Para esto prefiero utilizar una pequeña matriz de bytes y un contador que se incrementa cada vez que se ejecuta la función:
Está bien, pero estos tres randoms no están bastante saturados porque llenamos tres canales con unos valores. Si queremos colores profundos agradables debemos llenar sólo dos de ellos, dejando la última de ellas en cero. Este algoritmo producirá dichos colores (de hecho, corresponde totalmente al modelo HSV consciente de la energía que nos da tonos claros al 100% saturación):
¿Qué pasa con la tabla de búsqueda de onda sinusoidal que hicimos antes? También puede ser utilizado, y produce colores aún más profunda y más claros, un poco más desplazados hacia el azul, verde y rojo base:
Estos son sólo algunos ejemplos, probarlos para encontrar el que más le convenga. Hay toneladas de maneras de hacer colores al azar, y es una buena idea mezclarlos para obtener mejores resultados.