De cómo aprendí con el ZX Spectrum: teoría del color

Yo con catorce años no sabía nada de teoría del color. Algún detallito que me habían enseñado en esa asignatura que entonces se llamaba “Pretecnología” (que era muy “Pre” porque no se usaba ni Photoshop ni nada para hacer las manualidades) sobre los colores “cálidos” y los colores “fríos”, pero poco más.

Entonces me regalaron un ZX Spectrum: un artilugio maravilloso que no sólo me llevó a estudiar lo que estudié y a trabajar en lo que trabajo, sino que me permitió aprender tantas cosas que me sigo maravillando de ello aún hoy. Y ya han pasado unos añitos.

Por ejemplo: el sistema de color del ZX constaba sólo de 8 colores distintos (luego empleados en ordenadores más sofisticados), a saber:

Índice Color Muestra
0 Negro
1 Azul
2 Rojo
3 Morado (magenta)
4 Verde
5 Celeste (cyan)
6 Amarillo
7 Blanco

También tenía otros ocho que eran estos mismos con brillo, y un sistema de mostrarlos en pantalla bastante enrevesado que sin embargo tenía un par de buenas ventajas: ahorraba mucha memoria (768 bytes para 256×192=49152 píxeles) y fomentaba una jartá la imaginación de los diseñadores de programas para que no se notara el tremendo pixelado de los colores. Pero ésas son otras historias.

Vista esa tabla de colores como está arriba no parece gran cosa, ni que eso suponga que un niño aprenda nada del otro jueves. Pero veamos qué pasa si añadimos el número de cada color en binario:

Índice Binario Color Muestra
0 000 Negro
1 001 Azul
2 010 Rojo
3 011 Morado (magenta)
4 100 Verde
5 101 Celeste (cyan)
6 110 Amarillo
7 111 Blanco

Fijaos qué cosa más curiosa: en binario, se puede interpretar que el número es como una serie de tres interruptores, cada uno encendiendo (si está a 1) una luz de un color “básico”, o apagándola (si está a 0). Concretamente, podemos deducir de la tabla anterior los siguientes colores “básicos” asignados a cada uno de los tres bits:

Bit Luz
0 (menos significativo, o sea, más a la derecha) Azul
1 (en medio) Roja
2 (más significativo, o sea, más a la izquierda) Verde

Visto de esta manera, está claro que si no encendemos ninguna de estas luces “básicas” tenemos ausencia total de color (=negro), si las encedemos todas tenemos el color más luminoso (=blanco), y si encendemos sólo algunas tenemos una mezcla de “luces básicas” que da otra luz que ya no es básica:

Índice Binario Color Mezcla
0 000 Negro (ningún color)
1 001 Azul (color “básico” puro)
2 010 Rojo (color “básico” puro)
3 011 Morado (magenta) Rojo+Azul
4 100 Verde (color “básico” puro)
5 101 Celeste (cyan) Verde+Azul
6 110 Amarillo Verde+Rojo
7 111 Blanco (todos los colores)

Es decir: que la mezcla de luz roja y azul da una luz morada; la de verde y azul, celeste; la de verde y roja, amarilla. Que es exactamente lo que pasa en la realidad física. En teoría del color, los colores verde, rojo y azul (ésos tan conocidos en las teles y monitores por sus siglas RGB), en el contexto de luces que se emiten con esos colores, se llaman primarios, porque no son mezcla de otros. Los que sí lo son, concretamente de dos primarios, se llaman colores secundarios, formando así una especie de operación aditiva matemática (commutativa) de los colores1.

No es poca cosa todo esto para haberlo aprendido sin darme cuenta -mientras aprendía otras muchas de las que sí me daba cuenta- y para haberme servido luego en multitud de ocasiones. De hecho, ahora recuerdo perfectamente de memoria el índice de cada uno de los colores del ZX, simplemente porque recuerdo que el azul es el 1, el rojo el 2 y el verde el 4 (potencias de dos). Como el resto son sumas de ésos, y sé que el morado es azul más rojo, su número en el ZX tenía que ser forzosamente el 3.

También recuerdo de memoria números como 16384, 6144, 768, 6912, 17, 65536, 32768, 49152, 23728-23729, 23552, 256 y otros que aprendí mientras jugaba con el Spectrum. Como he dicho antes, cada uno de ellos también tiene su historia 🙂


1 En el caso de la luz reflejada (que no emitida), la aditividad del color es distinta, e incluso los colores primarios cambian: básicamente, un pigmento es de un color determinado porque refleja hacia tus ojos la luz de ese color, absorbiendo el resto, así que si le añades otro pigmento que absorba luces de colores diferentes a los que absorbe el primero, tienes bastantes posibilidades de recibir en tus ojos menos luz en total: ése es el motivo por el que la mezcla de muchos pigmentos diferentes da un pigmento negro (al contrario que la mezcla de muchas luces emitidas diferentes, que da una luz emitida blanca).

Facebooktwitterredditlinkedintumblrmail

3 thoughts on “De cómo aprendí con el ZX Spectrum: teoría del color

  1. Pingback: De cómo aprendí con el ZX Spectrum: teoría del color

  2. Pingback: Lithographica » Blog Archive » Las imágenes del ZX Spectrum

  3. Pingback: Efficient BASIC coding for the ZX Spectrum (V) – Lithographica

Comments are closed.