6
Animaciones en 3D en tiempo real para las clases de ciencias e ingeniería: Ejemplos desarrollados con el módulo de programación VPython Eduardo E. Rodríguez Instituto de Industria, Universidad Nacional de General Sarmiento [email protected] Departamento de Física, Facultad de Ciencias Fisicomatemáticas e Ingeniería, Universidad Católica Argentina RESUMEN: Se describe el uso del módulo de programación VPython para desarrollar animaciones en 3D por computadora para ilustrar temas de interés para las clases. Mostramos la utilidad del uso de animaciones para reforzar las presentaciones de materias como física y matemática, entre otras. Con tales presentaciones se puede innovar en el desarrollo de las clases de ciencias e ingeniería en general. Los métodos de programación son simples y permiten la resolución de casos variados y el análisis de resultados mediante una salida gráfica en un entorno de “realidad virtual”, lo que complementa al manejo usual de datos que se realiza, por ejemplo, mediante una hoja de cálculo. Mostramos que la programación de casos bien elegidos permite articular conocimientos de física con los de matemática, representación gráfica y computación en un contexto muy amplio de enseñanza y aprendizaje. Los primeros intentos de aplicación han servido en un curso de Mecánica para explicar conceptos que necesitan de visualización en las tres dimensiones espaciales (por ejemplo, vectores, producto vectorial), y producir animaciones que ilustran aquello que siempre cuesta explicar o entender en el ambiente bidimensional del pizarrón o la hoja de cuaderno. Se presentan ejemplos desarrollados para clases de física general, electromagnetismo y óptica. VPython se consigue en la web, es gratuito, multiplataforma y es simple de usar. PALABRAS CLAVES: programación, visualización, métodos numéricos 1 INTRODUCCIÓN Las presentaciones de temas que hacemos los docentes en las clases universitarias han ido evolucionado gracias al apoyo de los avances tecnológicos. Aunque la pizarra sigue ocupando el lugar central de convocatoria de la atención de nuestros alumnos, desde hace décadas se usan también proyectores de transferencias que muestran clases preparadas, o de dispositivas, cuando amerita la exposición de fotografías. Más recientemente, el cañón de proyección ha irrumpido en el aula para llevar directamente de la computadora a una pantalla de proyección textos, imágenes, planillas de cálculo, videos, etcétera, para dar apoyo y relieve a las presentaciones orales. La mayoría de los docentes universitarios hemos usado alguna vez, por ejemplo, PowerPoint para clases y charlas. De cualquier manera, muchas de estas presentaciones muestran escenas estáticas. Otra manera de resaltar presentaciones es a través de la proyección de animaciones, que pueden usarse para la tarea de ampliar con buenos ejemplos nuestros métodos de activación de la atención de los oyentes. Desde un punto de vista pedagógico, el soporte que dan estos métodos de presentación es muy promisorio y merece una evaluación. Este trabajo tiene por objetivo reseñar brevemente distintas maneras de acceder a presentaciones animadas que pueden disponerse para las clases y comentar más activamente sobre una manera de producirlas con relativamente poco esfuerzo de programación con el módulo denominado Vpython (Scherer, 2000; Chabay, 2007). Las animaciones 3D que pueden producirse con cualquiera de esta variantes son útiles para ilustrar casos que requieran de visualización en las tres dimensiones del espacio además del análisis de la evolución temporal de un sistema físico.

Mathematica Animaciones

Embed Size (px)

Citation preview

Page 1: Mathematica Animaciones

Animaciones en 3D en tiempo real para las clases de ciencias e ingeniería: Ejemplos desarrollados con el módulo de programación VPython

Eduardo E. Rodríguez

Instituto de Industria, Universidad Nacional de General Sarmiento [email protected]

Departamento de Física, Facultad de Ciencias Fisicomatemáticas e Ingeniería, Universidad Católica Argentina

RESUMEN: Se describe el uso del módulo de programación VPython para desarrollar animaciones en 3D por computadora para ilustrar temas de interés para las clases. Mostramos la utilidad del uso de animaciones para reforzar las presentaciones de materias como física y matemática, entre otras. Con tales presentaciones se puede innovar en el desarrollo de las clases de ciencias e ingeniería en general. Los métodos de programación son simples y permiten la resolución de casos variados y el análisis de resultados mediante una salida gráfica en un entorno de “realidad virtual”, lo que complementa al manejo usual de datos que se realiza, por ejemplo, mediante una hoja de cálculo. Mostramos que la programación de casos bien elegidos permite articular conocimientos de física con los de matemática, representación gráfica y computación en un contexto muy amplio de enseñanza y aprendizaje. Los primeros intentos de aplicación han servido en un curso de Mecánica para explicar conceptos que necesitan de visualización en las tres dimensiones espaciales (por ejemplo, vectores, producto vectorial), y producir animaciones que ilustran aquello que siempre cuesta explicar o entender en el ambiente bidimensional del pizarrón o la hoja de cuaderno. Se presentan ejemplos desarrollados para clases de física general, electromagnetismo y óptica. VPython se consigue en la web, es gratuito, multiplataforma y es simple de usar.

PALABRAS CLAVES: programación, visualización, métodos numéricos

1 INTRODUCCIÓN

Las presentaciones de temas que hacemos los docentes en las clases universitarias han ido evolucionado gracias al apoyo de los avances tecnológicos. Aunque la pizarra sigue ocupando el lugar central de convocatoria de la atención de nuestros alumnos, desde hace décadas se usan también proyectores de transferencias que muestran clases preparadas, o de dispositivas, cuando amerita la exposición de fotografías. Más recientemente, el cañón de proyección ha irrumpido en el aula para llevar directamente de la computadora a una pantalla de proyección textos, imágenes, planillas de cálculo, videos, etcétera, para dar apoyo y relieve a las presentaciones orales. La mayoría de los docentes universitarios hemos usado alguna vez, por ejemplo, PowerPoint para clases y charlas. De cualquier manera, muchas de estas presentaciones muestran escenas estáticas.

Otra manera de resaltar presentaciones es a través de la proyección de animaciones, que pueden usarse para la tarea de ampliar con buenos ejemplos nuestros métodos de activación de la atención de los oyentes. Desde un punto de vista pedagógico, el soporte que dan estos métodos de presentación es muy promisorio y merece una evaluación. Este trabajo tiene por objetivo reseñar brevemente distintas maneras de acceder a presentaciones animadas que pueden disponerse para las clases y comentar más activamente sobre una manera de producirlas con relativamente poco esfuerzo de programación con el módulo denominado Vpython (Scherer, 2000; Chabay, 2007). Las animaciones 3D que pueden producirse con cualquiera de esta variantes son útiles para ilustrar casos que requieran de visualización en las tres dimensiones del espacio además del análisis de la evolución temporal de un sistema físico.

Page 2: Mathematica Animaciones

Una animación, a su vez, evoca una imagen distinta en el alumno, acostumbrado a imaginar lo que quiere mostrar el docente con sus dibujos en el plano 2D de la pizarra. Una proyección de una “animación 3D”, aunque se haga sobre una “pantalla de proyección 2D”, puede contribuir significativamente a que los alumnos comprendan mejor algunos temas salientes de las distintas disciplinas. Los docentes sabemos de las dificultades de los estudiantes de los primeros años para visualizar casos de la física que necesitan cálculo vectorial en tres dimensiones y el manejo de magnitudes como el momento de una fuerza, el momento angular, la fuerza de Lorentz, que necesitan del producto vectorial. También somos conscientes del álgebra vectorial que los alumnos hacen “con los dedos” cuando usan la regla de la mano derecha para obtener el resultado de un producto vectorial y los posibles “enredos” que ocurren. En el caso de Física, los ejemplos de aplicación pueden ser múltiples y variados. En este trabajo se muestran ejemplos desarrollados para clases de cinemática, mecánica, electromagnetismo y óptica. Hacia agosto de 2008 estos ejemplos van a estar disponibles en un sitio web dedicado a concentrar desarrollos de docentes universitarios de varias facultades de ingeniería en el marco de un proyecto cooperativo que está poniéndose en marcha desde la Universidad Nacional de General Sarmiento. De esta manera, cualquier docente o alumno del país podrá disponer de ejemplos útiles para las clases o el estudio.

2 ALGUNOS RECURSOS PARA DESARROLLAR ANIMACIONES

2.1 Mathematica

En el sitio http://demonstrations.wolfram.com/ hay ejemplos de animaciones hechas con el programa Mathematica (Mathematica, 2008). Los ejemplos abarcan una gran variedad de temas, desde matemática y física hasta tecnología. Un recorrido por el sitio muestra, sin duda, que son buenos ejemplos para mostrar en una clase. El código de cada programa está disponible por lo que, quienes tienen experiencia con el funcionamiento de Mathematica, pueden analizarlos para aprender de ellos, reproducirlos y empezar a hacer sus propias animaciones.

2.2 Java

El desarrollo reciente de Easy Java Simulations (EJS, 2008) ha permitido ampliar las posibilidades de programación de animaciones de casos físicos. Esta aplicación permite resolver

ecuaciones de movimiento con métodos numéricos estándares y producir una salida gráfica animada. Tiene disponible una buena variedad de métodos para resolver ecuaciones diferenciales que representan al sistema en estudio (Euler, Euler-Richardson, Runge-Kutta, entre otros) (Esquembre, 2007). La aplicación genera resultados que pueden guardarse en tablas o representarse en gráfico X-Y, y con los que se programa las animaciones. Posee una serie de herramientas gráficas para representar al sistema físico bajo análisis (masas, resortes, hilos). La aplicación está bien documentada y los ejemplos de muestra son interesantes y comprensibles. Un detalle importante de esta aplicación es que produce archivos en el formato html y diseña automáticamente una página web que se puede navegar y desde donde analizar los casos resueltos con las variantes que hayan sido programadas.

2.3 VPython

El módulo VPython, popularizado por sus autores como “3D programming for ordinary mortals”, es un desarrollo que se lleva a cabo desde 2002. Una ventaja del módulo es que es de código abierto y puede obtenerse gratuitamente del sitio oficial del proyecto. El módulo opera con programación orientada a objetos y es multiplataforma; puede correr bajo los sistemas operativos Windows, Linux y Mac. Los ejemplos que se muestran en este trabajo han sido desarrollados bajo Windows XP y no han producido errores cuando han sido ejecutados en Windows 2000. Para tener operativo a VPython hay que tener instalado el paquete Python, de código libre y disponible en el sitio oficial (Python, 2008). La instalación de VPython contiene animaciones con ejemplos básicos para empezar a aprender y más avanzados para “degustar” sus posibilidades de programación. El sitio web del proyecto contiene más ejemplos aportados por contribuyentes y seleccionados por los administradores del sitio. La programación de un entorno virtual donde se realiza la animación necesita de una “escena” que va siendo registrada por una “cámara”. La posición y orientación de la cámara puede cambiarse en tiempo real de ejecución. Los objetos que pueden usarse para representar cuerpos (masa, cargas, resortes) o magnitudes físicas (vectores) pueden ser: esferas, flechas, cilindros, hélices, curvas, entre otros. Cada objeto tiene un conjunto de atributos que los define. Por ejemplo, para dibujar una esfera en el centro de la escena hay que editar la línea de comando

Page 3: Mathematica Animaciones

sphere(pos = (0,0,0), radius = 2, color = (1,0,0)) que produce en tiempo de ejecución una bola roja de radio 2 en el origen de coordenadas (el centro de la pantalla). El color de un objeto se define con el formato (R,G,B). Las propiedades de cualquier objeto pueden cambiarse en tiempo real y así es como se produce el efecto de animación. Por ejemplo, si un cuerpo se mueve con movimiento rectilíneo uniforme, su posición en el espacio cambia según r(t) = r0 + v t, donde r y v son vectores 3D en el caso más general. Para animar un movimiento de este tipo, se recurre a introducir un ciclo de animación que incremente el tiempo, calcule r(t) y actualice la posición “pos” del objeto que representa al cuerpo, igualándola en cada instante a r(t). El ritmo al cual se hace la animación puede elegirse con el comando rate(f), donde f es la frecuencia en Hz a la que se actualizan valores y se genera la salida animada. Las flechas son especialmente útiles para representar vectores físicos, como la posición, velocidad, fuerzas, momento angular, campos eléctricos y magnéticos, etcétera. El álgebra vectorial que puede hacerse con el módulo contiene las operaciones de: cálculo de la magnitud de un vector, suma de vectores, producto escalar y producto vectorial. Esto permite operar dentro del programa con variables físicas concretas y luego representarlas gráficamente con un objeto “arrow”. De esta manera, por ejemplo, todos los detalles de la cinemática y de la dinámica de un sistema físico pueden exponerse con una presentación amena y que, con algo de práctica, suele quedar bastante elegante.

3 EJEMPLOS DESARROLLADOS EN VPYTHON

En esta sección se muestran un conjunto de ejemplos desarrollados en VPython entre 2007 y 2008 para algunos cursos universitarios de varias carreras de ingeniería.

3.1 Ejemplos de mecánica

3.1.1 Combinación de movimientos

Un ejemplo interesante para analizar en el primer curso de mecánica es la combinación de movimientos, como es el caso de la órbita de la Luna, que orbita alrededor de la Tierra, que a su vez gira alrededor del Sol. La Figura 1 muestra una captura de pantalla de las órbitas del satélite y del planeta, producidas con una animación en VPython. Los tamaños de

los cuerpos y de las órbitas (que se suponen circulares) no están a escala, lo que no es relevante para los fines didácticos de la animación. Este ejemplo capta muy bien la atención de los alumnos, puesto que es un caso del mundo real, no obstante su exigencia para que usen conocimientos previos e imaginación para entenderlo.

Figura 1. Órbitas de la Luna y la Tierra en torno al Sol (no están a escala) para mostrar el resultado de la combinación de movimientos circulares.

La dificultad radica en establecer, al menos cualitativamente en una primera instancia, el detalle de la órbita lunar, mientras la Luna acompaña a la Tierra. En la clase, los alumnos trabajan en sus cuadernos para dibujar la órbita de la Luna, como resultado de la composición de dos movimientos circulares. Una vez que los alumnos tienen listas sus soluciones se establece una discusión grupal, tras lo cual se proyecta la animación correspondiente para continuar con el análisis. Este caso ha demostrado ser generador de buenas discusiones en el aula. La animación permite mostrar cómo evolucionan los cuerpos y sus vectores velocidad y aceleración. Los parámetros necesarios para representar los movimientos, como períodos y radios de las órbitas, pueden cambiarse en el programa y analizar casos muy variados resultantes de la combinación de dos movimientos circulares. Nuestra experiencia indica que el efecto que produce en la audiencia estudiantil la observación de una animación de este tipo de movimiento supera en gran medida al que se observa en una presentación estática típica en el pizarrón.

Page 4: Mathematica Animaciones

3.1.2 Momento angular

La Figura 2 muestra la salida en pantalla de una animación que ilustra el cálculo del vector momento angular L

r de un cuerpo puntual en

movimiento circular uniforme. El punto de referencia para medir el momento angular está fuera de la órbita, sobre uno de los ejes de coordenadas. La observación se hace desde una perspectiva adecuada que se logra eligiendo una posición particular de la cámara. De esta manera, la animación produce un efecto de representación tridimensional. En el ciclo de animación están incorporadas las dependencias temporales de la posición rr y la velocidad vr de la partícula, y L

r se calcula como

prL rrr×= , donde vmp rr = es la cantidad de

movimiento lineal del cuerpo de masa m. En cada instante, se actualizan las variables y las posiciones y atributos de los objetos que representan al cuerpo y a los vectores relevantes del problema. Desde el programa se pueden elegir otros puntos de referencia para calcular el momento angular. Este ejemplo ilustra muy bien el resultado que produce la elección de puntos de referencia distintos a los usuales mostrados en los libros de texto. En clase, pedimos a los alumnos que encuentren L

r respecto de un punto de referencia

externo a la órbita, que analicen sus predicciones con cuidado en una actividad grupal y que luego usen la animación para comparar sus expectativas con el resultado correcto.

Figura 2. Momento angular L

r de una partícula en

movimiento circular, medido desde fuera de la órbita. Por ejemplo, una consigna usual considera preguntas sobre la constancia o no de L

r, si en

algún instante es Lr

= 0, si Lr

invierte su sentido, entre otras posibilidades que pueden analizarse gráfica y analíticamente. Los alumnos tienen que ser capaces de anticipar que en el caso mostrado

en la Figura 2, donde Lr

se mide desde un punto de referencia fuera de la órbita circular, resulta L

r

nulo en los instantes en que pr rr || , lo que ocurre en dos lugares de la órbita, lo que refleja una propiedad de la definición de L

r como producto

vectorial de dos vectores. En síntesis, esta animación conduce a que los alumnos conecten conceptos físicos con el álgebra vectorial que estudiaron en cursos previos, mediante un problema presentado en una forma no convencional.

3.1.3 Rodadura

Un tema central en un curso de dinámica de cuerpos rígidos es la descripción de la rodadura de un cuerpo. La Figura 3 muestra una instantánea de una animación de la rodadura de un disco sobre un plano horizontal. La animación desarrollada muestra en tiempo real la evolución de los vectores de velocidad más relevantes para comprender el problema: la velocidad de un punto de la periferia y sus componentes horizontal (velocidad del centro de masa) y tangencial (velocidad tangencial).

Figura 3. Rodadura de un disco sobre un plano.

En este caso, el análisis está orientado a distinguir los efectos que tiene la rodadura con o sin deslizamiento sobre la velocidad instantánea de distintos puntos del cuerpo. Para ello, la animación representa las componentes de la velocidad de un punto de la periferia mientras el cuerpo rota. En el caso de una rodadura sin deslizamiento, cuando el punto que se observa toca el piso, su velocidad se cancela. Esta descripción animada del movimiento de rodadura ha sido muy bien recibida por los alumnos, que previamente habían estado discutiendo este tema siguiendo las consignas de la guía de problemas del curso.

Page 5: Mathematica Animaciones

3.1.4 Movimiento armónico simple

En la presentación de las características del movimiento armónico simple y de la función armónica que da la posición de un cuerpo en cada instante: )cos()( φω += tAtx , es común observar que los alumnos muestren cierta dificultad en comprender el significado de la fase inicial φ y cómo obtenerla a partir del conocimiento de las condiciones iniciales. Una de las animaciones desarrollados para ilustrar este tipo de movimiento se vale de la analogía entre el movimiento armónico simple y el movimiento circular uniforme (Sears, 2005). El tratamiento del problema dentro de este marco permite también introducir el concepto de fasor, que luego será usado más asiduamente en un curso de electromagnetismo. Esta anticipación de la presentación en el curso de mecánica del concepto de fasor es bienvenida por los docentes de los próximos cursos. La Figura 4 muestra el diseño gráfico de la animación elaborada para presentar la analogía. El cuerpo rojo oscila, atado a un resorte, con movimiento armónico simple de frecuencia ω y de amplitud A. Al mismo tiempo, el cuerpo verde ejecuta un movimiento circular uniforme, sobre un círculo de radio A y con una velocidad angular ω’ del mismo valor absoluto que ω. La proyección de la posición de este cuerpo sobre el eje horizontal está representada por una función x(t) análoga a la del movimiento que tiene el cuerpo que oscila. La animación presenta la analogía en tiempo real mientras el fasor (radio del círculo) rota.

Figura 4. Visualización de la analogía entre un movimiento armónico simple y uno circular uniforme.

Esta animación acompaña al ejercicio de deducir la fase inicial φ de acuerdo a distintas condiciones iniciales del movimiento. La visualización del

recorrido del fasor por los cuadrantes es muy útil para deducir el valor de φ.

3.2 Un ejemplo de electromagnetismo

En un curso de electromagnetismo se trata el movimiento de cargas en campos eléctricos y magnéticos con los objetivos de mostrar el efecto de la fuerza de Lorentz )( BxvEqF

rrr+= e

introducir ejemplos de aplicaciones posibles de una carga en movimiento. La consideración del movimiento de una carga en los campos requiere de visualización en el espacio tridimensional, por lo que estos ejemplos son especialmente apropiados para demostrarlos mediante animaciones 3D. El programa específico desarrollado presenta una región del espacio donde hay un campo magnético uniforme (Figura 5), donde una carga puede ingresar con una cierta velocidad y en cualquier dirección. La órbita que describe la carga depende de la orientación de la velocidad respecto del campo magnético. Eligiendo adecuadamente el vector vr y la posición inicial de la carga pueden apreciarse órbitas que pueden ser circulares ( vr sin componente paralela a B

r),

tramos de órbitas circulares (como en un espectrómetro de masas), órbitas helicoidales (cuando vr tiene una componente paralela al campo) o trayectorias lineales (caso Bv

rr || ). El código de programación localiza a la partícula cargada y resuelve numéricamente el problema de obtener su trayectoria. Para ello, se resuelve el problema de dinámica usando como fuerza neta instantánea a la fuerza de Lorentz. La Figura 5 muestra el caso de la órbita helicoidal que sigue una partícula con carga positiva que ingresa al campo magnético vertical.

Figura 5. Movimiento de una partícula cargada que ingresa a una región con campo magnético uniforme y describe una órbita helicoidal. Se aprecia el efecto de una observación en perspectiva.

Page 6: Mathematica Animaciones

Con idéntico esquema de trabajo como los descritos en la aplicación de las animaciones en las clases de mecánica, los alumnos son interrogados previamente sobre sus expectativas acerca del movimiento de la carga que entra al campo magnético y se les pide una descripción cualitativa de la órbita. Tras una discusión grupal, se presenta la animación y se discuten los aspectos más salientes del ejemplo. En otras oportunidades, se proyecta una animación y se pide a los alumnos que deduzcan el signo de la carga o cómo será la trayectoria de la partícula al abandonar el campo. Como se ve, las actividades en torno a esta animación pueden ser variadas y eficaces para promover la participación de los alumnos en discusiones abiertas. La buena recepción de los alumnos a estas presentaciones es alentadora y justifica ampliamente el esfuerzo de programación.

3.3 Un ejemplo de óptica

Todos los docentes de física tuvimos que representar una onda mediante un dibujo en el pizarrón por lo menos una vez en nuestra vida docente. La dificultad inherente es representarla y al mismo tiempo inducir a los alumnos a que imaginen la evolución temporal del proceso ondulatorio. Una animación es, desde luego, un excelente recurso didáctico para las clases de ondas.

Figura 6. Una onda con polarización elíptica como superposición de dos ondas linealmente polarizadas.

El ejemplo que se muestra en la Figura 6 ha sido desarrollado para presentar los conceptos de superposición de ondas y de polarización de una onda transversal. En la animación se representan dos ondas polarizadas linealmente, desfasadas ∆φ. La superposición de estas ondas resulta en un estado de polarización lineal (∆φ = 0), circular (∆φ= π/2) o elíptica (∆φ = π/4), como ejemplos más usuales. Para la presentación de los distintos casos es necesario variar el valor del parámetro ∆φ en el código del programa.

Una ventaja adicional de VPython es el fácil manejo de la perspectiva mediante la rotación continua de la escena que puede hacerse usando los botones del “mouse”. De esta manera, mientras las ondas se propagan puede cambiarse el ángulo de visión continuamente y, por ejemplo, observar las ondas desde la dirección de propagación, como se muestra en la parte derecha de la Figura 6. Estos cambios de perspectiva contribuyen a la comprensión de lo que “hace” una onda cuando viaja por el espacio y de su estado de polarización por la visualización del comportamiento de la magnitud que oscila.

4 CONCLUSIONES

Las animaciones 3D son una herramienta docente de gran potencial y están accesibles en varios formatos desde hace varios años. Hemos descrito las posibilidades de programación de VPython para elaborar animaciones elegantes y eficaces para acompañar la presentación de diversos conceptos y situaciones físicas. El uso de estas animaciones en nuestras clases nos ha servido para incorporar un nuevo y promisorio recurso didáctico. La respuesta entusiasta de nuestros estudiantes ante la proyección de las animaciones durante las clases de Física nos alienta a continuar desarrollando este tipo de recurso didáctico.

5 REFERENCIAS

Chabay, R. & B. Sherwood, Matter & interac-tions, John Wiley & Sons, 2007.

EJS (Easy Java Simulations), sitio del proyecto: http://www.um.es/fem/Ejs/Ejs_es/, 2008. Esquembre, F., Creación de simulaciones

interactivas en Java, Prentice Hall, 2007. Mathematica, http://www.wolfram.com/, 2008. Python, sitio oficial del proyecto: http://www.python.org/, 2008. Scherer, D., P. Dubois & B. Sherwood, VPython:

3D interactive scientific graphics for students, Computing in Science and Engineering, Sept./Oct., 82-88, 2000.

Sears, F., Fundamentos de Física III: Óptica, Colección Ciencia y Técnica, Aguilar, 1979.

Sears, F., M. Zemansky, H. Young & R. Freedman, Física universitaria, vol. 2, undécima edición, Pearson Educación, México, 2005.

VPython, sitio oficial del proyecto: http://www.vpython.org/, 2008.