Randy Pausch y la ciencia en Guatemala

Julio 25, 2008

Por litomd

Como muchas personas, hoy, al enterarme de la muerte de Randy Pausch, busqué en YouTube alguna de las innumerables versiones de su “Última Lección”, es decir, el video que se publicó (y que luego se convirtió en libro) cuando el Dr. Pausch dictara la conferencia titulada “How to Achieve your Childhood Dreams” (Cómo Alcanzar los Sueños de tu Niñez) en la universidad Carnegie Mellon en Pittsburgh, en septiembre de 2007.

Para cuando dictó esa conferencia se le había diagnosticado cáncer en el páncreas, extendido al hígado, con un diagnóstico que auguraba solo unos meses más de vida, si no unas cuantas semanas. Así que lo que solía ser un ejercicio académico para el cual se invitaba a distinguidos profesores a dictar una conferencia que fuera como su “Ultima Conferencia”, se convirtió para él en algo mucho más patente y dramático.

Parte de lo extraordinario de su historia es que lo supo hacer como los grandes maestros: llegando al corazón de sus alumnos. En lugar de ver a una persona deprimida y triste por vivir sus últimos momentos, vieron a alguien lleno de energía, satisfecho de la vida que había vivido, de sus logros y de su legado.

Y no es para menos. Una búsqueda de “Randy Pausch” en la biblioteca digital de ACM - The Association for Computing Machinery, la sociedad de ciencias de la computación más importante del mundo - devuelve 210 resultados, la gran mayoría artículos científicos y reportes de investigación de los proyectos en los que participó.

Randy Pausch investigaba en un área que poco a poco va adquiriendo fuerza en las ciencias: la Interacción Humano-Computador o HCI por sus siglas en inglés (IPO en España, es decir, Interacción Persona-Ordenador) y uno de los productos de su trabajo - la plataforma de programación Alice - es conocida y de hecho utilizada en algunos colegios y universidades en Guatemala y en todo el mundo en un esfuerzo por hacer más atractiva la programación y las ciencias de la computación en general, a las nuevas generaciones de jovenes, más acostumbrados a visualizar resultados inmediatos que a diseñar un algoritmo.

Pero lo que me impulsó a compartir estas líneas con ustedes hoy son dos ideas de la “Última Lección” de Randy Pausch. La primera: “Espera lo suficiente y la gente te sorprenderá e impresionará” es una invitación a recuperar la esperanza en el ser humano, no importa que tan improbable sea esperar esos resultados impresionantes. Hoy, casualmente, también es el último día de Converciencias y aunque no he podido asistir a ninguna conferencia (mas que una, vía el sitio del Concyt) pienso que esta idea y las iniciativas tan importantes que van de la mano de Converciencias son las que con el tiempo posibilitarán el que nuestros paisanos nos sorprendan e impresionen… ¡y lo harán! No hay duda. De hecho, ¡muchos ya lo hacen!

La segunda: “los muros existen para darnos la oportunidad de demostrar con cuanto afán deseamos algo” (”brick walls are there for a reason: they let us prove how badly we want things”) nos viene tan a la mano porque a veces parece que el sueño de hacer ciencia en Guatemala tuviera una pared enfrente. Pero esa pared no está ahí para impedirnos pasar, sino para que demostremos que aún con los mayores obstáculos ese sueño es posible.

Personalmente siento una gran admiración por Randy Pausch y me alegra saber que parte de mi trabajo en la Universidad Rafael Landívar aquí en Guatemala fue impulsar la plataforma Alice para enseñanza de la programación en secundaria y diversificado. Estoy convencido de que este tipo de herramientas, donde se enseña a programar creando animaciones en 3 dimensiones, en forma accesible para los más jovenes, estimula la creatividad, el deseo de conocer, la curiosidad, la percepción de las estructuras, la abstracción, en fin, tantas habilidades tan necesarias para la investigación científica, podrían utilizarse con exito en una estrategia nacional de impulso de las ciencias y la tecnología.

Muere un gran científico que deja un legado lleno de lo más noble que un hombre de ciencia puede dejar: la materia para que otros puedan seguir sus pasos en la búsqueda del entendimiento del universo.


No habría Shrek sin matemática, parte II

Julio 21, 2008

Por Enrique

Como habíamos visto en la primera parte de este post , todo proyecto de animación por computadora consta de tres partes: modelado, texturizado y animación. Una vez que tenemos los objetos que conforman la escena, nos damos a la tarea de darles la apariencia adecuada. Es decir, les damos una textura.

La textura puede ser del tipo realista, en donde uno quiere que los objetos tengan el aspecto que tienen en el mundo real. O bien podría ser que el artista está interesado en una animación tipo caricatura, en la cual la textura de los objetos no es tan detallada. En cualquier caso, existen dos formas de darle textura a un objeto. La primera es mediante patrones generados por medio de un algoritmo, llamada textura procedural (procedural texture). La segunda es utilizando fotografías de la textura que se desea emular.

La textura procedural la proporciona el programa mismo y es controlada por medio de parámetros. Por ejemplo, se puede encontrar texturas que semejan nubes, madera, mármol, ruido, gradientes de color y rajaduras. Todas ellas son generadas por fórmulas matemáticas. Son funciones escalares de dos variables en el intervalo [0,1] donde un valor de 0 representa el negro y 1, el blanco (o a la inversa dependiendo el programa que se use). Estas simples imágenes en blanco y negro tienen un potencial increíble. La idea es que no solo proporcionan el color de una superficie o un sombreado. El rango de valores en el intervalo de cero a uno puede ser utilizado para modificar otros atributos del objeto. Por ejemplo, un simple plano puede ser transformado en un terreno con valles y montañas al utilizar una textura de nuble en donde el color de la nube (en escala de gris de 0 a 1) es mapeado a un desplazamiento en la dirección perpendicular al plano. Así, uno puede hacer que las regiones más obscuras sean los valles y las regiones más claras sean las cumbres de las montañas. Todo esto se hace presionando botones y deslizando cursores en los rangos de los parámetros.

También es posible hacer un mapeo entre la escala de grises y el vector normal a la superficie. Esto crea efectos muy realistas de superficies corrugadas. La escala de grises también se puede mapear a otros parámetros de la superficie, como la reflexión, luz de difusión, especularidad, transparencia y otros más. Al especificar valores para cada uno de estos parámetros uno crea el material de cada objeto. El material es lo que hace que una mesa de madera se vea diferente a una mesa de plástico. La madera tiene menos reflexión especular y esto le da un aspecto mate. Un metal pulido, por el contrario tiene mucha reflexión especular, lo que le da un aspecto brillante. Juntos, el material y la textura le dan la apariencia real al objeto. El cálculo del color que cada pixel en la pantalla debe tener — según el objeto que se despliega — se hace por medio del sombreador (shader). El sombreador puede correr en tiempo real, como el caso de los juegos de video (en general, aplicaciones que usan las librerías de OpenGL, por ejemplo); o puede ser llamado para hacer el cálculo (render) de un sólo cuadro en la animación. Un sombreador no es más que una fórmula o un algoritmo que toma en cuenta información como el vector normal, intensidad de luz incidente, reflexión especular, reflexión difusa, reflexión ambiental y devuelve el color adecuado en la dirección en la que el objeto es observado. Existen muchas clases de sombreadores entre ellas: Lambert, Phong y Blinn. Lambert funciona mejor para objetos de aspecto mate y Blinn para objetos brillantes. El tema de los sombreadores es muy extenso y existe mucha investigación en relación a gráficas generadas por computadora. Fabricantes de tarjetas gráficas como Nvidia están constantemente buscando la forma de hacer algoritmos más realistas y más rápidos. En los juegos de video, los cálculos (rendering) se hacen en tiempo real. El poder computacional de las tarjetas gráficas (GPU) es tan grande que actualmente sobrepasa el del procesador normal de la computadora. Aunque no es tan fácil escribir programas que corran en ellos, varias universidades en EEUU están empezando a desarrollar aplicaciones que se beneficien de la capacidad del GPU. ¡Qué gran oportunidad de trabajo para alguien con habilidades matemáticas y de programación!

Volviendo al tema después de este pequeño desvío, la otra alternativa para crear una textura es importando una foto de la textura deseada. Esta es la mejor forma de crear objetos con apariencia realista. Todo lo que hablamos anteriormente de la textura procedural aplica aquí también.

Para que no piensen que este post hubiera sido mejor si mostrara un ejemplo, aquí va uno. Esta animación es un intento de crear la superficie de un lago. Lo que se usa son dos texturas de nubes. Una para las ondas grandes y otra para los detalles pequeños. El sombreador es Blinn con alta reflexión especular. Esta textura se mapea al vector normal del plano para crear el efecto ondulatorio. El movimiento se logra haciendo que el parámetro de desplazamiento de la textura en la dirección perpendicular al plano dependa linealmente del tiempo. El efecto es bastante realista. La guía completa está aquí.


No habría Shrek sin matemática

Julio 5, 2008

Por Enrique

John von Neumann dijo una vez: “Si la gente cree que la matemática no es simple, es únicamente porque no se dan cuenta de lo complicada que es la vida”. Muchas veces he escuchado personas expresando su disgusto por la matemática. Cada quien tiene su propio motivo. Ya sea que son muy complicadas o que no sirven para nada, la mayoría no son más que prejuicios adquiridos por malas experiencias. Es cierto también que cada quien tiene gustos particulares y que no todo mundo se va a inclinar por una sola disciplina o área del conocimiento. Sin embargo, sería ideal que toda persona adquiriera una idea de la basta influencia y beneficio que la matemática puede tener en diferentes escenarios.

Hay quienes han propuesto que el universo está hecho de matemática, que la realidad misma está creada por fórmulas. Es una idea poco convencional que ha encontrado mucha oposición. Si bien nuestro universo no está hecho de matemática hay un mundo que no existiría si no fuera por ella. Totalmente diseñado y manejado por la matemática, es raro encontrar a alguien que no sepa de él. Este es el mundo donde viven personajes como Shrek y Fiona junto a cientos de otros más. Es el mundo de la animación por computadora.

Desde hace ya algunos años he estado aprendiendo este nuevo arte en mis ratos libres. Cada vez que aprendo algo nuevo no dejo de admirarme la manera en que simples fórmulas le dan vida a las escenas más hermosas. No es difícil crear una animación de estas. Lo difícil es encontrar el tiempo para hacerlo. Tampoco es difícil aprender. Yo empecé con Blender, que es un software muy amigable y muy versátil. Es open source y corre tanto en Linux como Windows. Hace un par de años tomé un curso de animación en Maya que es software propietario y no corre en Linux. Ambos paquetes son diferentes. Sin embargo, los principios detrás de la animación son los mismos. Mi relato a continuación apenas rasca la superficie del tema. No son más que observaciones del substrato matemático detrás de este fascinante mundo de la animación por computadora.

Todo proyecto consta de tres partes grandes: modelado, texturizado y animación. En el modelado uno crea los objetos de la escena. La forma de hacerlo consiste en poner juntas figuras geométricas básicas; como esferas, planos, cilindros, cubos, etc. las cuales uno deforma, alarga, subdivide, reescala hasta obtener objetos tan complejos como una cara humana. Existen dos formas de representar la figuras geométricas. La primera es por medio de NURBS (Non-Uniform Rational B-Splines), que no son más que polinomios racionales. Uno especifica ciertos puntos de control y el programa crea una fórmula que interpola la línea o superficie deseada. La otra forma de representar superficies es por medio de polígonos. En este caso uno provee la posición de cada uno de los vértices, pudiendo manipular también la posición de las aristas y las caras de los polígonos.

No está de más aclarar que el usuario no tiene que ingresar ninguna fórmula. El programa provee de un sin fin de herramientas para modelar el objeto deseado de forma óptima. En el ejemplo clásico de modelar una copa de cristal, lo primero que notamos es que la copa es un objeto de revolución. Sólo necesitamos dibujar medio perfil, especificar el eje de rotación y el programa genera la copa.

(Imágenes del manual online de Blender)

Cuando se habla de curvas, Maya tiene el concepto de niveles de continuidad los cuales son C0, continuidad posicional; C1, continuidad posicional y tangencial; C2 continuidad posicional, tangencial y de curvatura. Esto no es otra cosa más que el número de derivadas continuas que uno puede calcular de la curva dada. La idea es que la curva es más suave mientras más derivadas se le pueden calcular (hablando muy a la ligera).

Cuando se trata de superficies, existe el concepto de non-manifold mesh. En este contexto, una superficie es non-manifold cuando se intersecta a sí misma. De igual manera, esta idea tiene relación con el concepto matemático de lo que es un manifold. Un ejemplo de una superficie que es un manifold es una esfera. En general es toda superficie suave que tiene la propiedad de que cuando nos acercamos mucho a un determinado punto, la superficie se ve plana.

En el contexto del modelado de un objeto, una superficie que sea non-manifold causa problemas. El más notorio es cuando el programa calcula el vector normal a la superficie. El vector normal es de vital importacia pues es usado para los cálculos de reflexión y difusión de la luz. Para calcularlo el programa usa las coordenadas de la superficie y el producto cruz entre vectores. Si la superficie es non-manifold (se intersecta a sí misma) el vector normal no puede ser determinado de manera única en la intersección. Esto crea discontinuidades y sombreados artificiales en el objeto.

La localización de cada objeto en la escena se hace por medio de un sistema de coordenadas. Cada vez que se los objetos se trasladan o giran se aplica una transformación de coordenadas sobre los vértices que constituyen el objeto. La translación no es más que una suma de vectores y la rotación se logra a través del uso de matrices que especifican el ángulo y eje de rotación.

Afortunadamente, el usuario no necesita saber los detalles matemáticos detrás del modelo mismo. De lo contrario sería una actividad más científica que artística. El software en este caso, es una interfaz entre el mundo abstracto de la matemática y el mundo artístico de la animación.

El texturizado y la animación también tienen sus detalles, la física hace su aparición aquí. Pero para no extenderme demasiado, los dejaré para otra ocasión.


La Declaración de Toronto

Junio 27, 2008

Por gordoponce

Recientemente se realizó en Toronto el 5o. Congreso Mundial de Centros de Ciencia. Participaron 400 delegados de 51 países. Ignoro si alguien de Guatemala estuvo allí, pero sospecho que no. La voz cantante en la región es Alejandra León, Directora de CIENTEC, de Costa Rica. Lo más relevante de este congreso fue la elaboración de la Declaración de Toronto, en la que establece la importancia de los centros de ciencia (museos, planetarios, etc.) y plantea una serie de estrategias para la creación y el desarrollo de estos centros para convertirlos en focos de alfabetización científica. La declaración establece que

Los centros de ciencia estimulan la curiosidad y desarrollan mentes inquisitivas. Cambian la vida de las personas, influenciando sus actitudes y sus pensamientos. La investigación muestra que los centros de ciencia desmitifican la ciencia comunicando su belleza, mostrando su necesidad y haciéndola accesible al público en general. Hacen que la gente adopte actitudes positivas hacia la ciencia, la ayudan a apreciar el contexto de los avances científicos y a entender la forma en la que la ciencia afecta sus vidas.

y agrega:

La alfabetización científica es tan importante como las alfabetizaciones literaria y numérica. Es también una herramienta poderosa de inclusión social. Los centros de ciencia tienen relevancia para todos los sectores de la población y se han convertido en puntos de reunión para la ciencia y la sociedad. Operan más allá de límites geográficos, económicos, políticos, religiosos y culturales. Tienen impacto sobre el bienestar, la educación, los logros y las destrezas de las generaciones actuales y futuras. Son lugares seguros para conversaciones difíciles.

Los principales puntos de la declaración son los siguientes (puede descargarse la versión completa en inglés, en formato pdf . También hay información en español.)

  • Nosotros, los participantes del 5to Congreso Mundial de Centros de Ciencia, creemos que la ciencia es una herramienta importante para una mejor vida en nuestro planeta.
  • Nosotros abogamos porque todos los ciudadanos tengan acceso a los centros de ciencia y sus servicios, en su misma región. Usaremos nuestro conocimiento y experiencia colectivas para ayudar a expandir las actividades en nuestro sector a lugares y comunidades donde los centros de ciencia sean necesitados y solicitados, pero aún no hayan sido establecidos.
  • Nosotros nos comprometemos a trabajar juntos para sobrepasar barreras culturales, físicas, sociales, económicas y geográficas, para involucrar y conectar a la gente con la ciencia.
  • Nosotros buscaremos activamente aquellos temas relacionados con la ciencia y la sociedad, donde las voces de los ciudadanos deban ser escuchadas y aseguraremos que se lleven a cabo diálogos.
  • Nosotros trabajaremos juntos para identificar cómo los centros de ciencia pueden contribuir al logro de los Objetivos de Desarrollo del Milenio de Naciones Unidas.
  • Nosotros buscaremos financiación y mecanismos que creen un futuro mejor para todos, a través de la colaboración global en temas de relevancia local, nacional y global, incluyendo la conciencia del ambiente, la educación científica y la innovación.

Es importante que la sociedad guatemalteca no quede fuera de esta iniciativa global: “el que tenga oídos, que oiga”.


El misterioso caso del plato que se movió solo

Junio 14, 2008

Por Enrique

Una cierta noche, estaba preparando unos huevos revueltos para cenar. Cuando estuvieron listos, me dí cuenta que no tenía un plato limpio. De inmediato lavé uno y le pasé una servilleta en parte donde se coloca la comida, para remover un poco del agua de la lavada. Todavía goteando, puse el plato en la mesa sin mantel. Tomé el sartén y serví la comida caliente en el plato. Cuando ya estaba sentado con el tenedor en la mano para probar el primer bocado, ¡el plato se desliza sobre la mesa! Con un movimiento suave y sutil, el plato con todo y comida se aleja de mí. Fue una distancia de un centímetro, más o menos. Incrédulo y dudando lo que creí ver, el plato se movió otro poquito más en la misma dirección. Tanta sincronía tuvo el plato que hasta me dio la impresión de que huía del tenedor en mi mano. Confieso que por un momento me asusté. Se supone que los platos no se mueven solos sobre la mesa. Después del sustito inicial y de adoptar la postura racional que desecha las explicaciones que involucran fantasmas, espíritus y poderes ocultos de la mente, no fue difícil averiguar lo que había sucedido.

Pues bien, la explicación es sencilla. El plato aun estaba mojado en la parte inferior cuando lo puse sobre la mesa. Al poner la comida caliente en el plato, el calor elevó la temperatura del aire que quedó atrapado entre la mesa y el plato, pues éste tiene una protuberancia circular que es la que toca la mesa. Al elevar la temperatura del aire atrapado, la presión aumentó al punto que pudo mover el plato deslizándolo sobre la mesa. A esa presión habría que agregar también la contribución de un poco de agua evaporada de la superficie inferior, por la misma acción del calor de la comida.

Para darle más validez a una explicación de este tipo, podemos hacer un cálculo aproximado, una back-of-the-envelop calculation. La idea es que la energía transferida al aire atrapadado debajo del plato sea mayor que el trabajo necesario para deslizar el plato sobre la mesa. El trabajo lo calculamos como el producto de la fuerza de fricción y la distancia recorrida. Asumiendo un coeficiente de fricción de 0.5, que la masa del plato con comida sea 0.5 Kg y la distancia que se desliza sea 1 cm, el trabajo necesario es aproximadamente 0.024 Joules. Ahora calculamos el aumento en energía interna del aire atrapado debajo del plato debido al calor recibido por la comida. El aumento de energía es igual al producto entre la capacidad calorífica del aire a volumen constante (1297 J/m^3 K) por el volumen de aire (suponiendo que la cavidad sea un cilindro de 5 cm de radio y 0.25 cm de altura) por el cambio de temperatura (si la temperatura ambiente es 25 Celcius y que la comida haya estado a unos 50 Celcius) que sería unos 25 Celcius. Todo esto nos dice que la energía transferida es aproximadamente 6.4 Joules. Esta energía es mas de 100 veces mayor de lo que se necesita para deslizar el plato sobre la mesa. Así que en principio, la explicación del problema es plausible.

Después de este episodio me quedé pensando un poco. Me pregunto ¿cuántas historias de cosas anormales han surgido por fenómenos naturales cuya explicación no es obvia y si es obvia no se tiene el conocimiento para atar los cabos sueltos? Muchas veces resulta más fácil creer en lo desconocido (lo que sea que eso signifique) en lugar de aceptar nuestra ignorancia. Esto me recordó lo que Feynman dijo una vez en una entrevista y en lo cuál estoy de acuerdo: “…es mucho más interesante vivir sin saber que vivir con respuestas que pueden estar equivocadas”. Aquí les dejo el pensamiento completo:


Ciencia e Internet

Mayo 30, 2008

Por Enrique

Tarde o temprano, todo estudiante de física llega a enterarse que es posible tener acceso a todos los últimos manuscritos de los artículos de investigación. Desde principios de los 90’s, el arXiv es el lugar donde todo mundo puede hacer públicos sus resultados de investigación, previos a ser publicados en alguna revista con arbitraje. En esta base de datos se encuentran artículos sobre física, matemáticas, ciencias computacionales y más recientemente biología cuantitativa y estadística. Con el tiempo, el arXiv se ha convertido en el medio preferido de consulta de los últimos resultados científicos (por lo menos en física).

En los últimos años, las redes sociales y los blogs han venido a ocupar su lugar en red y en vista de esto el arXiv también se está acomodando a las nuevas tecnologías. Si uno discute un paper que se encuentra en el arXiv, es posible hacer un trackback al mismo. En una presentación sobre futuro mejoramiento del arXiv se menciona el artículo de Garret Lisi como el más bajado de este sitio y lista 21 trackbacks de discusión en diferentes blogs. El arXiv tiene, desde diciembre 2007, un API para que los diseñadores de aplicaciones web puedan acceder a toda la información del sitio. En dicha presentación también se menciona un posible “my papers” plugin para facebook, la red social más popular entre estudiantes en EEUU.

La tecnología está cambiando continuamente la forma en la que vivimos y ahora también la forma de hacer ciencia. Lo mejor del caso es que se hace fácil el acceso a la misma lo cual es de especial importancia para nuestro país.


Paradigma: I+D+i desde el Tercer Sector

Mayo 12, 2008

Por Javier Gramajo

Modelos apropiados de gestión del conocimiento pueden ser desarrollados por el Tercer Sector y contagiar su paradigma a las organizaciones públicas y privadas [1].

Primero que entendemos por Tercer Sector: Se llama tercer sector a todas aquellas organizaciones asociativas que aportan a la sociedad su carácter de servicio Sin Fines de Lucro, es decir todas aquellas Organizaciones de la Sociedad Civil entre las que podemos mencionar: asociaciones civiles, fundaciones, patronatos, cooperativas, asociaciones de vecinos, sociedades de fomento, cámaras de comercio o empresariales, colegios profesionales, entre otras.

Leer el resto de esta entrada »