060-064_VTK_PythonLinux6
20.04.2005
14:09 Uhr
Página 60
DESARROLLO • Python
Visualización 3D con VTK (Visualization Toolkit)
GRÁFICAS 3D
Hoy por hoy, la representación gráfica 3D y su visualización forman parte de nuestra vida cotidiana; basta fijarse en el mundo del entretenimiento, en la industria del juego y en el soporte de hardware y software para tales fines. ¿Quién en su ordenador personal no ha instalado un juego, visto una película, renderizada en 3D? POR ANA M. FERREIRO FERREIRO Y JOSÉ A. GARCÍA RODRÍGUEZ
L
a representación gráfica en 3D ofrece la posibilidad de crear mundos virtuales en un ordenador, lo cual unido a la visualización permite al usuario explorar y entender, rápidamente, sistemas complicados. Esto es posible gracias al avance de lenguajes orientados a objetos, que ofrecen la posibilidad de crear software de mejor calidad y más fácil de mantener. Entre las diferentes herramientas de visualización, representación 3D y procesamiento de imágenes, cabe destacar VTK (Visualization Toolkit), código abierto cuyo núcleo está implementado en C++ y que soporta envolturas (“wrappers”) para TCL, Python y Java; permitiendo el desarrollo de aplicaciones complejas de un modo eficiente y mediante scripts sencillos. Por todo ello, VTK se emplea en la visualización médica, la visualización industrial, reconstrucción de superficies a partir de digitalización láser o nubes de puntos desorganizados, etc. En lo que sigue veremos los conceptos básicos en los que se basa VTK para poder generar una escena y, mediante
60
Número 06
una serie de ejemplos, desarrollados en Python, llegaremos a crear nuestras propias escenas de visualización.
Instalación Para poder realizar todas las pruebas que se van sugiriendo y las que se os ocurran, es necesario tener instalado Python y VTK con soporte para Python. Además la tarjeta gráfica de nuestro ordenador debe tener OpenGL funcionando. Hay dos maneras de conseguir instalar VTK: la primera es descargar los binarios para nuestro sistema. En el caso de SuSE, Red Hat (Fedora) ó Mandrake nos bastará con buscar los siguientes paquetes rpm, por ejemplo para Mandrake 10.1: vtk-4.2.2-5mdk.i586.rpm vtk-python4.2.2-5mdk.i586.rpm vtk-tcl-4.2.25mdk.i586.rpm vtk-examples-4.2.25mdk.i586.rpm vtk-devel-4.2.25mdk.i586.rpm Estos paquetes los podemos bajar, por ejemplo para Mandrake 10.1, desde RedIris en [1]: La otra manera es instalarlo a partir del código fuente,que se explica en el Cuadro 1.
WWW.LINUX- MAGAZINE.ES
Modelos de Objetos VTK Para los inexpertos en el mundo de la visualización, vamos a explicar de un modo sencillo la estructura de VTK; porque esto permite que comprendamos mejor cada uno de los pasos que iremos realizando. Por un momento, imaginad que estáis en la butaca del cine, viendo una película de animación, como por ejemplo “La Edad de Hielo”. Si nos centramos en una única escena y la describimos, vemos personajes animados (actores), luces de diferentes tonalidades, cámaras que modifican el punto de vista, propiedades de los personajes (color, forma, etc.). Aunque no lo creáis todos estos conceptos son la base de la visualización gráfica. Veamos dicha estructura. El toolkit de visualización VTK está diseñado a partir de dos modelos claramente diferenciables: el modelo gráfico y el modelo de visualización. • Modelo gráfico. El modelo gráfico captura las principales características de un sistema gráfico 3D, de un modo fácil de entender y usar (ver Figura 1).