Source: http://www.matematicalia.net/index2.php?option=com_content&task=view&id=68&pop=1&page=0&Itemid=75
Timestamp: 2018-02-24 19:35:42+00:00

Document:
Bordando imágenes (*)
página web: http://emmy.nmsu.edu/~jalvarez
La palabra “fotografía” proviene del griego phōs (luz) y graphos (escrito). Literalmente quiere decir “escrito por la luz”. Este nombre tiene sentido cuando pensamos en hacer una fotografía con una cámara usual. Pero ¿cuál es el proceso que permite mostrar una imagen en la pantalla de un ordenador? Puesto que un ordenador sólo entiende de números, la imagen que vemos en la pantalla debe de ser el resultado de la interacción entre luz y números. Con el fin de motivar lo más básico de esta interacción vamos a usar la idea del bordado a punto cruz, una técnica que existe desde hace ya muchos siglos.
En esta técnica se comienza con una página cuadriculada donde se tiene el patrón del diseño que se quiere bordar. Cada uno de los colores a usar en el bordado se indica con un trazo diferente, el cual se corresponde con el nombre del color y con un número. En realidad, los fabricantes de hilos de bordar sólo usan números para describir los colores; los nombres se los dan los diseñadores y las editoriales para facilitar la interpretación del patrón.
Por ejemplo, la Figura 1(b) muestra el patrón del símbolo japonés que se ve en la Figura 1(a), el cual representa la palabra este. El tamaño del patrón se da en puntadas. Por ejemplo, el patrón en la Figura 1(b) tiene 37 puntadas de largo, que es la medida horizontal, por 36 puntadas de ancho, que es la medida vertical. Cada puntada corresponde a un cuadradito en la rejilla. En la Figura 1(c) puede verse la clave para reproducir el diseño. Lo único que no está especificado es el tamaño de la cuadrícula.
Figura 1(a).
Figura 1(b).
37 puntos por 36 puntos
Figura 1(c).
Todo esto está muy bien, pero se estarán preguntando: ¿qué tiene que ver el punto cruz con un ordenador? En realidad tiene mucho que ver. Si miramos de cerca la pantalla del monitor veremos una rejilla, y a medida que apretamos las teclas, las letras o los símbolos que aparecen en la pantalla realmente se asemejan a un bordado a punto cruz. El número de cuadrados minúsculos que forman la rejilla es la resolución de la pantalla. Esta resolución se expresa en una unidad llamada píxel.
El píxel no es realmente una unidad de medida como el centímetro o el metro, sino es una manera de describir una rejilla. Por ejemplo, la resolución de una cierta pantalla podría ser 640×480, lo cual querría decir que esta rejilla tiene 640 píxeles, o segmentos, en la dirección horizontal y 480 píxeles, o segmentos, en la dirección vertical. ¡También podría interpretarse como que la rejilla tiene 307 200 píxeles, o cuadrados! ¿Qué pasa con lo que vemos en la pantalla si cambiamos la resolución? Con el fin de contestar a esta pregunta, volvamos a usar la metáfora del punto cruz. En la Figura 2(a) podemos ver el símbolo “bordado”. La irregularidad de los bordes indica que el bordado es sólo una aproximación del símbolo. Si incrementamos el número de cuadrados en la rejilla, el bordado será más pequeño y la irregularidad de los bordes se notará menos. La Figura 2(b) muestra este efecto, que se obtuvo dividiendo en cuatro cada uno de los cuadrados de la rejilla original.
Figura 2(a).
Figura 2(b).
Volviendo a la pantalla del monitor, podemos deducir que un incremento en la resolución producirá una imagen que muestra mejor los detalles más finos. El precio que pagamos es el tener una imagen más pequeña, que quizá sea difícil de ver cuando la resolución es muy grande.
Como ya hemos dicho, los colores en nuestro bordado son codificados usando números. Por ejemplo, en la Figura 3(a) hemos destacado una porción del símbolo en rojo brillante con su fondo naranja claro. Esta porción del bordado está representada en la Figura 3(b) por medio de 8×8=64 números, que son los números asignados a los colores en la Figura 1(c).
Figura 3(a).
Necesitaríamos un total de 37×36=1 332 números para representar por completo el símbolo y su fondo. Estos números son en realidad todo lo que necesitamos para reproducir los diseños de las Figuras 2(a) y 2(b). Pensándolo mejor, podríamos haber usado directamente números en la Figura 1(b). Matemáticamente hablando, estas formaciones de números como la que se ve en la Figura 3(b) se llaman matrices. Lo habitual es indicarlas dando el número de filas por el número de columnas, o en el lenguaje del punto cruz, como el número de puntadas verticales por el número de puntadas horizontales. Pero ¡un momento!, esto es precisamente lo contrario de lo que tenemos en la Figura 1(c), donde dice que el diseño tiene 37 puntadas de largo por 36 puntadas de ancho. En efecto, si aplicamos esta notación a la matriz de la Figura 3(b), el largo es el número de columnas, mientras que el ancho es el número de filas. ¿Qué pasa aquí? Lo que estamos observando es que bordadores y matemáticos no indican sus formaciones de números de la misma manera. ¿Es esto muy importante? ¡Claro que no! Las dos maneras funcionan perfectamente bien, cada una en su propio terreno. Ahora que estamos hablando de esto, ¿por qué será que los matemáticos cuentan primero las filas y luego las columnas? Quizá sea porque las matrices son usadas para representar sistemas de ecuaciones. Por ejemplo, la matriz
contiene toda la información que se necesita para reconstruir la parte destacada en el sistema
de dos ecuaciones con tres incógnitas. ¿Ven como decimos dos ecuaciones, o filas en la matriz, con tres incógnitas, o columnas en la matriz? Sin embargo, aún dentro de las matemáticas, éste no es siempre el caso. En efecto, si alguien nos pidiera que describiéramos el rectángulo de la Figura 4,
apuesto a que entonces pensaríamos como los bordadores, dando primero el largo a y luego el ancho b. Por otra parte, cuando tuve que fijar los lados de este rectángulo, el sistema operativo de mi ordenador me pidió que seleccionara primero el ancho a y luego la altura b. Así vemos que raramente los nombres y las notaciones son universales. Su elección depende del contexto en que se usen, con lo cual no hay ningún problema, siempre y cuando tengamos claro ese contexto.
Volviendo a nuestro bordado, quizá se estén preguntando para qué insistir en usar todos esos números. Imagínense que tuvieran que describir el símbolo de la Figura 1(a) por teléfono. Sería bastante difícil el describir la forma del símbolo correctamente, ¿verdad? Sin embargo resulta trivial, en principio, el describirlo al menos aproximadamente, cuando la forma del símbolo ha sido convertida en un manojo de números. Digo con precaución en principio, porque si el manojo de números fuera enormemente grande, quizá tomaría mucho tiempo el transmitirlo, incluso para un ordenador. Pero no nos vamos a preocupar aquí por este detalle, aunque ya podemos ver que nuestro ejemplo sencillísimo ha resultado en la necesidad de usar muchos números. Y aún no hemos visto toda la historia. Eso de describir cada color con un solo número, no es realmente como funcionan las cosas.
La idea del color es en efecto una idea muy compleja, bastante difícil de describir en palabras o de cuantificar. Un método que los pintores usan es describir el color usando tres atributos: matiz, saturación y valor. Básicamente, el matiz de un color indica dónde ubicarlo, entre los rojos, o los verdes, o los amarillos, etcétera. La saturación indica cuán diluido es el matiz. El tercer atributo, el valor, describe si el color es oscuro o claro.
Otra manera en la cual podemos imaginarnos un color, es como una mezcla de colores básicos. El sistema llamado RGB, por los nombres ingleses de los colores rojo, verde y azul, usa distintas proporciones de estos tres colores para obtener casi todos los demás. En un modelo comúnmente usado en ordenadores, la cantidad de cada uno de los colores rojo, verde y azul se indica con un número de 0 a 255. ¡Por lo tanto, el número total de colores disponibles es 256×256×256=16 777 216! Lo más probable es que el sistema operativo de cualquier ordenador tenga una manera de manejar el color, la cual nos permite experimentar con esta idea de mezclar colores, y describir los atributos resultantes usando números. Para mantener las cosas bajo control, evitaremos cualquier referencia a los procesos físicos y químicos por los cuales los números se convierten en colores visibles en la pantalla. Los libros Colour: Why the world isn't gray [11] y El arte del color [7], analizan la idea del color desde muchos puntos de vista y son una excelente introducción a estos temas.
Después de todos estos comentarios, debería estar claro que nuestro intento inicial de asignar un solo número a cada color fue una simplificación excesiva. En efecto, cada píxel en la pantalla deberá ser “pintado” con tres números. Podemos pensar que cada una de estas “manos de pintura” es una función que asigna a cada punto, o pixel, en la pantalla, un número de 0 a 255. Así nos encontramos con números mucho más grandes que los que hemos visto hasta ahora. En efecto, una resolución de 640×480 es en realidad bastante mala. Mejor sería el tener una resolución de, digamos, 1024×768. En una pantalla con esta resolución, necesitaremos millones de números para representar los colores.
Quizá se estén preguntando de dónde viene esto de usar una escala de 0 a 255 en el sistema RGB. Aquí va una explicación. La verdad es que los ordenadores son muy remilgados. No sólo piden comer nada más que números, sino que también exigen que los números sean preparados de una manera especial. Un ordenador del tipo que usamos en la actualidad, sólo entiende la acción de apagar o encender una corriente eléctrica. Por ello, tal ordenador sólo se alimenta de números representados con dos símbolos, o bits, 0 y 1, que corresponden al apagado y encendido de la corriente, respectivamente. La representación en este sistema, llamado binario, se hace escribiendo los números en potencias de 2, en lugar de las habituales potencias de 10.
Por ejemplo, 37 = 32+4+1 = 1×25 + 0×24 + 0×23 + 1×22 + 0×21 + 1×20. Es decir, que la representación del número 37 en potencias de 2, o en base 2, es 100101. Podríamos haber escrito 0100101, 00100101, 000100101, etcétera. Lo importante es que 25 es la mayor potencia de 2 que es menor o igual que 37.
Puesto que 27=128 y 28=256, podemos ver que 255 = 128+127 = 128+64+63 = ..., por lo cual 255 = 1×27 + 1×26 + 1×25 + 1×24 + 1×23 + 1×22 + 1×21 + 1×20. Es decir, que la representación de 255 en base 2 está dada por la sucesión 11111111, que consta de ocho unos. Como consecuencia de esto, las representaciones binarias de todos los números de 0 a 255, son precisamente todas las sucesiones de ocho ceros o unos desde 00000000 a 11111111. Una sucesión de ocho ceros o unos, o un byte, es una unidad de almacenaje comúnmente usada en ordenadores. Esto explica el uso de la escala de 0 a 255. Entonces, en el sistema RGB, cada color está representado por tres bytes o, en otras palabras, por 24 bits. No siempre un monitor tendrá la capacidad de asignar los 24 bits a cada pixel. En ese caso se usará una aproximación al verdadero color, usando un número menor de bits. El “pintado” de la rejilla se hace usualmente bit por bit. Podemos pensar que cada píxel recibe a lo más 24 manos de pintura, y que cada mano tiene un bit de “espesor”. Mirando a la rejilla entera, cada una de las manos es en realidad una matriz de ceros y unos.
Pensándolo bien, esto de reemplazar los nombres de los colores con números suena bastante prosaico. Pero como consolación podemos recordar las palabras del poeta y matemático aplicado Philip Colmes, cuando dice que nuestros modelos son nuestras metáforas [13].
Espero que ahora esté claro el papel central que la noción de rejilla juega tanto en el bordado a punto cruz como en los ordenadores. Este concepto aparece también en otros contextos, por ejemplo en el trabajo del pintor Chuck Close, quien torna fotografías en pinturas enrejilladas gigantescas. Close explica sus retratos enrejillados con estas palabras [6, p. 10]:
... La idea de pintar una cara enorme me abruma. No estoy seguro de cómo puedo producir una nariz a esa escala. Pero si divido la imagen en pequeños trozos, entonces puedo transformar cada decisión que tengo que tomar en muchas, pequeñas, decisiones...
Chuck Close emplea frecuentemente lienzos enormes, que llena de trazos coloridos. Para enfatizar algún rasgo especial, Close usa a veces rejillas oblicuas o circulares, quizá con píxeles de tamaños diferentes. En el libro que acabo de citar, escrito por J. Greenberg y S. Jordan [6], se pueden ver reproducciones de muchas de las pinturas de Close, con explicaciones de las técnicas usadas por el artista.
Volviendo al símbolo japonés bordado a punto cruz, una vez que hemos aproximado su forma y su color, estamos listos para emprender el siguiente paso, que es el suavizar los bordes. ¿Cómo se puede hacer esto? En el bordado a punto cruz, se usan puntadas lineales a todo lo largo del contorno. En diseño y en las artes visuales, reglas y compases fueron en la antigüedad las únicas herramientas disponibles, produciendo resultados no muy satisfactorios con segmentos y arcos de circunferencia. Posteriormente, fue posible reproducir curvas más complicadas usando plantillas de madera o de plástico llamadas curvas francesas, las cuales aún se pueden comprar en cualquier papelería. En la Figura 5(a) se muestra una de estas plantillas, mientras que en la Figura 5(b) se puede ver el resultado de usar la plantilla en nuestro símbolo japonés.
Figura 5(b).
En los años 1930 y 1940, el auge del diseño industrial produjo la necesidad de reproducir curvas y superficies muy complicadas. Hacia fines de la década del 50 y comienzos de la del 60, tuvo lugar un avance monumental cuando el matemático Paul de Faget de Casteljau (nacido en 1933) y el ingeniero mecánico y eléctrico Pierre Bézier (1910-1999), produjeron independientemente una familia de curvas muy versátiles, generadas matemáticamente. En ese entonces de Casteljau trabajaba para la fábrica de automóviles Citroën y Bézier trabajaba para Renault. Ya en 1966 Bézier estaba publicando sus resultados mientras trabajaba para Renault, y es por ese motivo que las curvas se conocen como curvas de Bézier. Estas curvas se convirtieron rápidamente en una herramienta fundamental en el diseño asistido por ordenador, o CAGD (Computer Aided Geometric Design), como se empezó a conocer hacia 1975. El trabajo de de Casteljau para Citroën fue citado públicamente por primera vez en 1971.
Ya hemos mencionado que las curvas de Bézier se obtienen matemáticamente. En realidad, uno de sus mayores atractivos, como veremos enseguida, es la simplicidad y la belleza de las matemáticas que las generan. Para comenzar, pensemos en una curva como el camino recorrido por un punto que se mueve sobre un plano, de acuerdo a una función t P(t) que manda valores del parámetro t a puntos P(t) en el plano. Como podemos ver en la Figura 6, la función P(t) realmente consiste en dos funciones, x(t) e y(t), las cuales dan las coordenadas horizontal y vertical de cada punto P(t).
La función t P(t) es lo que se llama una ecuación paramétrica de la curva, que entonces se dice que está dada paramétricamente. Por supuesto, el que una curva sea o no una curva de Bézier va a depender de cómo se elige la función P(t). Para explicar esta elección en los términos más sencillos posibles, comenzamos por escribir la identidad
1 = 1 − t + t,
con la cual representamos al número 1 como la suma de dos polinomios de primer grado en la variable t. Dados dos puntos cualesquiera P0 y P1 en el plano, vamos a usar estos dos polinomios para armar la función
P(t) = (1 − t) P0 + t P1 ,
que nos da nuestro primer ejemplo de curvas de Bézier, las curvas de Bézier de primer orden. Observemos que P(0) = P0 y P(1) = P1, y que cuando el parámetro t se mueve de 0 a 1, la función P(t) genera el segmento de extremos P0 y P1, como podemos ver en la Figura 7.
Si denotamos P0= (x0,y0) y P1= ( P1,y1) entonces el punto P(t) tendrá las coordenadas x(t) = (1 − t) x0 + tx1 e y(t) = (1 − t) y0 + ty1. Apuesto a que están pensando que estas curvas de Bézier no parecen por ahora muy interesantes. Quizá tengan razón, pero yo sigo en lo mío, escribiendo la segunda identidad
1 = 12 = ((1 − t )+ t) 2 = (1 − t) 2 + 2(1 − t) t + t2.
Lo que estamos haciendo aquí es representar al número 1 como la suma de tres polinomios de grado dos en la variable t. Si ahora elegimos tres puntos P0, P1 y P2, podemos usar estos tres polinomios para escribir la función
P(t) = (1 − t) 2 P0 + 2(1 − t) t P1 + t2 P2 ,
la cual nos da las curvas de Bézier de segundo orden. Esta vez P(0) = P0 y P(1) = P2, ó, en otras palabras, P0 y P2 son los extremos de la curva. ¿Cuál es entonces el rol que juega P1? Este punto P1 se llama control, y para entender qué efecto tiene en la forma de la curva podemos examinar los dos ejemplos de la Figura 8. En el ejemplo de la izquierda, la curva se dirige desde P0 = (0,0) en la dirección de la recta que pasa por los puntos P0 y P1 = (0,1), y se acerca al punto P2 = (1,0) siguiendo la dirección de la recta que pasa por P1 y P2. En el ejemplo de la derecha, la curva se dirige desde P0 = (0,0) en la dirección de la recta que pasa por los puntos P0 y P1 = (1,0), y se acerca al punto P2 = (0,1) siguiendo la dirección de la recta que pasa por P1 y P2.
Extremos: P0 = (0,0), P2 = (1,0)
Extremos: P0 = (0,0), P2 = (0,1)
Control: P1 = (0,1)
Control: P1 = (1,0)
Por lo tanto, uno puede pensar que P0 y P2 son las “anclas” de la curva, mientras que P1 es el “conductor”. En términos matemáticos, los ejemplos de la Figura 8 sugieren que la recta que pasa por los puntos P0 y P1 es tangente a la curva en el punto P1, mientras que la recta que pasa por los puntos P1 y P2 es tangente a la curva en el punto P2.
Continuando con nuestra construcción de las curvas de Bézier, vamos a usar ahora cuatro puntos y cuatro polinomios de tercer grado. El procedimiento es el mismo. Comenzamos con la identidad
1 = 13 = ((1 − t )+ t)3 = (1 − t)3 + 3(1 − t) 2 t + 3(1 − t) t2 + t3 .
A continuación elegimos cuatro puntos, P0, P1, P2 y P3, y escribimos la función
P(t) = (1 − t)3 P0 + 3(1 − t) 2 t P1 + 3(1 − t) t2 P2 + t3 P3, (1)
la cual nos da las curvas de Bézier de tercer orden, que son las curvas de Bézier más usadas. Podemos comprobar fácilmente que P(0) = P0 y P(1) = P3, es decir, que los puntos P0 y P3 son los extremos de la curva. Los puntos P1 y P2 se llaman los controles de la curva. Podemos ver en los ejemplos de la Figura 9 qué efecto tienen estos controles en la forma de la curva de Bézier. En efecto, en cada uno de los ejemplos, la curva se dirige desde P0 en la dirección de la recta que pasa por P0 y P1, y se acerca a P3 en la dirección de la recta que pasa por P2 y P3.
Extremos: P0 = (0,0), P3 = (1,0)
Extremos: P0 = P3 = (0,0)
Controles: P1 = (10,1), P2 = (0,20)
Controles: P1 = (1,1), P2 = (−3,−5)
Controles: P1 = (1,−1), P2 = (−1,1)
Es decir, que esta vez la curva tiene dos anclas, P0 y P3, y dos conductores P1 y P2. Cambiando la posición de los puntos P1 y P2, podemos “tirar” de la curva en dos direcciones diferentes. Esto permite una gran variedad de formas, como se ve en los ejemplos de la Figura 9. Podemos expresar en términos matemáticos lo que sugieren estos ejemplos. La recta que pasa por los puntos P0 y P1 es tangente a la curva en el punto P0, mientras que la recta que pasa por los puntos P2 y P3 es tangente a la curva en el punto P3.
Está claro que podríamos continuar con este proceso indefinidamente, agregando más controles y usando polinomios de mayor grado. Sin embargo, vamos a parar en el caso de tercer orden, porque en general, en las aplicaciones, la manera de obtener una forma complicada es dividirla en secciones y aproximar cada sección con curvas de Bézier de segundo o tercer orden. Uno de los aspectos interesantes de las curvas de Bézier es que quedan definidas en parte usando puntos que están fuera de la curva.
Los ejemplos de las Figuras 8 y 9 muestran que en la mayoría de los casos las curvas de Bézier no son las gráficas de funciones x y. En otras palabras, no se puede despejar t en las fórmulas x = x(t) e y = y(t), para todos los valores de t entre 0 y 1. Esta es precisamente una de las razones por las que consideramos curvas dadas paramétricamente. Estas curvas permiten mucha mayor variedad de formas que las gráficas de funciones x y.
Si quisieran experimentar con estas curvas de Bézier y ver qué flexibles y versátiles son, prácticamente cualquier programa para dibujar en un ordenador les permitirá diseñar sus propias curvas, anclando y tirando. Recuerden que para cada curva hay una función t P(t) que la describe. Como ejemplo, el primer lazo en la Figura 9 consiste en todos los puntos P(t) = (x(t), y(t)) que satisfacen
x(t) = 30t − 60t2 + 31t3
y(t) = 3t + 54t2 − 57t3
para 0≤t≤1. Pueden obtener estas fórmulas simplemente sustituyendo en (1) los valores correspondientes de los extremos y los controles, y haciendo algunas manipulaciones algebraicas sencillas. ¿Quisieran intentar hacer lo mismo con algunas de las otras curvas? Ahora que vemos estas fórmulas, es natural el pensar si no habría sido más fácil el proponer directamente un par de polinomios de tercer grado para x(t) e y(t), y a continuación elegir los coeficientes dependiendo de la forma que uno quiera reproducir. La respuesta a esta pregunta es un rotundo ¡no! Si escribiéramos x(t) e y(t) como dos polinomios habituales, sería muy difícil el vincular los coeficientes de los polinomios con la forma de la curva. Precisamente, lo que hemos hecho es evitar ese problema usando una representación de los polinomios de tercer grado en términos de polinomios muy especiales, (1 − t)3, 3(1 − t) 2 t, 3(1 − t) t2 y t3. Estos polinomios, llamados polinomios de Bernstein de tercer grado, ya tenían una fecunda historia dentro de las matemáticas mucho antes del tiempo de de Casteljau y Bézier, pero fueron ellos definitivamente quienes les dieron una vida mucho más pública dentro del mundo del diseño. Por supuesto, pueden imaginarse que para cada n uno podría escribir los n+1 polinomios de Bernstein de grado n. En efecto, en la misma manera que lo hicimos para n = 1,2,3, esos polinomios aparecerán en el desarrollo del binomio ((1−t ) + t)n. Observemos que el caso n = 0 no es de importancia, porque nos daría la curva P(t) = P0, la cual se reduce a un solo punto. Para ver más, mucho más sobre los polinomios de Bernstein, les recomiendo el libro escrito por G.G. Lorentz [8]. Pero les advierto que las matemáticas de este libro, aunque extremadamente interesantes, se ponen bastante espesas. Los polinomios de Bernstein toman su nombre del matemático ruso Sergei Natanovich Bernstein (1880-1968). Bernstein estudió en París y se graduó en la misma escuela de ingeniería donde Bézier estudió treinta años más tarde.
Lo que hemos visto es sólo el comienzo de cómo definir y usar curvas de Bézier y sus modificaciones. Si quieren conocer la historia completa y más, pueden ver el libro escrito por R.H. Bartels, J.C. Beatty y B.A. Barsky [1]. En este libro, los autores presentan el desarrollo matemático de las curvas de Bézier y otros objetos relacionados de una manera muy intuitiva, evitando las demostraciones formales y reemplazándolas con explicaciones convincentes. Este libro también muestra que las matrices tienen un rol importante en la trama. Como una atracción adicional, el libro incluye un prefacio escrito con gran estilo por el mismo Pierre Bézier.
Antes de que nos olvidemos del porqué de habernos metido en todas estas curvas, la Figura 10 muestra cómo se ve el símbolo japonés después de haber sido suavizado con curvas de Bézier de tercer orden. Lo más importante es observar que en lugar de usar un instrumento mecánico como las curvas francesas, el símbolo ha sido suavizado por medio de fórmulas, las cuales constituyen un método mucho más sistemático y fácil de repetir.
No solamente las curvas de Bézier son una componente importante de muchos programas de dibujo, sino que son también uno de los elementos básicos en el diseño de fuentes. ¿Fuentes? No, no me refiero a las fuentes que adornan plazas y jardines, sino a las colecciones de símbolos hechos en un estilo particular. Por ejemplo, el símbolo que aparece en la Figura 1(a) forma parte de una fuente para el idioma japonés. En un ordenador, las fuentes se diseñan usando rejillas, rectas y curvas de Bézier. Pero eso no es todo. También se incluyen efectos especiales para asegurar que los símbolos se vean igualmente atractivos a cualquier resolución, sea en la pantalla o en una página impresa. ¡Con todos estos detalles por considerar, no es ninguna sorpresa que los manuales de especificación de fuentes sean unos librotes de cientos de páginas!
Después de haber insistido en lo versátiles que son las curvas de Bézier, uno puede preguntarse si en efecto pueden reproducir exactamente cualquier forma de curva. La respuesta es negativa. Por ejemplo, no es posible obtener una circunferencia exactamente, aunque desde luego las curvas de Bézier permitirán lograr una aproximación satisfactoria para cualquier aplicación. ¿Cuán malo es esto de no poder hacer circunferencias? Después de todo cualquier programa para dibujar las hace. Sí, pero si uno está en el negocio de diseñar fuentes, es posible que las herramientas disponibles sean rectas y curvas de Bézier de segundo y tercer orden. Entonces el cómo aproximar circunferencias usando curvas de Bézier se convierte en una pregunta interesante. ¿Les gustaría trabajar en ella? Les sugiero que empiecen con una semicircunferencia centrada en 0 y con radio 1, la cual puede describirse paramétricamente con las ecuaciones
x(t) = cos πt
y(t) = sen πt
para 0≤t≤1. Desde aquí les dejo seguir por su cuenta.
En el artículo de G. Farin [5] y en el libro de P.B. Meggs [9], pueden leer la historia de cómo curvas y superficies han sido usadas en el diseño industrial. Uno de los primeros usos documentados es el de los romanos, quienes fueron maestros en el diseño y construcción de barcos. Los libros de P.B. Meggs [9] y E. Satue [12] examinan la historia del diseño desde muchos puntos de vista. Para leer una somera introducción al diseño asistido por ordenador (CAGD), les recomiendo otro artículo de G. Farin, Shape [4], y el libro de E. Cabello Pardos [2]. Si quieren aprender en más detalle cómo diseñar formas matemáticamente, una buena referencia es el libro de G. Farin y D. Hansford [3].
Volviendo a nuestro punto de partida, si todos los comentarios que he hecho sobre el punto cruz han despertado su curiosidad, la página [10], preparada por nuestra matemática accidental Ángela Otero, tiene mucha información muy bien explicada. Un interesante ejercicio que pueden hacer leyendo esta página, es el traducir al contexto de los ordenadores, los términos y las explicaciones que se dan en la página en el contexto del punto cruz. Como se menciona en esta página, hay programas que permiten transformar fotografías en patrones de punto cruz. Esta transferencia es otra manera de cerrar el círculo entre una imagen y sus aproximaciones.
[1] R.H. Bartels, J.C. Beatty, B.A. Barsky: An introduction to splines for use in computer graphics and geometric modelling. Morgan Kaufmann, 1987.
[2] E. Cabello Pardos: Introducción al diseño por ordenador. Universidad de Salamanca, 1992.
[3] G. Farin, D. Hansford: The essentials of CAGD. AK Peters, 2000.
[4] G. Farin: Shape. En Mathematics unlimited − 2001 and beyond, Springer-Verlag, 2001, pp. 463-477.
[5] G. Farin: A history of curves and surfaces in CAGD. En Handbook of Computer Aided Geometric Design, North-Holland, 2002, pp. 1-21.
[6] J. Greenberg, S. Jordan: Chuck Close, up close. DK Publishing, 1998.
[7] J. Itten: El arte del color. Limusa, 1992.
[8] G.G. Lorentz: Bernstein polynomials. University of Toronto Press, 1953.
[9] P.B. Meggs: Historia del diseño gráfico. Trillas, 1997.
[10] A. Otero: El rincón del punto cruz, http://www.geocities.com/rinconpuntocruz.
[11] H. Rossotti: Colour: Why the world isn?t gray. Princeton University Press, 1985.
[12] E. Satue: El diseño gráfico desde los orígenes hasta nuestros días. Alianza, 1988.
[13] I. Stakgold: Our models are our metaphors. SIAM News 35, no. 1 (2002), 8-9.
Josefina (Lolina) Álvarez es Professor of Mathematics en New Mexico State University (USA). Especialista en análisis armónico y funcional, se doctoró en Matemáticas por la Universidad de Buenos Aires (Argentina), bajo la dirección de A.P. Calderón. Ha ocupado diversos puestos y cargos académicos en la Universidad de Buenos Aires y en las estadounidenses de Princeton, Chicago, Florida Atlantic University y New Mexico. Ha sido investigadora del CONICET (Argentina). Miembro de la Unión Matemática Argentina, Mathematical Association of América y American Mathematical Society, formó parte del Committee on Committees de esta última entre 1999 y 2002. Ha dictado numerosas conferencias en congresos y sesiones especiales e impartido seminarios en Alemania, Argentina, Bélgica, Brasil, Canadá, Colombia, España, Estados Unidos, México, Perú, Polonia, Suecia y Venezuela. Ha pertenecido y en varias ocasiones presidido los comités organizadores de distintos congresos y minisimposia. Ha ejercido como evaluadora para prestigiosas revistas especializadas. Desde 2002 es Editora Asociada del Rocky Mountain Journal of Mathematics. Autora o coautora de numerosos artículos científicos y varias monografías en análisis armónico y funcional y directora de dos tesis doctorales, ha desarrollado asimismo una intensa actividad en el campo de la educación matemática, habiendo recibido diversos galardones a la excelencia docente.
(*) Este artículo está motivado por la conferencia impartida por la autora en el módulo 1 del curso interdisciplinar Sociedad, Ciencia, Tecnología y Matemáticas 2004, celebrado en la Universidad de La Laguna durante los meses de marzo y abril de 2004.

References: resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución