Tuesday, 12 December 2017
Python visual

Vpython

Satélite girando
Python visual es una biblioteca de python dirigida al uso de objetos de geometrías simples en tres dimensiones.  Administra una clase que contiene unas subclases para el graficado de : cajas, conos, esferas, helicoides, anillo tipo dona, flechas, pirámides, puntos, curvas, marcos, caras biseladas y cilindros.
La clase madre 3D, administra atributos como: posición (pos asociado a un vector) y color, mientras que las clases hijas agregan otros atributos que individualizan a los objetos, por ejemplo:

  • Cajas: Se utiliza para agregar cajas a la escena, está definida por su longitud, ancho, alto y vector normal. [ box(pos=(x,y,z), color= c, length=L, width=w, height=h, axis=(x,y,z))]

  • Esfera: Está definida por la agregación del atributo  radio. [esphere(pos=(x,y,z), radius=r)]

  • Cilindro: Se anexa atributos: radio, largo y eje normal (axis). [ cylinder(pos=(x,y,z), axis=(x,y,z), radius=r)]

  • Cono: Se agregan los atributos; radio, alto y eje normal. [cone(pos=(x,y,z), axis=(x,y,z), radius=r)]

  • Anillo: Utiliza radio del anillo, grosor.[ ring(pos=(x,y,z), radius=r, axis= (x,y,z), thickness=t)]

  •  Helicoide: Son los famosos resortes, tienen atributos como radio, longitud y eje normal. [helix(pos=(x,y,z), axis=(x,y,z), radius=r)]

  • Elipsoide: Utiliza longitud, altura y ancho.[ellipsoid(pos=(x,y,z), length=L, height=H, width=W)]

  • Etiqueta: Instancias de label utilizadas para anexar textos al display. Sus atributos principales son: text, border, height, color  y pos. [label(pos=(x,y,z), text='texto", height=h, border=b, color = color)]. El atributo color se aplica al texto, lo mismo ocurre con height.

  • Escenario: Utiliza instancias de display, sus atibutos principales son: title, width, height, center y background. [display(title='título', width=h, height=h, center=(x,y,z), background=color]

     

 Los objetos de la clase sphere se pueden utilizar para realizar animación del área de Física tales como: movimiento planetario, representación del átomo, movimiento de proyectiles, satélite estelar, colisiones elásticas e inelásticas, rebotes de esferas,etc.

Atomo de Bohr
 
Proyectiles




Rebotes


En mecánica clásica el algebra vectorial  conjunta a una cantidad apreciable de conceptos fundamentales para la Física, en donde operaciones básicas como la suma de vectores, producto cruz, producto escalar y otras , son realmente importantes.
Suma gráfica de vectores
En biología es útil hacer animjaciones que ilustren algunos procesos como el de división celular. Para este tipo de ejemplos los elipsoides son de gran ayuda.
División celular
Otro uso para los objetos de vpython es la generación juegos sencillos, por ejemplo: carros que se mueven con controles.
Animación **carro

El sistema  de controles de vpython permite generar diferentes aplicciones gráficas como: calculadoras científicas  y básicas, interfaces gráficas para tratamientos estadísticos, etc. Para ilustrar el uso de los botones vpython observe el ejercicio jugando con botones. y la sumadora integer.

Juagando con botones vpython

Es importante recalcar que el manejador del evento  click es una función  que se indica en el argumento de la forma "action=lambda: nombre_de_la_función(argumentos) ". También se debe indicar que una función manejadora de un evento de un botón puede llamar a otra función manejadora de otro botón.

Sumadora integer

Los botones de vpython pueden emplearse para aplicar métodos de otras clases como la clase string. El artículo string y botones ilustra el uso de métodos de string.

String y botones

Vpython permite generar interfaces para graficaciones de funciones matemáticas, utilizando la sintaxis de python. En una misma gráfica puede realizarse la graficación de varias funciones. En el ejemplo mostrado en la página de gráfica de vpython se muestra un ejemplo para dos funciones ( exp(-x**2) y cos(3x)). Para ello debe emplearse la biblioteca visual ( visual.graph).

Gráfica vpython

Otra aplicación gráfica muy utilizada, especialmente en el mundo de los negocios son los histogramas. Son gráficas basadas en barras que ilustran el comportamiento de un conjunto de valores. Los valores de las barras puede ser guardados en una lista  y aplicada a una instancia graph, llamada "ghistogram". Posee varios argumentos que definirán sus atributos como; "data", "acumulate" y average. En la página histograma vpython puede verse un ejemplo que ilustra su uso.

Histograma


Términos básicos

La classe genérica 3D que contiene a los subclases especializadas de los diferentes objetos ( figuras geometricas básicas 3D), emplea algunos términos que deben comprenderse, a saber:

  • Vector: Cantidad  que posee tres números indicando valores asociados a proyecciones sobre los ejes " X", "Y", y  "Z".
  • Pos:Cantidad vectorial que ubica el punto representativo para la colocación del objeto. Se anotan tres valores encerrados por parentesis, ejemplo pos = (0,0,0) corresponde al origen del sistema de coordenadas.
  • Color:  Es un atributo importante de los objetos, que puede ser definidos de diferentes maneras, por ejemplo por tres números evaluados de 0 hasta 1, color blanco sería color=(1,1,1), o bien usando colores predefinidos (cyan, magenta, black, white, green, red, yellow, orange,blue), ejemplo color = color.green. Si desea utilizar el sistema de los tres números, para indicar el color correcto utilice un programa de selección de colores, cuya salida son tres números evaluados de 0 hasta 255.  Divida estos números entre 255 y anote  estos entre parentesis
  • Axis: Es una cantidad vectorial definida por sus componentes "X", "Y" y "Z", empleada para indicar el plano de inclinación de : cajas (boxes), cilindros, conos, helicoides y flechas. Ejemplo axis = (1,1,1).

Instalacion de vpython

Para utilizar vpython es necesario instalar una versión de python compatible con la biblioteca visual de python. Los instaladores de estos programs puede bajar de http://vpython.org/win_download25.html, donde se encontrarán las versines para diferentes sistemas operativos.
Para el caso de windows se deben bajar los programas http://www.python.org/ftp/python/2.5.1/python-2.5.1.msi y http://vpython.org/download/VPython-Win-Py2.5-3.2.11.exe. Primero se instala el python versión 2.5.1 y luego el Vpython.
Recuerde que si utiliza a geany como IDE para python, deberá  modificar el path de las variables de entorno de windows, indicando la ruta (directorio) del programa de compilación de python. Recueerde que después de alterar el path de las variable de entorno, se recomienda reiniciar el sistema.
En el caso de Linux, se debe instalar la versión python 2.5 utilizando ya sea yum o apt. Luego se instala python-visual. Puede  realizar el proceso más facilmente utilizando synaptic para la instalación o bien yumex, según corresponda a la distribución  utilizada de Linux.



{backbutton}