Introducción a Java3D
Enviado por AlbrtC • 27 de Abril de 2014 • Informe • 2.530 Palabras (11 Páginas) • 298 Visitas
Introducción a Java3D
Daniel Prieto Vicente
Héctor Rodríguez Cornejo
Departamento de Informática y Automática
Universidad de Salamanca
Introducción a Java3D
______________________________________________________________________
JAVA 3D 2
______________________________________________________________________
Información de los autores:
Daniel Prieto Vicente
abosanh@hotmail.com
Héctor Rodríguez Cornejo
hrcornejo@wanadoo.es
Este documento Puede ser libremente distribuido.
© 2003 Departamento de Informática y Automática - Universidad de Salamanca
Prieto y Rodríguez
______________________________________________________________________
3 JAVA 3D
_____________________________________________________________________
Resumen
Este trabajo pretende ser una introducción al lenguaje Java3D. Tanto en el enfoque de diseño
sobre este lenguaje, como en la creación practica de trabajos con él.
Abstract
This work try to introduce de Java3D lenguaje. The desing and the practical creation of proyects
are presented by this work.
Introducción a Java3D
______________________________________________________________________
JAVA 3D 4
______________________________________________________________________
Tabla de Contenidos
1. Introducción________________________________________________________ 7
1.1 ¿Que es la API Java3D?_____________________________________________ 7
1.2 Características ____________________________________________________ 7
1.3 Estructura de los objetos en Java3D ___________________________________ 8
1.4 Paradigma de Programación _________________________________________ 8
1.4.1 Modelo de programación del grafo de escena __________________________ 9
1.4.2 Aplicaciones y applets ____________________________________________ 9
2. Conceptos Generales _______________________________________________ 10
2.1 Universo Virtual __________________________________________________ 10
2.2 Objetos del grafo escena ____________________________________________ 11
2.2.1 Objetos de la superestuctura del grafo escena __________________________ 11
2.2.2 Objetos de la agrupación de nodos __________________________________ 12
2.2.3 Objetos nodos hoja _______________________________________________ 13
2.3 Otros objetos implicados ____________________________________________ 14
2.4 Construcción de un árbol ____________________________________________ 15
2.5 Sistemas de coordenadas ____________________________________________ 15
2.5.1 Coordenadas de alta resolución _____________________________________ 16
2.6 Modos de renderización_____________________________________________ 18
2.7 Paquetes de Java3D ________________________________________________ 19
3. Ejemplos de Código _________________________________________________ 20
3.1 HelloJava3Da _____________________________________________________ 20
3.2 Clases Java3D usadas en hellojava3Da _________________________________ 23
3.3 Código fuente _____________________________________________________ 26
4. Conclusiones_______________________________________________________27
5. Bibliografía ________________________________________________________ 28
Prieto y Rodríguez
______________________________________________________________________
5 JAVA 3D
_____________________________________________________________________
Tabla de figuras
Figura 1.1. Grafo de diseño del universo virtual_____________________________ 8
Figura 2.1. Sistema de coordenadas en Java 3D ____________________________ 16
Figura 3.1 __________________________________________________________ 22
Figura 3.2 __________________________________________________________ 22
Introducción a Java3D
______________________________________________________________________
JAVA 3D 6
______________________________________________________________________
Tabla de tablas
Tabla 2.1. Notación utilizada en los grafos de escena. _______________________ 11
Tabla 2.2Escalas de las coordenadas de alta resolución ______________________17
Prieto y Rodríguez
______________________________________________________________________
7 JAVA 3D
_____________________________________________________________________
1.INTRODUCCIÓN
1.1 ¿Qué es la API Java3D?
La API (Application Program Interface) Java 3D es una interfaz de programación de aplicación
utilizada para realizar aplicaciones y applets con gráficos en tres dimensiones. Proporciona a los
desarrolladores constructores de alto nivel para crear y manipular geometrías 3D y para
construir las estructuras utilizadas en el renderizado de dichas geometrías. Se pueden describir
grandes mundos virtuales utilizando estos constructores, que proporcionan a Java 3D la
suficiente información como para renderizar dichos mundos de forma eficiente. Java 3D
proporciona a los desarrolladores de gráficos 3D la principal característica de Java: “escribe una
vez y ejecútalo donde sea”. Java 3D es parte del conjunto de APIs JavaMedia, lo cual hace que
esté disponible en un gran número de plataformas. También, se integra correctamente con
Internet ya que tanto los applets como las aplicaciones escritas utilizando Java 3D tienen acceso
al conjunto completo de clases de Java.
Los objetos geométricos creados por los constructores residen en un universo virtual, que
luego es renderizado. El API está diseñado con flexibilidad para crear universos virtuales
precisos de una amplia variedad de tamaños, desde astronómicos a subatómicos.
A pesar de toda esta funcionalidad, la API es sencilla de usar. Los detalles de renderizado se
manejan automáticamente. Aprovechándose de los Threads Java, el renderizador Java 3D es
capaz de renderizar en paralelo. El renderizador también puede optimizarse automáticamente
para mejorar el rendimiento del renderizado.
Un programa Java 3D crea ejemplares de objetos Java 3D y los sitúa en un 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.
Las construcciones
...