SlideShare una empresa de Scribd logo
1 de 6
Introducción a Java3D
API Java3D
La API de Java3D es un conjunto de clases que sirven como interfaz a un sistema para
desplegar gráficos tri-dimensionales y sonidos. Es similar a la bilioteca gráfica OpenGL,
pero Java3D tiene la característica de ser estructurado.
Los programas de Java3D pueden ser escritos para ser corridos com programas
independientes o como applets para ser mostrados en browsers.
Scene Graph
Un universo virtual de Java3D es definido por un grafo, que se conoce como Scene Graph.
El Scene Graph es un ordenamiento de ojetos 3D en una estructura de árbol, que se crea
instanciando ojetos de las clases de Java3D. Con este grafo se define la geometría, sonido,
luz, ubicación, orientación y apariencia de ojetos visuales y de sonido.
Los nodos, generalmente se relacionan de la forma 'padre-hijo', pero también existe otro
tipo de relación, las 'referencias'. Esta relación asocia un Nodo Componente con un nodo
del Scene Graph. Un Nodo Componente define la geometría y la apariencia usada para
mostrar los ojetos visuales.
El camino de cada Scene Graph define completamente la información del estado de la hoja,
es decir, la uicación, orientación y tamaño del ojeto.
La representación gráfica de un Scene Graph sirve como herramienta de diseño y/o como
documentación para programas Java3D.
Los símbolos son:
Un ejemplo de un grafo es el siguiente:
Para construir un grafo, se puede seguir la siguiente receta:
1. Crear un ojeto Canvas3D
2. Crear un objeto VirtualUniverse
3. Crear un objeto Locale, adjuntándolo al objeto VirtualUniverse
4. 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
Receta Simple
Los programas de Java3D que usan la receta anterior, tienen grafos con estructuras
idénticas.
Por esto, existe la clase SimpleUniverse, que realiza los pasos 2, 3 y 4 de la receta anterior.
Esto permite reducir considerablemente el tiempo y esfuerzo necesitado para crear el grafo.
Usando esta clase, la receta anterior queda como:
1. Crear un ojeto Canvas3D
2. Crear un ojeto SimpleUniverse que referencia el objeto Canvas3D
1. Personalizar el objeto SimpleUniverse
3. Construir la rama con el contenido
4. Compilar la rama de contenidp
5. Insertar la rama de contenido en el Locale del SimpleUniverse
Componentes de un grafp
Los componentes de un grafo son:
 BranchGroup (BG): permite agrupar un conjunto de nodos bajo una raiz
 TransformGroup (TG): tiene asociada una matriz de transformación que afecta a
todos los elementos bajo este nodo
Un BG puede ser compilado, de manera de convertir todos sus descendientes a un formato
más eficiente para poder desplegarlo en pantalla.
Ejemplo: Mostrar un cubo de colores, rotado según uno de sus ejes.
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Frame;
import java.awt.event.*;
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.universe.*;
import com.sun.j3d.utils.geometry.ColorCube;
import javax.media.j3d.*;
import javax.vecmath.*;
public class HelloJava3Da extends Applet {
public HelloJava3Da(){
setLayout(new BorderLayout());
GraphicsConfiguration config =
SimpleUniverse.getPreferredConfiguration();
Canvas3D canvas3D =new Canvas3D(config);
add("Center",canvas3D);
BranchGroup scene=createSceneGraph();
scene.compile();
//SimpleUniverse is a Convenience Utility class
SimpleUniverse simpleU =new SimpleUniverse(canvas3D);
//This moves the ViewPlatform back a bit so the
//objects in the scene can be viewed.
simpleU.getViewingPlatform().setNominalViewingTransform();
simpleU.addBranchGraph(scene);
}//end of HelloJava3Da (constructor)
public BranchGroup createSceneGraph(){
//Create the root of the branch graph
BranchGroup objRoot =new BranchGroup();
//rotate object has composite transformation matrix
Transform3D rotate =new Transform3D();
rotate.rotX(Math.PI/4.0d);
TransformGroup objRotate =new TransformGroup(rotate);
objRotate.addChild(new ColorCube(0.4));
objRoot.addChild(objRotate); 13.
return objRoot;
}//end of createSceneGraph method of HelloJava3Da
//The following allows this to be run as an application
//as well as an applet
public static void main(String [] args)){
Frame frame =new MainFrame(new HelloJava3Da(),256,256);
}//end of main (methodof HelloJava3Da)
}// end of class HelloJava3Da
El grafo que representa lo anterior es:
y la representación es:
Introduccion a java3 d

Más contenido relacionado

Destacado

Portafolio de Informatica
Portafolio de InformaticaPortafolio de Informatica
Portafolio de InformaticaJavier Berru
 
Tipos de energías-secundaria
Tipos de energías-secundariaTipos de energías-secundaria
Tipos de energías-secundariaIvan Cano
 
Infitopost notepad
Infitopost   notepadInfitopost   notepad
Infitopost notepadAnand Kumar
 
Seo Web bền vững tại King Ads
Seo Web bền vững tại King AdsSeo Web bền vững tại King Ads
Seo Web bền vững tại King Adsquyendo2508
 

Destacado (8)

Moisés
MoisésMoisés
Moisés
 
Portafolio de Informatica
Portafolio de InformaticaPortafolio de Informatica
Portafolio de Informatica
 
Test presentation
Test presentationTest presentation
Test presentation
 
Tipos de energías-secundaria
Tipos de energías-secundariaTipos de energías-secundaria
Tipos de energías-secundaria
 
0
00
0
 
Infitopost notepad
Infitopost   notepadInfitopost   notepad
Infitopost notepad
 
02 thopdf
02 thopdf02 thopdf
02 thopdf
 
Seo Web bền vững tại King Ads
Seo Web bền vững tại King AdsSeo Web bền vững tại King Ads
Seo Web bền vững tại King Ads
 

Similar a Introduccion a java3 d

Api java 2D
Api  java 2DApi  java 2D
Api java 2DESPOL
 
7 y 8. interfaz grafica en java
7 y 8.  interfaz grafica en java7 y 8.  interfaz grafica en java
7 y 8. interfaz grafica en javaRaul Pomasoncco
 
Microsoft Expression Web
Microsoft Expression WebMicrosoft Expression Web
Microsoft Expression Webdaniel ridan
 
Presentacion aplicaciones en java
Presentacion aplicaciones en javaPresentacion aplicaciones en java
Presentacion aplicaciones en javarsalazar16988
 
Grails: Framework para el desarrollo de aplicaciones Web No 2
Grails: Framework para el desarrollo de aplicaciones Web No 2Grails: Framework para el desarrollo de aplicaciones Web No 2
Grails: Framework para el desarrollo de aplicaciones Web No 2Esteban Saavedra
 
Tema 4 3_2_interfaces_de_usuario
Tema 4 3_2_interfaces_de_usuarioTema 4 3_2_interfaces_de_usuario
Tema 4 3_2_interfaces_de_usuarioCarlos A. Iglesias
 
[ES] Conectividad de java a base de datos(jdbc)
[ES] Conectividad de java a base  de datos(jdbc)[ES] Conectividad de java a base  de datos(jdbc)
[ES] Conectividad de java a base de datos(jdbc)Eudris Cabrera
 
Interfaz gráfica de usuario y eventos (introducción)
Interfaz gráfica de usuario y eventos (introducción)Interfaz gráfica de usuario y eventos (introducción)
Interfaz gráfica de usuario y eventos (introducción)Omar B.
 
Autocad fabricio chicaiza
Autocad fabricio chicaizaAutocad fabricio chicaiza
Autocad fabricio chicaizaFabbo Chicaiza
 
Java awt javax swing
Java awt  javax swingJava awt  javax swing
Java awt javax swingdevsco63
 
Presentacion carlos
Presentacion carlosPresentacion carlos
Presentacion carlosKarlytozdj
 

Similar a Introduccion a java3 d (20)

Java 3 d manual
Java 3 d manualJava 3 d manual
Java 3 d manual
 
Api 3 d
Api 3 dApi 3 d
Api 3 d
 
Api java 2D
Api  java 2DApi  java 2D
Api java 2D
 
7 y 8. interfaz grafica en java
7 y 8.  interfaz grafica en java7 y 8.  interfaz grafica en java
7 y 8. interfaz grafica en java
 
Java 2 d
Java 2 dJava 2 d
Java 2 d
 
Microsoft Expression Web
Microsoft Expression WebMicrosoft Expression Web
Microsoft Expression Web
 
Presentacion aplicaciones en java
Presentacion aplicaciones en javaPresentacion aplicaciones en java
Presentacion aplicaciones en java
 
Grails: Framework para el desarrollo de aplicaciones Web No 2
Grails: Framework para el desarrollo de aplicaciones Web No 2Grails: Framework para el desarrollo de aplicaciones Web No 2
Grails: Framework para el desarrollo de aplicaciones Web No 2
 
Novedades Xamarin.Forms 2
Novedades Xamarin.Forms 2Novedades Xamarin.Forms 2
Novedades Xamarin.Forms 2
 
ANDROID. ACTIVIDAD GLSURFACEVIEW 01
ANDROID. ACTIVIDAD GLSURFACEVIEW 01ANDROID. ACTIVIDAD GLSURFACEVIEW 01
ANDROID. ACTIVIDAD GLSURFACEVIEW 01
 
Tutorial java fx_8_espanol
Tutorial java fx_8_espanolTutorial java fx_8_espanol
Tutorial java fx_8_espanol
 
Tema 4 3_2_interfaces_de_usuario
Tema 4 3_2_interfaces_de_usuarioTema 4 3_2_interfaces_de_usuario
Tema 4 3_2_interfaces_de_usuario
 
Introduccion a graficos mediante JAVA 2D
Introduccion a graficos mediante JAVA 2DIntroduccion a graficos mediante JAVA 2D
Introduccion a graficos mediante JAVA 2D
 
[ES] Conectividad de java a base de datos(jdbc)
[ES] Conectividad de java a base  de datos(jdbc)[ES] Conectividad de java a base  de datos(jdbc)
[ES] Conectividad de java a base de datos(jdbc)
 
Interfaz gráfica de usuario y eventos (introducción)
Interfaz gráfica de usuario y eventos (introducción)Interfaz gráfica de usuario y eventos (introducción)
Interfaz gráfica de usuario y eventos (introducción)
 
Autocad fabricio chicaiza
Autocad fabricio chicaizaAutocad fabricio chicaiza
Autocad fabricio chicaiza
 
Java awt javax swing
Java awt  javax swingJava awt  javax swing
Java awt javax swing
 
Programacion en java
Programacion en javaProgramacion en java
Programacion en java
 
C5 applets v2
C5 applets v2C5 applets v2
C5 applets v2
 
Presentacion carlos
Presentacion carlosPresentacion carlos
Presentacion carlos
 

Último

INFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsx
INFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsxINFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsx
INFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsxCORPORACIONJURIDICA
 
AUDITORIAS en enfermeria hospitalaria .pptx
AUDITORIAS en enfermeria hospitalaria .pptxAUDITORIAS en enfermeria hospitalaria .pptx
AUDITORIAS en enfermeria hospitalaria .pptxMatiasGodoy33
 
ADMINISTRACION FINANCIERA CAPITULO 4.pdf
ADMINISTRACION FINANCIERA CAPITULO 4.pdfADMINISTRACION FINANCIERA CAPITULO 4.pdf
ADMINISTRACION FINANCIERA CAPITULO 4.pdfguillencuevaadrianal
 
cuadro sinoptico tipos de organizaci.pdf
cuadro sinoptico tipos de organizaci.pdfcuadro sinoptico tipos de organizaci.pdf
cuadro sinoptico tipos de organizaci.pdfjesuseleazarcenuh
 
EVALUACIÓN PARCIAL de seminario de .pdf
EVALUACIÓN PARCIAL de seminario de  .pdfEVALUACIÓN PARCIAL de seminario de  .pdf
EVALUACIÓN PARCIAL de seminario de .pdfDIEGOSEBASTIANCAHUAN
 
ANÁLISIS CAME, DIAGNOSTICO PUERTO DEL CALLAO
ANÁLISIS CAME, DIAGNOSTICO  PUERTO DEL CALLAOANÁLISIS CAME, DIAGNOSTICO  PUERTO DEL CALLAO
ANÁLISIS CAME, DIAGNOSTICO PUERTO DEL CALLAOCarlosAlbertoVillafu3
 
Presentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdf
Presentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdfPresentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdf
Presentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdfLuisAlbertoAlvaradoF2
 
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docx
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docxPLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docx
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docxwilliamzaveltab
 
LIC-ZIEGLER-Planificación y Control de Gestión
LIC-ZIEGLER-Planificación y Control de GestiónLIC-ZIEGLER-Planificación y Control de Gestión
LIC-ZIEGLER-Planificación y Control de GestiónBahamondesOscar
 
Contabilidad universitaria Septima edición de MCGrawsHill
Contabilidad universitaria Septima edición de MCGrawsHillContabilidad universitaria Septima edición de MCGrawsHill
Contabilidad universitaria Septima edición de MCGrawsHilldanilojaviersantiago
 
MARKETING SENSORIAL CONTENIDO, KARLA JANETH
MARKETING SENSORIAL CONTENIDO, KARLA JANETHMARKETING SENSORIAL CONTENIDO, KARLA JANETH
MARKETING SENSORIAL CONTENIDO, KARLA JANETHkarlinda198328
 
modulo+penal+del+16+al+20+hhggde+enero.pdf
modulo+penal+del+16+al+20+hhggde+enero.pdfmodulo+penal+del+16+al+20+hhggde+enero.pdf
modulo+penal+del+16+al+20+hhggde+enero.pdfmisssusanalrescate01
 
Clase 2 Ecosistema Emprendedor en Chile.
Clase 2 Ecosistema Emprendedor en Chile.Clase 2 Ecosistema Emprendedor en Chile.
Clase 2 Ecosistema Emprendedor en Chile.Gonzalo Morales Esparza
 
diseño de redes en la cadena de suministro.pptx
diseño de redes en la cadena de suministro.pptxdiseño de redes en la cadena de suministro.pptx
diseño de redes en la cadena de suministro.pptxjuanleivagdf
 
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptx
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptxTEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptx
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptxFrancoSGonzales
 
Trabajo de Sifilisn…………………………………………………..
Trabajo de Sifilisn…………………………………………………..Trabajo de Sifilisn…………………………………………………..
Trabajo de Sifilisn…………………………………………………..JoseRamirez247144
 
Plan General de Contabilidad Y PYMES pdf
Plan General de Contabilidad Y PYMES pdfPlan General de Contabilidad Y PYMES pdf
Plan General de Contabilidad Y PYMES pdfdanilojaviersantiago
 
1.- PLANIFICACIÓN PRELIMINAR DE AUDITORÍA.pptx
1.- PLANIFICACIÓN PRELIMINAR DE AUDITORÍA.pptx1.- PLANIFICACIÓN PRELIMINAR DE AUDITORÍA.pptx
1.- PLANIFICACIÓN PRELIMINAR DE AUDITORÍA.pptxCarlosQuionez42
 

Último (20)

Capitulo-6.ppt-gestión del tiempo en pmi
Capitulo-6.ppt-gestión del tiempo en pmiCapitulo-6.ppt-gestión del tiempo en pmi
Capitulo-6.ppt-gestión del tiempo en pmi
 
INFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsx
INFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsxINFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsx
INFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsx
 
AUDITORIAS en enfermeria hospitalaria .pptx
AUDITORIAS en enfermeria hospitalaria .pptxAUDITORIAS en enfermeria hospitalaria .pptx
AUDITORIAS en enfermeria hospitalaria .pptx
 
ADMINISTRACION FINANCIERA CAPITULO 4.pdf
ADMINISTRACION FINANCIERA CAPITULO 4.pdfADMINISTRACION FINANCIERA CAPITULO 4.pdf
ADMINISTRACION FINANCIERA CAPITULO 4.pdf
 
cuadro sinoptico tipos de organizaci.pdf
cuadro sinoptico tipos de organizaci.pdfcuadro sinoptico tipos de organizaci.pdf
cuadro sinoptico tipos de organizaci.pdf
 
EVALUACIÓN PARCIAL de seminario de .pdf
EVALUACIÓN PARCIAL de seminario de  .pdfEVALUACIÓN PARCIAL de seminario de  .pdf
EVALUACIÓN PARCIAL de seminario de .pdf
 
ANÁLISIS CAME, DIAGNOSTICO PUERTO DEL CALLAO
ANÁLISIS CAME, DIAGNOSTICO  PUERTO DEL CALLAOANÁLISIS CAME, DIAGNOSTICO  PUERTO DEL CALLAO
ANÁLISIS CAME, DIAGNOSTICO PUERTO DEL CALLAO
 
Presentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdf
Presentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdfPresentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdf
Presentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdf
 
Tarea-4-Estadistica-Descriptiva-Materia.ppt
Tarea-4-Estadistica-Descriptiva-Materia.pptTarea-4-Estadistica-Descriptiva-Materia.ppt
Tarea-4-Estadistica-Descriptiva-Materia.ppt
 
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docx
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docxPLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docx
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docx
 
LIC-ZIEGLER-Planificación y Control de Gestión
LIC-ZIEGLER-Planificación y Control de GestiónLIC-ZIEGLER-Planificación y Control de Gestión
LIC-ZIEGLER-Planificación y Control de Gestión
 
Contabilidad universitaria Septima edición de MCGrawsHill
Contabilidad universitaria Septima edición de MCGrawsHillContabilidad universitaria Septima edición de MCGrawsHill
Contabilidad universitaria Septima edición de MCGrawsHill
 
MARKETING SENSORIAL CONTENIDO, KARLA JANETH
MARKETING SENSORIAL CONTENIDO, KARLA JANETHMARKETING SENSORIAL CONTENIDO, KARLA JANETH
MARKETING SENSORIAL CONTENIDO, KARLA JANETH
 
modulo+penal+del+16+al+20+hhggde+enero.pdf
modulo+penal+del+16+al+20+hhggde+enero.pdfmodulo+penal+del+16+al+20+hhggde+enero.pdf
modulo+penal+del+16+al+20+hhggde+enero.pdf
 
Clase 2 Ecosistema Emprendedor en Chile.
Clase 2 Ecosistema Emprendedor en Chile.Clase 2 Ecosistema Emprendedor en Chile.
Clase 2 Ecosistema Emprendedor en Chile.
 
diseño de redes en la cadena de suministro.pptx
diseño de redes en la cadena de suministro.pptxdiseño de redes en la cadena de suministro.pptx
diseño de redes en la cadena de suministro.pptx
 
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptx
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptxTEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptx
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptx
 
Trabajo de Sifilisn…………………………………………………..
Trabajo de Sifilisn…………………………………………………..Trabajo de Sifilisn…………………………………………………..
Trabajo de Sifilisn…………………………………………………..
 
Plan General de Contabilidad Y PYMES pdf
Plan General de Contabilidad Y PYMES pdfPlan General de Contabilidad Y PYMES pdf
Plan General de Contabilidad Y PYMES pdf
 
1.- PLANIFICACIÓN PRELIMINAR DE AUDITORÍA.pptx
1.- PLANIFICACIÓN PRELIMINAR DE AUDITORÍA.pptx1.- PLANIFICACIÓN PRELIMINAR DE AUDITORÍA.pptx
1.- PLANIFICACIÓN PRELIMINAR DE AUDITORÍA.pptx
 

Introduccion a java3 d

  • 1. Introducción a Java3D API Java3D La API de Java3D es un conjunto de clases que sirven como interfaz a un sistema para desplegar gráficos tri-dimensionales y sonidos. Es similar a la bilioteca gráfica OpenGL, pero Java3D tiene la característica de ser estructurado. Los programas de Java3D pueden ser escritos para ser corridos com programas independientes o como applets para ser mostrados en browsers. Scene Graph Un universo virtual de Java3D es definido por un grafo, que se conoce como Scene Graph. El Scene Graph es un ordenamiento de ojetos 3D en una estructura de árbol, que se crea instanciando ojetos de las clases de Java3D. Con este grafo se define la geometría, sonido, luz, ubicación, orientación y apariencia de ojetos visuales y de sonido. Los nodos, generalmente se relacionan de la forma 'padre-hijo', pero también existe otro tipo de relación, las 'referencias'. Esta relación asocia un Nodo Componente con un nodo del Scene Graph. Un Nodo Componente define la geometría y la apariencia usada para mostrar los ojetos visuales. El camino de cada Scene Graph define completamente la información del estado de la hoja, es decir, la uicación, orientación y tamaño del ojeto. La representación gráfica de un Scene Graph sirve como herramienta de diseño y/o como documentación para programas Java3D. Los símbolos son:
  • 2. Un ejemplo de un grafo es el siguiente: Para construir un grafo, se puede seguir la siguiente receta: 1. Crear un ojeto Canvas3D 2. Crear un objeto VirtualUniverse 3. Crear un objeto Locale, adjuntándolo al objeto VirtualUniverse 4. Construir una rama de vista:
  • 3. 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 Receta Simple Los programas de Java3D que usan la receta anterior, tienen grafos con estructuras idénticas. Por esto, existe la clase SimpleUniverse, que realiza los pasos 2, 3 y 4 de la receta anterior. Esto permite reducir considerablemente el tiempo y esfuerzo necesitado para crear el grafo. Usando esta clase, la receta anterior queda como: 1. Crear un ojeto Canvas3D 2. Crear un ojeto SimpleUniverse que referencia el objeto Canvas3D 1. Personalizar el objeto SimpleUniverse
  • 4. 3. Construir la rama con el contenido 4. Compilar la rama de contenidp 5. Insertar la rama de contenido en el Locale del SimpleUniverse Componentes de un grafp Los componentes de un grafo son:  BranchGroup (BG): permite agrupar un conjunto de nodos bajo una raiz  TransformGroup (TG): tiene asociada una matriz de transformación que afecta a todos los elementos bajo este nodo Un BG puede ser compilado, de manera de convertir todos sus descendientes a un formato más eficiente para poder desplegarlo en pantalla. Ejemplo: Mostrar un cubo de colores, rotado según uno de sus ejes. import java.applet.Applet; import java.awt.BorderLayout; import java.awt.Frame; import java.awt.event.*; import com.sun.j3d.utils.applet.MainFrame; import com.sun.j3d.utils.universe.*; import com.sun.j3d.utils.geometry.ColorCube; import javax.media.j3d.*; import javax.vecmath.*; public class HelloJava3Da extends Applet { public HelloJava3Da(){ setLayout(new BorderLayout()); GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration(); Canvas3D canvas3D =new Canvas3D(config); add("Center",canvas3D); BranchGroup scene=createSceneGraph(); scene.compile(); //SimpleUniverse is a Convenience Utility class SimpleUniverse simpleU =new SimpleUniverse(canvas3D); //This moves the ViewPlatform back a bit so the //objects in the scene can be viewed. simpleU.getViewingPlatform().setNominalViewingTransform(); simpleU.addBranchGraph(scene); }//end of HelloJava3Da (constructor) public BranchGroup createSceneGraph(){ //Create the root of the branch graph
  • 5. BranchGroup objRoot =new BranchGroup(); //rotate object has composite transformation matrix Transform3D rotate =new Transform3D(); rotate.rotX(Math.PI/4.0d); TransformGroup objRotate =new TransformGroup(rotate); objRotate.addChild(new ColorCube(0.4)); objRoot.addChild(objRotate); 13. return objRoot; }//end of createSceneGraph method of HelloJava3Da //The following allows this to be run as an application //as well as an applet public static void main(String [] args)){ Frame frame =new MainFrame(new HelloJava3Da(),256,256); }//end of main (methodof HelloJava3Da) }// end of class HelloJava3Da El grafo que representa lo anterior es: y la representación es: