Java 3D

21
Ingeniero Pedro Contreras Flores [email protected] Académico Universidad de Atacama InfoUDA - Junio 2002

Transcript of Java 3D

Page 1: Java 3D

Ingeniero Pedro Contreras [email protected]

AcadémicoUniversidad de Atacama

InfoUDA - Junio 2002

Page 2: Java 3D

AgendaAgenda

Introducción a la visualización 3DIntroducción a la visualización 3D Características de API JAVA3DCaracterísticas de API JAVA3D Diseño y Programación en Java 3DDiseño y Programación en Java 3D Ejemplos en Java 3DEjemplos en Java 3D

Page 3: Java 3D

La Evolución de las Graficas 3DLa Evolución de las Graficas 3D

Terminales Raster y MinicomputadoresTerminales Raster y MinicomputadoresGráficas por carácterGráficas por carácterFORTRANFORTRANPrimitivas y SuperficiesPrimitivas y Superficies

Estaciones de trabajoEstaciones de trabajoCCListas de muestras, SólidosListas de muestras, Sólidos

Estaciones de trabajo con aceleración 3D Estaciones de trabajo con aceleración 3D OpenGLOpenGLC++C++Mapeo de Textura , Modo Inmediato, Mapeo de Textura , Modo Inmediato, LuminosidadLuminosidad

Red de trabajo de Red de trabajo de computadorescomputadoresJava3DJava3DJavaJavaEscenas graficas, Escenas graficas, Geometrías, movilidad, Geometrías, movilidad, Sonido espacialSonido espacial

Page 4: Java 3D

Java 3D: para usuarios y Java 3D: para usuarios y usuarios finalesusuarios finales

Java 3D es una red de trabajo Java 3D es una red de trabajo central, utiliza escenas gráficas central, utiliza escenas gráficas basadas en API, revoluciona el basadas en API, revoluciona el desarrollo de aplicaciones gráficas desarrollo de aplicaciones gráficas 3D3D

Beneficios para los usuarios finalesBeneficios para los usuarios finales Portabilidad de aplicacionesPortabilidad de aplicaciones Independencia de hardwareIndependencia de hardware Escalabilidad de rendimientoEscalabilidad de rendimiento

Page 5: Java 3D

Puntos Clave de Java 3DPuntos Clave de Java 3D

Fácil de usarFácil de usar Simplifica la programación de graficas 3DSimplifica la programación de graficas 3D Productividad de JavaProductividad de Javatiempo en mercadotiempo en mercado

Gráficas 3D para la redGráficas 3D para la red Habilita la colaboración de modelos 3D y Habilita la colaboración de modelos 3D y

datos sobre la reddatos sobre la red Rendimiento EscalableRendimiento Escalable

Optimo rendimiento sobre un extenso rango Optimo rendimiento sobre un extenso rango de hardwarede hardware

No requiere plataforma especifica para las No requiere plataforma especifica para las aplicacionesaplicaciones

3D para Java y Java para 3D3D para Java y Java para 3D Provee API grafica 3D para desarrolladoresProvee API grafica 3D para desarrolladores Facilita otros desarrollos 3D movidos a JavaFacilita otros desarrollos 3D movidos a Java

Page 6: Java 3D

Jerarquía de Escena GráficaJerarquía de Escena Gráfica

TGTGTGTG

BGBG BGBG

BB

SSVPVP

ApperanceApperance GeometryGeometry

ViewView

Other ObjectsOther Objects

Virtual Virtual UniverseUniverse

LocaleLocale

BranchGroup NodesBranchGroup Nodes

Behavior Behavior NodeNode

Shape3D NodeShape3D Node

View PlatformView Platform

TransformGroup TransformGroup NodesNodes

Page 7: Java 3D

Ejemplo de Escena GráficaEjemplo de Escena Gráfica

Page 8: Java 3D

Escena gráfica parcialEscena gráfica parcial

BGBG

TGTG

BGBG

BGBG

BB

BB

ApperanceApperance GeometryGeometry

Virtual Virtual UniverseUniverse

CuartoCuarto

MuebleMuebless

ConductaConducta

View PlataformView Plataform

BGBGJugueteJuguetess

MuñecoMuñeco

TGTGBB

CamiónCamión

SS

SSCamaCama

CómodCómodaa

TGTG SS

SSSSSS

CajonesCajones

Marco Marco de de cajonescajones

Page 9: Java 3D

Definición de GeometríaDefinición de Geometría

Nodos Shape3DNodos Shape3D Usar herramientas autorizadasUsar herramientas autorizadas

Cargador Lightwave3DCargador Lightwave3D Cargar los .objCargar los .obj Cargar VRMLCargar VRML Cargar 3DStudioMaxCargar 3DStudioMax Cargadores de costumbreCargadores de costumbre

Page 10: Java 3D

Apariencia de Java3DApariencia de Java3D

AtributosAtributos Colores, texturasColores, texturas

EsfumadoEsfumado LuminosidadLuminosidad

Ambiente, direccional, punto Ambiente, direccional, punto (manchas)(manchas)

Page 11: Java 3D

ConductasConductas

Animación y movimientoAnimación y movimiento Detección de colisiónDetección de colisión InterpolacionesInterpolaciones MorphingMorphing Enlazar dispositivos de entradaEnlazar dispositivos de entrada Establece regiones limitesEstablece regiones limites

Page 12: Java 3D

Visualizar el ModeloVisualizar el Modelo

Independientes GeometríasIndependientes Geometrías No es un modelo estrictamente No es un modelo estrictamente

basado en cámarabasado en cámara Metafóricamente se rastrea la visión Metafóricamente se rastrea la visión

desde la plataformadesde la plataforma Cambiar fácilmente los modosCambiar fácilmente los modos

Sin reescribir códigoSin reescribir código

TGTG VPVPViewView

Other ObjectsOther Objects

VirtualUniversVirtualUniversee

ViewPalataforViewPalataformm

Page 13: Java 3D

DVR

JSDTJAIJMF

Java Sound Java 3D

Plataforma

JDK 1.2 Java 2DJava Sound Engine

Java Applet o Application

Componentes JavaComponentes Java

Page 14: Java 3D

Rasgos Característicos de Rasgos Característicos de JAVA3DJAVA3D

Compresión geométrica menos Compresión geométrica menos perdida visualmenteperdida visualmente

Innovación en la vista del modeloInnovación en la vista del modelo Pantallas del piso, stereo, portalesPantallas del piso, stereo, portales

Ejecución de desechoEjecución de desecho 3D audio espacial3D audio espacial Representación automáticaRepresentación automática Escribir en JavaEscribir en Java

Page 15: Java 3D

Más Características de Java3D Más Características de Java3D Detección de colisiónDetección de colisión Integrar con otros tipos de medios (Java Integrar con otros tipos de medios (Java

Media)Media) Soporte para dispositivos de acción Soporte para dispositivos de acción

continua (trackers)continua (trackers) Control de vistas extensivas con Control de vistas extensivas con

múltiples sistemas de coordenadasmúltiples sistemas de coordenadas Soporta múltiples representacionesSoporta múltiples representaciones Morphing\animaciones característicasMorphing\animaciones características

Page 16: Java 3D

J3D Diseño y RendimientoJ3D Diseño y Rendimiento Ejecución paralela en todos los nivelesEjecución paralela en todos los niveles Soporte simultaneo para múltiples Soporte simultaneo para múltiples

modos de renderizadomodos de renderizado Soporta niveles de detalleSoporta niveles de detalle Aceleración nativa de hardwareAceleración nativa de hardware Permite automático renderizado para Permite automático renderizado para

escenas por bajo hardware llegando al escenas por bajo hardware llegando al máximo rendimientomáximo rendimiento

Page 17: Java 3D

Mercados y aplicacionesMercados y aplicaciones Visualización de datosVisualización de datos Aplicaciones colaborativasAplicaciones colaborativas CAD\CAE, especialmente en diseñoCAD\CAE, especialmente en diseño 3D: desarrollo de paginas web o 3D: desarrollo de paginas web o

interfaces de usuario.interfaces de usuario. Creaciones de componentes digitalesCreaciones de componentes digitales Juegos, educación, especialmente Juegos, educación, especialmente

basadas en redes, sistemas basadas en redes, sistemas multijugadoresmultijugadores

Simulación y animación visualSimulación y animación visual Negocios gráficosNegocios gráficos

Page 18: Java 3D

¿Quién usa JAVA 3D hoy?¿Quién usa JAVA 3D hoy?

SolidWorks - MCAD file loader SolidWorks - MCAD file loader - - wwwwww..solidworkssolidworks..comcom Division - MCAD file loader Division - MCAD file loader - - wwwwww..divisiondivision..comcom Fakespace - Support for Immersive WorkbenchFakespace - Support for Immersive Workbench - -wwwwww..fakespacefakespace..

comcom SSEC - Scientific visualization of atmospheric data SSEC - Scientific visualization of atmospheric data Out of the Blue - Interactive educational systems Out of the Blue - Interactive educational systems Facet - Enterprise complex decision support tools Facet - Enterprise complex decision support tools TASC - Interactive, collaborative command & control TASC - Interactive, collaborative command & control Tripos - Molecular modeling / viewing Tripos - Molecular modeling / viewing Nearlife - Virtual Fishtank Nearlife - Virtual Fishtank Templegames - Sailing simulator Templegames - Sailing simulator Parallelization - 3D Virtual Whiteboard Parallelization - 3D Virtual Whiteboard Andy van Dam, Brown University - Teaching Java 3DTM Andy van Dam, Brown University - Teaching Java 3DTM

technology; Graphics Research; etc. technology; Graphics Research; etc. etc. etc. etc.etc. etc. etc.

Page 19: Java 3D

El FuturoEl Futuro

Dispositivos de entradaDispositivos de entrada Keyboard, mose, joystick, data glove, Keyboard, mose, joystick, data glove,

head trackers, ?head trackers, ? Dispositivos visualesDispositivos visuales

Flat screen, stereo, tesselation, Portal, Flat screen, stereo, tesselation, Portal, Cave, Networked immersive Cave, Networked immersive enviroments, ?enviroments, ?

¿Quieres que tus herramientas ¿Quieres que tus herramientas lleguen allí?lleguen allí?

Page 20: Java 3D

Su próximo pasoSu próximo paso

Instalar Java 3DInstalar Java 3D Aprender Java 3DAprender Java 3D Ver demos\Ver el códigoVer demos\Ver el código

wwwwww..sunsun..comcom//desktopdesktop/java3d/java3d

Page 21: Java 3D

RecuerdeRecuerde

Fácil de usarFácil de usar Gráficas 3D para la redGráficas 3D para la red Rendimiento escalableRendimiento escalable 3D para Java y Java para 3D3D para Java y Java para 3D