7 | Colores y estilos |
Wolfram Language no solamente trata con cuestiones de tipo numérico. Maneja, por ejemplo, otros elementos tales como colores. Permite referirse a los colores comunes por sus nombres.
Red representa el color rojo:
In[1]:= |
Out[1]= |
In[2]:= |
Out[2]= |
Se pueden llevar a cabo operaciones con colores. ColorNegate produce “el negativo” de un color, es decir, el color complementario. Blend realiza la mezcla de una lista de colores.
El negativo del color amarillo da el color azul:
In[3]:= |
Out[3]= |
In[4]:= |
Out[4]= |
Un color puede especificarse indicando cuánto contiene de rojo, verde y azul. Eso se hace con la función RGBColor, dando el nivel de cada color, entre 0 y 1.
El máximo de rojo, sin verde ni azul:
In[5]:= |
Out[5]= |
Cuando rojo y verde toman su nivel máximo, se obtiene amarillo:
In[6]:= |
Out[6]= |
Aquí se presenta una tabla de colores con el rojo a su máximo y diferentes niveles de verde:
In[7]:= |
Out[7]= |
Muchas veces se desea especificar los colores en términos de tonalidad, mejor que directamente en términos de rojo, verde y azul. Esto se logra mediante la función Hue.
Una tonalidad de 0.5 corresponde al color turquesa:
In[8]:= |
Out[8]= |
In[9]:= |
Out[9]= |
Muchas veces se quiere elegir un color al azar y esto se puede hacer con RandomColor. Al indicar RandomInteger[10], se está solicitando generar un entero aleatorio del 0 al 10, aunque en aquel caso no es necesario especificar un valor, así que basta con escribir RandomColor[], sin escribir explícitamente un argumento.
Genere un color al azar:
In[10]:= |
Out[10]= |
Forme una tabla de 30 colores al azar:
In[11]:= |
Out[11]= |
Si se mezclan muchos colores al azar se obtiene, por lo general, algo turbio:
In[12]:= |
Out[12]= |
Los colores pueden usarse en cualquier situación. Así, por ejemplo, se puede dar un estilo con colores a una salida.
Aquí se muestra el número 1000 en color rojo:
In[13]:= |
Out[13]= |
Aquí se ven 30 enteros aleatorios, en colores escogidos al azar:
In[14]:= |
Out[14]= |
Otra manera de dar un estilo es utilizar diferentes tamaños. Puede especificarse un tamaño de fuente con Style.
Muestre una x con estilo de tamaño de 30 puntos:
In[15]:= |
Out[15]= |
Esto da un estilo al número 100 en una secuencia de diferentes tamaños:
In[16]:= |
Out[16]= |
Puede combinarse el estilo de color con el de tamaño; aquí aparece la x en 25 colores y tamaños aleatorios:
In[17]:= |
Out[17]= |
Red, Green, Blue, Yellow, Orange, Pink, Purple, ... | colores | |
RGBColor[0.4,0.7,0.3] | color rojo, verde, azul | |
Hue[0.8] | color especificado mediante tonalidad | |
RandomColor[ ] | color escogido al azar | |
ColorNegate[Red] | negativo de un color (complemento) | |
Blend[{Red,Blue}] | mezcla una lista de colores | |
Style[x,Red] | estilo con un color | |
Style[x,20] | estilo con un tamaño | |
Style[x,20,Red] | estilo con un tamaño y un color |
1.1Forme una lista de rojo, amarillo y verde. »
1.1Calcule el negativo del color naranja. »
1.1Forme una columna de colores con tonalidades que vayan del 0 al 1, en incrementos de 0.05. »
1.1Forme una lista de colores con rojo y azul en sus niveles máximos, y el verde con valores de 0 a 1 en incrementos de 0.05. »
1.1Genere una lista de colores que varíen del rojo al verde, donde las componentes x de verde varíen del 0 a 1 en incrementos de 0.05, y las rojas tomen los valores 1-x. »
1.1Cree una lista de colores sin rojo ni azul, y donde el verde varíe de 0 a 1 y de regreso hasta el 0 con incrementos de 0.1 (sin que se repita el 1). »
1.1Mezcle los colores rosa y amarillo. »
1.1Mezcle el color rojo con su negativo. »
1.1Forme una lista de los colores obtenidos al mezclar el amarillo con las tonalidades del 0 al 1 en incrementos de 0.05. »
1.1Obtenga la mezcla de colores con tonalidades del 0 al 1 en incrementos de 0.1. »
1.1Mezcle el color rojo con el blanco y mezcle el resultado de nuevo con el blanco. »
1.1Construya una lista de números del 0 al 1 en incrementos de 0.1, cada uno con una tonalidad igual a su valor. »
1.1Formar una lista de 100 colores aleatorios. »
1.1Haga una columna para cada número del 1 al 10, cada uno presentado primero en rojo y luego en verde. »
1.1Forme columnas de los números del 1 al 10, presentados en estilos llano, negrita y cursiva en cada columna. »
1.1Utilice Part y RandomInteger para formar una lista de longitud 100, donde cada elemento aparezca con un color Red, Yellow o Green escogido al azar. »
1.1Utilice Part para construir una lista de los primeros 50 dígitos en 2^1000, de manera que cada dígito se presente con un tamaño igual a 3 veces su valor. »
¿Qué colores pueden llamarse por nombre en Wolfram Language?
Red, Green, Blue, Black, White, Gray, Yellow, Brown, Orange, Pink, Purple, LightRed, etc. (que corresponden, respectivamente, en español a rojo, verde, azul, negro, blanco, gris, amarillo, café o marrón, naranja, rosa, morado, rojo claro, etc.) En la Sección 16 se verá cómo usar en el teclado ctrl+= para ingresar cualquier color en el idioma inglés.
En esencia, a que así es como los seres humanos perciben los colores: hay tres tipos de células en los ojos que, respectivamente, son más o menos sensibles a los componentes rojo, verde y azul de la luz. (Otros organismos funcionan de manera diferente).
¿Qué es lo que sucede al tomar el negativo de un color?
Se generan colores complementarios, definidos por el cálculo de 1 - valor (1 menos el valor) para cada uno de los componentes RGB. Si se toma el negativo de “mostrar los primarios (luz emitida)” rojo, verde, azul, se obtiene “mostrar los primarios (luz reflejada)” turquesa, magenta, amarillo.
¿Qué es tonalidad?
Es una manera de especificar lo que usualmente se conoce como colores puros, independientemente de su tinte, matiz, saturación o brillo. Los colores de diferentes tonalidades se suelen acomodar alrededor de una rueda de colores. Los valores RGB de una tonalidad particular están determinados por una fórmula matemática.
Sí. Una muy común (implementada por Hue) que consiste en usar la combinación de matiz, saturación y brillantez. Hay otros ejemplos, como LABColor y XYZColor. GrayLevel representa matices de gris, donde GrayLevel[0] es negro y GrayLevel[1] es blanco.