Download creación de un catálogo industrial interactivo con java 3d

Document related concepts
no text concepts found
Transcript
X CONGRESO INTERNACIONAL DE INGENIERIA DE PROYECTOS
VALENCIA, 13-15 Septiembre, 2006
CREACIÓN DE UN CATÁLOGO INDUSTRIAL INTERACTIVO CON
JAVA 3D INTEGRADO EN UNA PÁGINA WEB
M.A. Vera Vera, J.R. de Andrés Díaz(p), R. Guzmán Sepúlveda
Abstract
The aim of this Project is to create an Interactive Industrial Catalogue, integrated in a web
page and connected to a data base. Besides we will develop the tool to configure that
catalogue.
The objectives of our web industrial catalogue are:
•
Integrate catalogue groups with products of different manufacturers
•
Visualize a tree structure of the contents of the different catalogues
•
3D view of the catalogue products or subassemblies and to allow interactivity with
zoom, rotation and parts decomposition
•
Access to every product information instantly
•
Allow complex subassembly representation
•
Allow search of products
Objectives with the tool
•
Systematize the industrial catalogue configuration process
•
Create, edit and delete catalogues
•
Eliminate catalogue configuration errors
Keywords: Java, Industrial Catalogue, Virtual Reality
Resumen
Este trabajo tiene por objeto la creación de un catálogo industrial interactivo, integrado en
una página Web, con conexión a base de datos, y el software o herramienta para la
configuración de dicho catálogo.
Los objetivos del Catálogo Industrial Web son:
•
Integrar conjuntos de catálogos con productos de diferentes fabricantes.
•
Visualizar el contenido de los diferentes catálogos dentro de una estructura arbórea.
•
Visualizar de forma tridimensional los productos o subconjuntos de los catálogos y
permitir la interacción a modo de rotación, zoom y descomposición en piezas.
•
Acceder a la información vinculada a cada producto de forma instantánea y a través
de descargas.
•
Permitir la representación de conjuntos complejos.
•
Posibilitar la búsqueda de productos.
1547
Los objetivos que se persiguen con la herramienta son:
•
Sistematizar el proceso de configuración del Catálogo Industrial.
•
Crear, editar y eliminar catálogos.
•
Suprimir los posibles errores en la configuración de catálogos.
Palabras clave: Java, Catalogo Industrial, Realidad Virtual
1. Introducción
El término Realidad Virtual suele asociarse a casi todo aquello que tiene que ver con
imágenes en tres dimensiones generadas por ordenador y con la interacción de los usuarios
con este ambiente gráfico.
El presente proyecto enfoca la Realidad Virtual a través de Internet, mediante su aplicación
a un catálogo online, en el que poder interactuar con productos industriales tridimensionales
pertenecientes a una base de datos continuamente actualizada, y evitar así la descarga e
instalación de los catálogos.
2. Análisis de soluciones
El término Web3D hace referencia a cualquier lenguaje de programación, protocolo, formato
de archivo o tecnología que pueda ser usado para la creación y presentación de universos
tridimensionales interactivos a través de Internet. Tres de esos lenguajes se incluyen como
estándares abiertos: VRML (Virtual Reality Modeling Language), Java3D y X3D (Extensible
3D).
Una de las principales diferencias entre VRML/X3D y Java3D, a nivel conceptual, es que
Java3D se define como un lenguaje de programación de escenarios 3D a bajo nivel. Es
decir, que la creación de objetos y elementos tridimensionales en Java3D requiere no sólo la
formación de los elementos 3D, sino también la definición de todos los aspectos
relacionados con la visualización y control de las capacidades del escenario.
Esto tiene sus ventajas e inconvenientes. Por ejemplo, para la creación del escenario más
simple, el código en Java3D es notoriamente superior al necesario en VRML/X3D, pero por
otro lado el control de los distintos elementos presentes en el sistema es superior y más
natural en Java3D. Esto no quiere decir que no sea posible controlar el mundo virtual en
VRML para crear una interacción con el usuario, pero sí que es más complejo.
Otro aspecto destacable es la pérdida de velocidad y prestaciones en el caso de Java3D
frente a otros visores de VRML/X3D desarrollados en C/C++. Existe también la posibilidad
de emplear Java3D como visor de archivos VRML/X3D. Para ello sólo es necesario emplear
alguno de los cargadores (loaders) de VRML/X3D desarrollados para Java3D.
2.1. Justificación de la solución
El Catálogo Industrial está constituido por una escena gráfica tridimensional y una interfaz
gráfica de usuario, continuamente en comunicación durante la ejecución del programa. En el
caso de VRML/X3D la escena gráfica se mostraría a través de un Plugin, la interfaz de
usuario mediante un Applet y la comunicación entre ambos se llevaría a cabo a través de un
API externo.
El VRML usa el API EAI (External Authoring Interface) para establecer la comunicación de la
escena con código Java externo. No todos los browser soportan el EAI. Además, algunos
visores de VRML se basan en la JVM (Java Virtual Machine) de Sun’s Microsystem y otros
se apoyan en la versión de Microsoft. Por lo tanto, se dan grandes conflictos de
1548
compatibilidad Browser – Plug-in – JVM, existiendo sólo ciertas combinaciones que permiten
el acceso a la escena con código externo java. Esto significa que a cada usuario le
exigiríamos instalar un Browser, un Plug-in y una JVM compatibles entre sí, que además
probablemente se corresponderían con versiones antiguas.
El X3D usa el API SAI (Scene Access Interface) para comunicar la escena gráfica con
código Java externo. El único browser X3D que soporta actualmente el SAI es el creado por
Web3D Consortium, el browser Xj3D, recientemente desarrollado y con apenas
documentación y ejemplos al respecto.
A los problemas de comunicación de VRML/X3D con código Java externo hay que sumar
que ambos están sujetos a la implementación de sus especificaciones VRML/X3D,
imposibilitando determinadas acciones o complicando enormemente la programación
conforme nos alejamos de las posibilidades más evidentes que ofrecen dichas
especificaciones.
La ventaja principal de emplear Java3D es que con la simple incorporación de sus librerías
da capacidad de ejecución, independientemente de la plataforma, y libera al usuario final de
la necesidad de instalar un plug-in específico para el navegador.
El empleo de Java3D permite integrar la interfaz gráfica de usuario y la escena gráfica
dentro de un mismo applet. Al formar Java3D parte de las APIs de Java no se plantea
ninguna limitación ni incompatibilidad a la hora de comunicar la escena gráfica con cualquier
otro API de Java, como es a la que pertenece la interfaz gráfica.
Java3D no es un formato de archivo como lo pueden ser X3D/VRML y requiere de
cargadores para mostrar geometrías de cierta envergadura. Existen cargadores para una
gran cantidad de formatos de archivo. La elección del cargador para este proyecto se ha
basado en dos aspectos. Por un lado es deseable conocer en profundidad el formato del
archivo a cargar. Por otro lado el archivo debe de estar lo suficientemente implantado y
difundido para que cualquier programa de CAD (Computer Aided Design) que se utilice para
la creación de la geometría tridimensional sea capaz de exportarlo.
En cuanto al primer aspecto, el estudio del presente capítulo ha permitido conocer
suficientemente los formatos VRML/X3D. En cuanto al segundo aspecto, el siguiente
cronograma de la evolución del web3D da una idea del grado de implantación de los
estándares, encontrándose VRML ampliamente extendido desde 1997.
Figura 1: Cronograma del Web 3D
Es por todo ello por lo que se ha decidido para la realización del proyecto elegir el lenguaje
de programación Java junto con el API Java3D y la carga de archivos en formato VRML.
1549
VENTAJAS
•
•
•
VRML
•
•
•
X3D
•
•
•
•
•
•
Java3D
•
•
•
INCONVENIENTES
Formato de archivo 3D
Totalmente extendido
La mayor parte de la especificación es
válida para una amplia variedad de
plataformas
Facilidad para crear animaciones
Rápido en la descarga para pequeñas
aplicaciones
•
•
•
Hereda las ventajas de VRML (excepto en
su extensión)
Modular y extensible
Perfilado
Unifica las 2 APIs de VRML
Especificación dividida en 3 partes
desarrollables por separado
Codifica en VRML97, XML y binario
comprimido
•
•
•
•
Formato reciente. Poca documentación y ejemplos.
Poco extendido
Programación compleja para aplicaciones no
estándar
Necesita Plug-in específico según plataforma
Programación sujeta a su especificación
Xj3D único browser que soporta el API SAI
Implementa cualquier necesidad 3D con
código Java
Independiente de la plataforma
Sin limitación ni incompatibilidades en la
comunicación escena 3D
interfaz gráfica
•
•
•
Programación compleja
Menores velocidades de descarga
No es un formato de archivo (requiere cargadores)
•
•
•
•
Única especificación con dependencia de sus partes
2 APIs de programación para mismas funciones
Programación compleja para aplicaciones no
estándar
Necesita Plug-in específico según plataforma
Programación sujeta a su especificación
Incompatibilidades Browser-Plug-in-JVM con el
API EAI
Tabla 1: ventaja e inconvenientes de los diferentes formatos
3. Desarrollo del proyecto
3.1 La Elección de Java para el proyecto
Java es un lenguaje simple y potente, que se adapta perfectamente a los requisitos exigidos
por los programas del proyecto. Aún así, cumpliendo las características señaladas, se
hubiera desechado si no fuera actual y no estuviese totalmente extendido. Su presencia en
nuestras vidas es constante: página Web con applets, tickers de valores de bolsa,
contenidos obtenidos de bases de datos por medio de JSP (JavaServer Pages), gestión de
mensajería móvil SMS (Short Messaging Service), videojuegos en los móviles, plataformas
de televisión interactiva,programación de redes, etcétera.
Java permite crear dos tipos de programas: aplicaciones independientes o standalone
(programas que se ejecutan en nuestro ordenador, sin necesidad de conexión a Internet,
como los programas creados en Visual Basic, C++…) y applets.
Un applet es una aplicación diseñada para ser transmitida por Internet y ejecutada en los
navegadores compatibles con Java, es decir, es un programa que un navegador puede
cargar y ejecutar. Java es el único lenguaje de programación capaz de crear applets.
1550
En nuestro caso, el Catálogo Web desarrollado es un applet, mientras que la herramienta de
configuración de dicho Catálogo es una aplicación standalone.
Por último y de sumo interés para el proyecto, Java desarrolla el API Java3D, que permite
crear programas que representan y posibilitan la interacción con mundos 3D.
3.1.1 La interfaz gráfica de los programas
Las JFC (Java Foundation Classes) son parte de la API de Java, compuesto por clases que
sirven para crear interfaces gráficas visuales para las aplicaciones independientes Java y los
applets. Las JFC contienen dos paquetes gráficos: AWT (Abstract Window Toolkit) y Swing.
El proyecto ha empleado en su totalidad componentes Swing, exceptuando un componente
particular que no posee su homólogo en el paquete Swing (el componente Canvas 3D).
Los componentes Swing tienen capacidades que van más allá de lo que ofrecen los
componentes AWT, pero la mayor diferencia y lo que hace que nos decantemos por los
primeros, reside en que pueden tomar diferente aspecto y comportamiento
independientemente de la plataforma donde se ejecuten, con una apariencia más agradable
al usuario. Los componentes AWT, sin embargo, sólo pueden tomar la representación
determinada por la plataforma.
Tanto AWT como Swing tienen en común un sistema para gestionar los eventos que se
producen al interactuar el usuario con la interfaz gráfica; su modelo de eventos.
Para cada objeto que represente una interfaz gráfica, se definen objetos "oyentes"
(Listener), que esperan a que suceda un determinado evento sobre la interfaz para la
ejecución de una determinada acción.
3.2 El núcleo central del Catálogo Industrial: Java3D
3.2.1 Introducción al API Java3D
El API Java3D es una interfaz utilizada para realizar aplicaciones y applets que representan
gráficos tridimensionales, proporcionando funciones para creación de imágenes,
visualizaciones, animaciones y programas de aplicaciones gráficas 3D interactivas.
Trabaja con constructores de alto nivel para crear y manipular objetos geométricos en 3D.
Estos objetos geométricos residen en un universo virtual que luego es renderizado.
El API es sencillo de usar ya que los detalles de renderizado se manejan automáticamente.
Un programa Java3D crea ejemplares de objetos Java3D y los sitúa en una estructura de
datos de escenario gráfico. Este escenario gráfico es una composición de objetos 3D en una
estructura de árbol que especifica completamente el contenido de un universo virtual, y
cómo va a ser renderizado.
Java3D ni anticipa ni soporta directamente cualquier necesidad posible 3D. En cambio,
proporciona la base necesaria para añadir nuevas funcionalidades utilizando código Java.
Así el cargador VRML que se usa en el proyecto para cargar la geometría no pertenece al
API Java3D sino a una librería externa que proporciona los métodos adecuados para leer y
traducir dicha información geométrica en primitivas Java3D.
3.2.2 Las clases del API Java3D del Catálogo
Todo programa Java3D está, al menos, parcialmente ensamblado por objetos del árbol de
clases Java3D. Esta colección de objetos describe el universo virtual que posteriormente
será renderizado. El API define unas 100 clases básicas de menor nivel presentadas en el
paquete corazón de Java3D, javax.media.j3d.
1551
Java3D también usa otros paquetes como com.sun.j3d.utils, cuyas clases, conocidas como
clases de utilidades, reducen significativamente el número de líneas de código en un
programa Java 3D.
Además de las clases de los paquetes corazón y de utilidades de Java3D, el Catálogo
Industrial usa clases de los paquetes java.awt y javax.vecmath. El paquete java.awt define el
"Abstract Windowing Toolkit" (AWT). Las clases AWT crean una ventana para mostrar el
renderizado. El paquete javax.vecmath define clases de vectores matemáticos para puntos,
vectores, matrices y otros objetos matemáticos.
3.2.3 El grafo de escena del Catálogo Industrial
El grafo de escena del Catálogo Industrial posee en su rama de contenido objetos cuya
geometría y apariencia son cargadas en formato VRML.
En Java3D, la clase Loader lee ficheros de escenas 3D (no ficheros Java 3D) y crea
representaciones Java 3D de sus contenidos, que pueden ser añadidos selectivamente a un
mundo Java3D. El paquete com.sun.j3d.loaders proporciona el contenido principal para
convertir los ficheros creados de otras aplicaciones en aplicaciones Java3D.
Como hay una gran variedad de formatos de ficheros para propósitos de representación de
escenas 3D y siempre habrá más formatos de ficheros, el código real para cargar un fichero
no forma parte de Java3D o del paquete loaders; sólo se incluye el interfaz para el
mecanismo de carga.
La carga de la geometría de los diferentes productos que se muestran en el catálogo se ha
realizado mediante el cargador del formato de archivo VRML j3dvrml97.
Este es totalmente gratuito y está disponible en la dirección:
https://j3d-vrml97.dev.java.net/
Una vez descargado se deberá incorporar el fichero j3d-vrml97.jar junto con el resto de
librerías externas de Java, esto es, en la carpeta ext del directorio de instalación de JRE
(Java Runtime Environment) de Java.
Los pasos para la carga del contenido del fichero VRML son los siguientes:
1.- Importar la clase cargador.
2.- Declarar un objeto Scene.
3.- Crear un objeto loader.
4.- Cargar el fichero asignando el resultado al objeto Scene.
Con estos pasos, el objeto Scene contendría toda la información residente en el archivo
VRML. Nuestro objetivo es poder acceder de forma independiente a los nodos definidos por
DEF. Esto se lleva a cabo en la clase creada para tal cometido, VrmlLoad.
3.3 La comunicación del Catálogo Industrial con el servidor
El Catálogo Industrial en un applet que se ejecuta del lado del cliente. El applet establece
una comunicación con una base de datos, lo que obliga a desarrollar también aplicaciones
Java del lado del servidor. Las aplicaciones del lado del cliente y del servidor, y su
comunicación, serán tratadas en los próximos apartados.
3.3.1 La visualización del Catálogo Industrial a través de Internet
Entre las diversas ventajas que presenta Java, su independencia de la plataforma en la que
se van a ejecutar las aplicaciones, resulta de especial utilidad para servir de soporte a una
1552
de sus posibilidades más notables: la distribución de programas asociándolos a páginas
Web y su ejecución a través de los navegadores.
Los programas de Java diseñados e implementados para su ejecución en un navegador se
denominan applets. Cualquier ordenador que disponga de un navegador con máquina virtual
Java (JVM) podrá ejecutar nuestros programas, independientemente del procesador,
arquitectura y sistema operativo que conforme la máquina. La JVM se encuentra
incorporada en el JRE (Java Runtime Environment) de Java. Al inicio del proyecto la versión
existente era la JRE 5.0 Update 5, disponible de forma gratuita en la dirección de Sun
Microsystem:
http://java.sun.com/j2se/1.5.0/download.jsp
3.3.2 Los ficheros de configuración del Catálogo
Frecuentemente los programas necesitan enviar o recibir información desde una fuente
externa. La información puede hallarse en cualquier parte; en un fichero, en disco, en algún
lugar de la red, en memoria, en otro programa, etc. También puede ser de cualquier tipo:
objetos, caracteres, imágenes, sonidos…
Java nos proporciona un completo sistema de entrada/salida por medio del paquete java.io,
haciendo uso de los streams. Un stream (flujo de datos) es una abstracción que se asemeja
a un tubo por donde viajan datos, de forma que se pueden introducir datos (escribir
información) o extraer datos del tubo (leer información).
El Catálogo Industrial ofrece la opción de seleccionar un catálogo, desplegando un árbol que
muestra todos sus productos y subconjuntos. A su vez, en cada catálogo es posible acceder
a opciones de búsqueda de productos. Toda esta información, necesaria para configurar el
Catálogo Industrial, es leída desde diversos ficheros de texto que se encuentran en el
servidor. Dado que estos ficheros poseen caracteres Unicode y pueden ser perfectamente
reconocidos por cualquier persona, para establecer el flujo de datos se ha elegido un stream
de caracteres.
El Catálogo Industrial requiere para su correcto funcionamiento un archivo con todos los
nombres de los catálogos y dos archivos por cada catálogo, uno configura el árbol y el otro
proporciona los datos necesarios para las opciones de búsqueda de productos dentro de un
catálogo. Todos estos archivos se encuentran en el directorio Archivos, localizados en una
dirección relativa conocida respecto del directorio desde el que se ejecuta el Applet del
servidor.
El primero de estos ficheros tiene por nombre Catalogos.arb y contiene por línea el nombre
de cada uno de los catálogos que son posibles seleccionar, precedidos por una letra que
indica si el catálogo tiene o no vinculado una base de datos. La letra A indicará que no tiene
vinculado una base de datos, mientras que la letra T indicará lo contrario.
El ejemplo de la figura 2 muestra el contenido de un fichero Catalogos.arb. Tras la lectura y
procesado del fichero, el Catálogo Industrial mostraría la imagen de la figura 3.
Una vez seleccionado un catálogo, éste tiene asociado dos ficheros con el mismo nombre
que el catálogo, pero con diferentes extensiones: “.arb” y “.bus”. El fichero de extensión
“.arb” contiene la información necesaria para desplegar un árbol con todos los productos y
subconjuntos que incorpora el catálogo. Cada línea representa un nodo del árbol, iniciada
por una letra indicativa del nivel que ocupa dentro del árbol (A -> nivel 1, B -> nivel 2, C ->
nivel 3…), seguida del nombre del propio nodo. Es posible crear hasta 10 subniveles. Una
letra P en una línea, indicará que tal nodo corresponde a un producto en sí y no a una parte
de éste. Las figuras 4 y 5 muestran respectivamente el contenido de un fichero “.arb” y su
representación por el Catálogo Industrial, después de ser leído.
1553
Figura 2: Ejemplo de fichero Catalogos.arb
Figura 4: Ejemplo de fichero “.arb”
Figura 3: Resultado de la lectura
Figura 5: Resultado de la lectura
Los ficheros de extensión “.bus”, realmente, sólo existirán para los catálogos que tengan
vinculados una base de datos, e incorporan toda la información necesaria para acceder a las
opciones de búsqueda de productos. Los ficheros “.bus” tienen la misma estructura para
cualquier catálogo. Precedidos por la letra A aparecen los nombres de todas las tablas de la
base de datos a las que se vincula el catálogo. Precedidos por la letra C aparecen los
nombres de los campos sobre los cuales se le van a imponer las restricciones de búsqueda.
Una T indicará el tipo de dato de un campo y una i un item dentro de una lista desplegable.
1554
Precedidos de la letra E aparecen los nombres de los campos de la base de datos, junto con
sus tablas, con los que se vincula los campos anteriores. La letra R precederá a las
relaciones entre las tablas y la N al nombre del campo y tabla que se empleará para la
búsqueda y mostrar los resultados por pantalla. Las figuras 6 y 7 muestran respectivamente
un ejemplo de un fichero “.bus” y el resultado tras su lectura por el Catálogo Industrial.
Figura 6: Ejemplo de fichero “.bus”
Figura 7: Resultado de la lectura
1555
Con lo visto, el Catálogo Industrial sería capaz de mostrar los árboles asociados a los
catálogos. Estos árboles tienen vinculados para cada producto un archivo VRML. De esta
forma, al seleccionar un nodo del árbol, cargará del archivo VRML correspondiente, todos
los nodos hojas que cuelguen de él, y los redenrizará en un Canvas3D.
3.3.3 El modelo de comunicación
Para la comunicación entre cliente y servidor se usará un modelo de comunicación tipo
petición-respuesta: El cliente solicita la realización de cierta acción, mientras que el servidor
realiza la acción y responde al cliente.
Los servlets de Java proporcionan un mecanismo para ejecutar programas en equipos
servidores. Los servlets reciben peticiones desde navegadores Web y devuelven una
respuesta en función de los datos que proporcione el cliente y la situación de contexto
existente. Un servlet no es más que un programa Java que se ejecuta en un servidor Web y
que extiende su funcionalidad.
Sun Microsystem es responsable del desarrollo de las especificaciones para los servlets. La
implementación de referencia del estándar es desarrollado por la Fundación de Software
Apache (www.apache.org) como parte del Proyecto Jakarta, cuyo objetivo es proporcionar
soluciones de servidores basadas en la Plataforma Java. La parte relacionada con servlets
del Proyecto Jakarta se conoce como Tomcat. Tomcat es la implementación de referencia
oficial del estándar y la empleada en el proyecto para el funcionamiento de los servlets.
El Catálogo Industrial ofrece la opción de búsqueda de productos que cumplan con
determinados requisitos dentro de un catálogo. Tras seleccionar los campos adecuados
para la búsqueda, se genera una sentencia SQL (Structured Query Language) que es
guardada en un array String. Este array será enviado por medio de una petición post al
servidor que delegará al contenedor de servlets Tomcat su procesamiento a través de un
servlet. El servlet conectará con la base de datos y realizará una consulta, enviando los
resultados al usuario.
3.4 Introducción a la herramienta Catálogo Industrial v1.0
La herramienta Catálogo Industrial v1.0 es un programa creado para facilitar y
complementar la labor de configuración del Catálogo Industrial Web. Se podría pensar en
generar los ficheros de texto de configuración del Catálogo Web con un editor de texto,
puesto que sus estructuras están completamente definidas, pero parece obvio el esfuerzo y
tiempo que ello supondría, además de la casi segura generación de errores en la escritura,
indeseables en todos los aspectos.
La herramienta Catálogo Industrial v1.0 evita la generación de estos errores y guía en todo
momento al usuario del programa en la tarea de creación, edición y eliminación de
catálogos, de forma intuitiva y sencilla. El empleo de listas de opciones y la selección directa
de los archivos VRML que integran cada catálogo, son las opciones elegidas para la
consecución de estos objetivos
4. Conclusión y Líneas De Trabajo Futuras
El Catálogo Industrial desarrollado permite al usuario la consulta y búsqueda de productos
industriales, mostrándolos de forma tridimensional y posibilitando su interacción. De esta
forma se permite acceder a los productos de una base de datos continuamente actualizada,
sin la necesidad de descargar los catálogos cada vez que se produzca un cambio, y
visualizar y descomponer productos, que de otra manera sería demasiado caro conseguir, o
simplemente no sería posible.
1556
0
El Catálogo también permite mostrar conjuntos complejos, es decir, productos formados por
un número elevado de piezas. El hecho de que cualquier producto pueda ser descompuesto
de forma tridimensional en el número de piezas que se desee y la posibilidad de localizar
una pieza dentro del conjunto, todo ello a través de Internet, plantea su uso como
herramienta para sistemas de mantenimiento y reparación industrial.
Para una mayor potencialidad del Catálogo, además de la información que se muestra de
manera inmediata de la base de datos en la interfaz gráfica, se ha vinculado una página
HTML a cada producto, desde la cual se pueden descargar sus archivos 3D, fotografías y
demás información que se considere oportuna.
La herramienta permite la incorporación, edición y eliminación de catálogos a través de una
interfaz gráfica simple e intuitiva. Todos los datos se introducen mediante menús y listas
desplegables, no dando lugar a equívocos.
Como líneas de trabajo futuras podemos señalar:
•
Diseño de una interfaz gráfica más acorde, en función del uso del Catálogo, bien
como un catálogo puramente comercial o bien como herramienta para sistemas de
mantenimiento y reparación industrial.
•
Mejora de la interacción con el mundo virtual. Traslación de las piezas con respecto
a un sistema de referencia estático y no vinculado al conjunto. Sistema de
iluminación más real.
•
Integración en la interfaz gráfica de usuario de toda la información vinculada a cada
producto para evitar tener que acceder a páginas HTML.
•
Estudio del tamaño de los archivos VRML y su influencia en los tiempos de descarga
desde un servidor real, considerándose la posibilidad de incluir en la interfaz gráfica
de usuario un sistema que indique el % del progreso de carga.
Figura 8: Partes del Catalogo Industrial
Referencias
Bibliografía
1557
•
•
•
•
Harvey M. Deitel, Paul J. Deitel, “Cómo programar en JAVA”, Pearson
Education, 2004.
Herbert Schildt, “La biblia de Java 2 v5.0”, Ediciones Anaya Multimedia, 2005.
Israel Pastrana Vicente, Carlos Araiz García, Víctor Martínez Conte, “Manual
imprescindible de Java 2 v5.0”, Ediciones Anaya Multimedia, 2005.
J. García López, “Utilización del Lenguaje VRML como apoyo a labores de
mantenimiento y reparación de conjuntos complejos”, PFC de ETSII Málaga,
2004.
Material informático
•
•
•
•
•
•
Editor Java: Netbeans IDE v4.1
Servidor Web contenedor de servlets: jakarta-tomcat v4.1
Modificador formatos de archivos: Polytrans v4.2
Base de datos: Microsoft Access 2002
Navegador: Internet Explorer 6.0
Sistema operativo: Windows XP
Direcciones de interés
•
•
•
•
•
•
•
•
http://java.sun.com/
http://es.sun.com/
http://www.java2s.com/
http://www.programacion.com/java/tutoriales/
http://java.sun.com/products/java-media/3d
http://java3d.j3d.org/utilities/loaders.html
http://jakarta.apache.org/
http://www.web3d.org/
Correspondencia
José R. de Andrés Díaz: Universidad de Málaga, Dpto de Expresión Gráfica, Diseño y Proyectos,
Plaza El Ejido s/n, 29071 Málaga, Spain.
Phone: +34 95 213 20 62 Fax: +34 95 213 20 58 E-mail : [email protected]
URL: http://exp-grafica.uma.es
1558