Sunteți pe pagina 1din 8

ITESCAM

5 C

API JAVA 3D

1.- Que es el API JAVA 3D? Es una interfaz de programacin de aplicacin utilizada para realizar aplicaciones y applets con grficos en tres dimensiones. Proporciona a los desarrolladores constructores de alto nivel para crear y manipular geometras 3D y para construir las estructuras utilizadas en el renderizado de dichas geometras.

2.-Cuales son las caractersticas de la API JAVA 3D? El diseo de de Java 3D se basa en mltiples objetivos, siendo el principal el rendimiento. Se tomaron diferentes decisiones relativas al diseo de tal forma que las implementaciones de Java 3D proporcionaran el mejor rendimiento posible a las aplicaciones de usuario. En particular, cuando se realizan distribuciones, se elige la alternativa que permite obtener mejores prestaciones en tiempo de ejecucin. Otros objetivos importantes de Java 3D son: Proporcionar un amplio conjunto de utilidades que permitan crear mundos en 3D interesantes. Se evit incluir caractersticas no esenciales u oscuras y tampoco caractersticas que se podran colocar directamente sobre Java 3D. Proporcionar un paradigma de programacin orientado a objeto de alto nivel para permitir a los desarrolladores generar sofisticadas aplicaciones y applets de forma rpida. Proporcionar soporte a cargadores en tiempo de ejecucin. Esto permite que Java 3D se adapte a un gran nmero de formatos de ficheros, como pueden ser formatos especficos de distintos fabricantes de CAD, formatos de intercambio o VRML 1.0 (Virtual Reality Modelling Language) y VRML 2.0 3.-Cual es la estructura de los objetos en la API JAVA 3D? Java 3D distribuye la informacin necesaria para representar objetos y escenas en tres dimensiones en una estructura de grafo. Siguiendo dicha estructura desde el nodo raz hasta los distintos nodos hoja, se ven las distintas operaciones que se realizan para crear la escena final que se quiere conseguir. Este grafo incluye tanto los distintos elementos que forman parte de la escena como las transformaciones que les aplica. Del mismo modo, se insertan en el mismo grafo (aunque en otra rama distinta) los diferentes elementos relacionados con el punto de vista del usuario.

ANGEL EDUARDO CABRERA COB

ITESCAM

5 C

4.-Cuales son algunos de los paquetes de la API JAVA 3D? Todos los programas de Java 3D se forman, al menos parcialmente, uniendo distintos elementos de la jerarqua de clases de Java 3D. Esa gran coleccin de objetos describe un universo virtual, que ser posteriormente renderizado. La API define ms de cien clases incluidas en el paquete javax.media.j3d. Estas clases son las normalmente denominadas como clases ncleo de Java 3D. Hay cientos de campos y mtodos en dichas clases, sin embargo, un universo virtual sencillo que contenga algo de animacin se puede construir con slo unas pocas de ellas. Adems del paquete ncleo, a la hora de desarrollar programas en Java 3D se utilizan otros paquetes. Uno de ellos es el paquete normalmente conocido como de utilidad (com.sun.j3d.utils).El paquete ncleo incluye slo las clases de nivel ms bajo necesarias para programar en Java 3D. Las clases de utilidad son extensiones muy prcticas y potentes. Como era de esperar, la utilizacin de clases de utilidad reduce significativamente el nmero de lneas de cdigo a la hora de programar. Por ltimo, tambin se utilizan clases del paquete java.awt donde se define el Abstract Windowing Toolkit (AWT) que proporciona una ventana para visualizar la renderizacin y clases javax.vecmath que define clases matemticas de vectores para puntos, vectores, matrices y otros objetos matemticos. 5.-Ejemplos de codigo en la API JAVA 3D. La clase HelloJava3D 1. public class HelloJava3Da extends Applet { 2. public HelloJava3Da() { 3. setLayout(new BorderLayout()); 4. Canvas3D canvas3D = new Canvas3D(null); 5. add("Center", canvas3D); 6. 7. BranchGroup scene = createSceneGraph(); 8. scene.compile(); 9. 10. // SimpleUniverse es una clase Convenience Utility 11. SimpleUniverse simpleU = new SimpleUniverse(canvas3D); 12. 13. // Mueve ViewPlatform atrs un bit as el objeto de la escena 14. // podr ser visto .
ANGEL EDUARDO CABRERA COB

ITESCAM

5 C

15. simpleU.getViewingPlatform().setNominalViewingTransform(); 16. 17. simpleU.addBranchGraph(scene); 18. } // Fin de HelloJava3Da (constructor) Mtodo createSceneGraph de la clase HelloJava3D 1. public BranchGroup createSceneGraph() { 2. // Crea la raz del grafo branch 3. BranchGroup objRoot = new BranchGroup(); 4. 5. // Crea un nodo hoja de forma simple, aadindolo al grafo de escena 6. // ColorCube es una clase Convenience Utility 7. objRoot.addChild(new ColorCube(0.4)); 8. 9. return objRoot; 10. } // Fin del mtodo createSceneGraph de HelloJava3Da 11. } // Fin de la clase HelloJava3Da Mtodo Main() de HelloJava3Da Invoca a MainFrame 1. // Permite que el programa sea ejecutado tanto como una aplicacin o como si 2. // fuera un applet 3. 4. public static void main(String[] args) { 5. Frame frame = new MainFrame(new HelloJava3Da(), 256, 256); 6. } // Fin de main (metodo de HelloJava3Da)

ANGEL EDUARDO CABRERA COB

ITESCAM

5 C

OBJETOS JAVA 3D

1.-Que es el Shape3D? La clase Shape3D es una subclase de la clase Leaf, luego, solamente puede estar presente en el grafo, como una hoja.

2.-Que define un objeto visual en JAVA 3D? Una instancia del objeto Shape3D

3.-Que caractersticas tienes el objeto Shape3D? No tiene informacin sobre la forma o el color del objeto, peor puede referenciar un Nodo Componente Geometry y un Nodo Componente Appearance. Los Nodos Componentes Gemoetry permiten definir la geometra de la figura, y los Nodo Componentes Appearance sirven para definir las caractersticas de la apariencia del objeto. 4.-Cual es el patron general para crear una clase que defina las caractersticas del objeto visual? public class VisualObject extends Shape3D{ private Geometry voGeometry; private Appearance voAppearance; // create Shape3D with geometry and appearance // the geometry is created in method createGeometry // the appearance is created in method createAppearance public VisualObject() { voGeometry = createGeometry(); voAppearance = createAppearance(); this.setGeometry(voGeometry); this.setAppearance(voAppearance); } private Geometry createGeometry() { // code to create default geometry of visual object } private Appearance createAppearance () { // code to create default appearance of visual object } } // end of class VisualObject Despus, este objeto puede ser agregado a un nodo: objRoot.addChild (new VisualObject());

ANGEL EDUARDO CABRERA COB

ITESCAM

5 C

5.-Ademas de un objeto visual, q mas se puede crear con el JAVA 3D?

Tambin existen clases de objetos grficos que permiten generar figuras geomtricas primitivas. En estas primitivas, no se puede modificar la geometra de la figura, pero s es posible modificar la apariencia y su tamao. Las figuras geomtricas primitivas son:

Box Cone Cylinder Sphere

Sus constructores son: Box (float xdim, float ydim, float zdim) crea una caja de dimensiones xdim * ydim * zdim, centrada en el origen Cone (float r, float h) crea un cono de radio r y altura h, centrada en el origen alineada segn el eje y Cylinder (float r, float h) crea un cilindro de radio r y altura h, centrada en el origen con su eje principal segn el eje y Sphere (float r) crea una esfera de radio r, centrada en el origen

ANGEL EDUARDO CABRERA COB

ITESCAM

5 C

CLASES DE JAVA 3D

1.-Para que nos sirve el API DE JAVA 3D? Es un conjunto de clases que sirven como interfaz a un sistema para desplegar grficos tri-dimensionales y sonidos. Es similar a la biblioteca grfica OpenGL, pero Java3D tiene la caracterstica de ser estructurado. 2.-Cuales son algunas de las principales clases java que existen? Transform3D, BranchGrou, y Canvas3 3.-Para que sirve la Clase BranchGrou? Los objetos de este tipo se usan para formar escenarios grficos. Los ejemplares de BranchGroup son la raz de los subgrficos. Los objetos BranchGroup son los nicos que pueden ser hijos de los objetos Locale. Los objetos BranchGroup pueden tener varios hijos. Los hijos de un objeto BranchGroup pueden ser otros objetos Group o Leaf.

4.-Para que sirve la Clase Canvas3? La clase Canvas3D deriva de la clase Canvas del AWT. Al menos un objeto Canvas3D debe ser referenciado en la rama de vista grfica del escenario grfico. 5.-Para que sirve la Clase Transform3D? Los objetos Transform3D representan transformaciones de geometras 3D como una traslacin o una rotacin. Estos objetos normalmente slo se usan en la creacin de un objeto. TransformGroup. Primero, se construye el objeto Transform3D, posiblemente desde una combinacin de objetos Transform3D. Luego se construye el objeto TransformGroup usando el objeto Transform3D.

ANGEL EDUARDO CABRERA COB

ITESCAM

5 C

COMO USAR LA API DE JAVA3D

1.-Para que nos sirve y como se utiliza la API DE LAVA 3D? La API de Java3D es un conjunto de clases que sirven como interfaz a un sistema para desplegar grficos tri-dimensionales y sonidos. Es similar a la biblioteca grfica OpenGL, pero Java3D tiene la caracterstica de ser estructurado. 2.-Como pueden ser los programas en JAVA 3D? pueden ser escritos para ser corridos con programas independientes o como applets para ser mostrados en browsers.

3.- Cuales son los pasos bsicos para crear un mundo 3D?

un objeto de Canvas3D; un grfico de la escena; el objeto Canvas3D a un objeto BranchGroup que apunta a la raz de la grafica de la escena.

4.-Pasos para construir un grafo en la API DE JAVA 3D.

1. 2. 3. 4.

Crear un ojeto Canvas3D Crear un objeto VirtualUniverse Crear un objeto Locale, adjuntndolo al objeto VirtualUniverse Construir una rama de vista: 1. Crear un objeto View 2. Crear un objeto ViewPlatform 3. Crear un objeto PhysicalBody 4. Crear un objeto PhysicalEnvironment 5. Adjuntar los ojetos ViewPlatform, Physicalody, PhysicalEnvironment y Canvas3D al ojeto View 5. Construir una(s) rama(s) de contenido 6. Compilar las ramas del grafo 7. Insertar su-grafos en el Locale

5.-Que se puede realizar con la API DE JAVA 3D? Se pueden describir grandes mundos virtuales utilizando estos constructores, que proporcionan a Java 3D la suficiente informacin como para renderizar dichos mundos de forma eficiente. Java 3D proporciona a los desarrolladores de grficos 3D la principal caracterstica de Java: escribe una vez y ejectalo donde sea. Java 3D es parte del conjunto de APIs JavaMedia, lo cual hace que est disponible en un gran
ANGEL EDUARDO CABRERA COB

ITESCAM

5 C

nmero de plataformas. Tambin, 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.

ANGEL EDUARDO CABRERA COB

S-ar putea să vă placă și