SlideShare una empresa de Scribd logo
1 de 4
SUBSECRETARIA DE EDUCACION SUPERIOR
DIRECCION GENERAL DE EDUCACION SUPERIOR TECNOLOGICA
INSTITUTO TECNOLOGICO DE TAPACHULA
Nombre Del Alumno:
Martínez Ramos Sheyla Berenice
Nombre De La Carrera:
Ingeniería En Sistemas Computacionales
Nombre Del Profesor:
Nicolás Cabrera Hidalgo
Nombre De La Materia:
Graficacion
Tarea:
Transformaciones Tridimensionales
INTRODUCCIÓN
¿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 gráficas de bajo nivel de Java 3D sintetizan las mejores ideas encontradas en
otras APIs de bajo nivel como Direct3D, OpenGL, QuickDraw3D y XGL. Del mismo modo, sus
construcciones de alto nivel integran las mejores características proporcionadas por varios
sistemas de escenas basados en grafos. Además, Java 3D introduce algunos conceptos que no se
consideran habitualmente como parte de los entornos gráficos, como el sonido espacial 3D. Las
posibilidades de sonido de Java 3D permiten proporcionar una experiencia más realista al usuario.
Características
El diseño de de Java 3D se basa en múltiples objetivos, siendo el principal el rendimiento. Se
tomaron diferentes decisiones relativas al diseño 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 ejecución.
Otros objetivos importantes de Java 3D son:
• Proporcionar un amplio conjunto de utilidades que permitan crear mundos en 3D interesantes.
Se evitó incluir características no esenciales u oscuras y tampoco características que se podrían
colocar directamente sobre Java 3D.
• Proporcionar un paradigma de programación orientado a objeto de alto nivel para permitir a los
desarrolladores generar sofisticadas aplicaciones y applets de forma rápida.
• Proporcionar soporte a cargadores en tiempo de ejecución. Esto permite que Java 3D se adapte
a un gran número de formatos de ficheros, como pueden ser formatos específicos de distintos
fabricantes de CAD, formatos de intercambio o VRML 1.0 (Virtual Reality Modelling Language) y
VRML 2.0
Paradigma de programación
Java 3D es una API orientada a objetos. Las aplicaciones construyen los distintos elementos
gráficos como objetos separados y los conectan unos con otros mediante una estructura en forma
de árbol denominada grafo de escena. La aplicación manipula los diferentes objetos utilizando los
métodos de acceso, de modificación y de unión definidos en su interfaz.
Modelo de programación del grafo de escena
El modelo de programación basado en el grafo de escena de Java 3D proporciona un mecanismo
sencillo y flexible para representar y renderizar escenas. El grafo de escena contiene una
descripción completa de la escena o universo virtual. Esta descripción incluye datos sobre la
geometría, información de los distintos atributos, así como información de visualización necesaria
para renderizar la escena desde un punto de vista en particular.
La API Java 3D mejora algunas APIs previas eliminando algunas de las serias dependencias
impuestas por éstas. Java 3D permite al programador diseñar su escena en base a objetos
geométricos y no considerando triángulos. Le permite centrarse en la escena y en su composición
y no en cómo escribir el código para renderizar eficientemente la escena en cuestión.
Aplicaciones y applets
Java 3D ni anticipa ni soporta directamente cualquier necesidad posible de 3D. En cambio,
proporciona la base necesaria para añadir nuevas funcionalidades utilizando código Java.
Objetos definidos utilizando un sistema de CAD o de animación se pueden incluir en una aplicación
basada en Java 3D. Algunos paquetes de modelados tienen distintos formatos externos que son,
en muchos casos, propietarios. Los diseñadores pueden exportar geometrías a fichero utilizando
modeladores externos. Java 3D puede utilizar toda esa información geométrica, pero sólo si la
aplicación proporciona un método para leer y traducir la información del modelador en primitivas
Java 3D.
De forma similar, cargadores VRML analizarán y traducirán ficheros VRML y generarán los objetos
Java 3D apropiados y el código Java necesario para poder utilizar el contenido de los ficheros.
Navegadores. Los navegadores actuales pueden aceptar contenido 3D pasando
información a visores 3D (plugins) que la renderizan dentro de su propia ventana. Con el
tiempo, serán los propios navegadores los que se encarguen, directamente, de la gestión
de los elementos 3D.
Juegos. Los desarrolladores de software para juegos 3D siempre han intentado
aprovechar, en la medida de lo posible, hasta el límite las posibilidades del hardware
disponible. Históricamente han utilizado optimizaciones específicas del hardware y, por
supuesto, no portables. De esta forma trataban de lograr el mejor rendimiento posible.
Por esta razón, la programación típica de juegos se realizaba a un nivel de abstracción
menor que el sencillo nivel de Java 3D. Sin embargo, la tendencia actual en la creación de
juegos 3D es usar aceleradores hardware 3D de propósito general y utilizar menos
“trucos” para la renderización.
Así pues, aunque Java 3D no fue explícitamente diseñado para satisfacer las expectativas de los
desarrolladores de juegos, sus sofisticadas técnicas de implementación proporcionan un
rendimiento más que suficiente para realizar distintas aplicaciones para juegos. Puede criticarse,
de cualquier forma, que las aplicaciones escritas con una API general, como puede ser Java 3D,
pueden tener una ligera penalización en cuanto a rendimiento en comparación con otras que
utilicen técnicas no portables. Sin embargo, otros factores como la propia portabilidad, el tiempo
de desarrollo y el coste pueden también tenerse en cuenta para contrarrestar ese pequeño déficit
de rendimiento.
¿Qué Software se Necesita?
Te aconsejo que te des una vuelta por la Home Page de Java 3D en Sun:
http://java.sun.com/products/java-media/3d

Más contenido relacionado

Similar a Java 3D API guía

Similar a Java 3D API guía (20)

Direct3 d
Direct3 dDirect3 d
Direct3 d
 
Introduccion a graficos mediante JAVA 2D
Introduccion a graficos mediante JAVA 2DIntroduccion a graficos mediante JAVA 2D
Introduccion a graficos mediante JAVA 2D
 
Andrid studio
Andrid studioAndrid studio
Andrid studio
 
Articulo tipos de ide y ajax control toolkit
Articulo   tipos de ide y ajax control toolkitArticulo   tipos de ide y ajax control toolkit
Articulo tipos de ide y ajax control toolkit
 
Introducción a la progrogramación orientada a objetos - Java
Introducción a la progrogramación orientada a objetos - JavaIntroducción a la progrogramación orientada a objetos - Java
Introducción a la progrogramación orientada a objetos - Java
 
Diseño asistido por computadora
Diseño asistido por computadoraDiseño asistido por computadora
Diseño asistido por computadora
 
Programas de simulacion
Programas de simulacionProgramas de simulacion
Programas de simulacion
 
Gps
GpsGps
Gps
 
Gps
GpsGps
Gps
 
Tecnologia web
Tecnologia webTecnologia web
Tecnologia web
 
NSCoder - Metal
NSCoder - MetalNSCoder - Metal
NSCoder - Metal
 
Presentacion Máster
Presentacion MásterPresentacion Máster
Presentacion Máster
 
Modo retenido modo inmediato
Modo retenido  modo inmediatoModo retenido  modo inmediato
Modo retenido modo inmediato
 
Desarrollo de aplicaciones .net
Desarrollo de aplicaciones .netDesarrollo de aplicaciones .net
Desarrollo de aplicaciones .net
 
Desarrollo de aplicaciones .net
Desarrollo de aplicaciones .netDesarrollo de aplicaciones .net
Desarrollo de aplicaciones .net
 
App ing. civil
App ing. civilApp ing. civil
App ing. civil
 
Modo retenido modo inmediato
Modo retenido  modo inmediatoModo retenido  modo inmediato
Modo retenido modo inmediato
 
Dragome en JavaConf Buenos Aires 2014
Dragome en JavaConf Buenos Aires 2014 Dragome en JavaConf Buenos Aires 2014
Dragome en JavaConf Buenos Aires 2014
 
Integración de APIs políglotas de mapas en Google Web Toolkit: IDELabMapstrac...
Integración de APIs políglotas de mapas en Google Web Toolkit: IDELabMapstrac...Integración de APIs políglotas de mapas en Google Web Toolkit: IDELabMapstrac...
Integración de APIs políglotas de mapas en Google Web Toolkit: IDELabMapstrac...
 
Visual paradign
Visual paradignVisual paradign
Visual paradign
 

Más de Ashley Stronghold Witwicky

Carpeta de investidura para guias mayores (venezuela)
Carpeta de investidura para guias mayores (venezuela)Carpeta de investidura para guias mayores (venezuela)
Carpeta de investidura para guias mayores (venezuela)Ashley Stronghold Witwicky
 
Consecuencias personales y sociales del uso de drogas
Consecuencias personales y sociales del uso de drogasConsecuencias personales y sociales del uso de drogas
Consecuencias personales y sociales del uso de drogasAshley Stronghold Witwicky
 
Derivadas e integrales apunte para principiantes
Derivadas e integrales apunte para principiantesDerivadas e integrales apunte para principiantes
Derivadas e integrales apunte para principiantesAshley Stronghold Witwicky
 
Unidad v paradigma funcional de programacion fiuncional
Unidad v   paradigma funcional de programacion fiuncionalUnidad v   paradigma funcional de programacion fiuncional
Unidad v paradigma funcional de programacion fiuncionalAshley Stronghold Witwicky
 

Más de Ashley Stronghold Witwicky (20)

Clase 0.3 normalizacion. sql server aplicado
Clase 0.3   normalizacion. sql server aplicadoClase 0.3   normalizacion. sql server aplicado
Clase 0.3 normalizacion. sql server aplicado
 
Carpeta de investidura para guias mayores (venezuela)
Carpeta de investidura para guias mayores (venezuela)Carpeta de investidura para guias mayores (venezuela)
Carpeta de investidura para guias mayores (venezuela)
 
Sanson mata un leon con sus manos
Sanson mata un leon con sus manosSanson mata un leon con sus manos
Sanson mata un leon con sus manos
 
Consecuencias personales y sociales del uso de drogas
Consecuencias personales y sociales del uso de drogasConsecuencias personales y sociales del uso de drogas
Consecuencias personales y sociales del uso de drogas
 
Constancia de servicio
Constancia de servicioConstancia de servicio
Constancia de servicio
 
Requisitos para Guia Mayor
Requisitos para Guia MayorRequisitos para Guia Mayor
Requisitos para Guia Mayor
 
Instructivo de llenado carta poder
Instructivo de llenado carta poderInstructivo de llenado carta poder
Instructivo de llenado carta poder
 
Constancia experiencia profesional
Constancia experiencia profesionalConstancia experiencia profesional
Constancia experiencia profesional
 
Ideales ja
Ideales jaIdeales ja
Ideales ja
 
Mysql
MysqlMysql
Mysql
 
Especialidad de insectos desarrollada
Especialidad de insectos desarrolladaEspecialidad de insectos desarrollada
Especialidad de insectos desarrollada
 
Manual basico autocad_2012
Manual basico autocad_2012Manual basico autocad_2012
Manual basico autocad_2012
 
Derivadas e integrales apunte para principiantes
Derivadas e integrales apunte para principiantesDerivadas e integrales apunte para principiantes
Derivadas e integrales apunte para principiantes
 
Ecuaciones primer grado con una incognita
Ecuaciones primer grado con una incognitaEcuaciones primer grado con una incognita
Ecuaciones primer grado con una incognita
 
Conversion de unidades
Conversion de unidadesConversion de unidades
Conversion de unidades
 
Curso de my sql
Curso de my sqlCurso de my sql
Curso de my sql
 
Manual de microsoft publisher 2007
Manual de microsoft publisher 2007Manual de microsoft publisher 2007
Manual de microsoft publisher 2007
 
Unidad v paradigma funcional de programacion fiuncional
Unidad v   paradigma funcional de programacion fiuncionalUnidad v   paradigma funcional de programacion fiuncional
Unidad v paradigma funcional de programacion fiuncional
 
Biblia de publisher 2007
Biblia de publisher 2007Biblia de publisher 2007
Biblia de publisher 2007
 
Ejercicios en microsoft publisher 2007
Ejercicios en microsoft publisher 2007Ejercicios en microsoft publisher 2007
Ejercicios en microsoft publisher 2007
 

Último

TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 

Último (20)

TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 

Java 3D API guía

  • 1. SUBSECRETARIA DE EDUCACION SUPERIOR DIRECCION GENERAL DE EDUCACION SUPERIOR TECNOLOGICA INSTITUTO TECNOLOGICO DE TAPACHULA Nombre Del Alumno: Martínez Ramos Sheyla Berenice Nombre De La Carrera: Ingeniería En Sistemas Computacionales Nombre Del Profesor: Nicolás Cabrera Hidalgo Nombre De La Materia: Graficacion Tarea: Transformaciones Tridimensionales
  • 2. INTRODUCCIÓN ¿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 gráficas de bajo nivel de Java 3D sintetizan las mejores ideas encontradas en otras APIs de bajo nivel como Direct3D, OpenGL, QuickDraw3D y XGL. Del mismo modo, sus construcciones de alto nivel integran las mejores características proporcionadas por varios sistemas de escenas basados en grafos. Además, Java 3D introduce algunos conceptos que no se consideran habitualmente como parte de los entornos gráficos, como el sonido espacial 3D. Las posibilidades de sonido de Java 3D permiten proporcionar una experiencia más realista al usuario. Características El diseño de de Java 3D se basa en múltiples objetivos, siendo el principal el rendimiento. Se tomaron diferentes decisiones relativas al diseño 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 ejecución.
  • 3. Otros objetivos importantes de Java 3D son: • Proporcionar un amplio conjunto de utilidades que permitan crear mundos en 3D interesantes. Se evitó incluir características no esenciales u oscuras y tampoco características que se podrían colocar directamente sobre Java 3D. • Proporcionar un paradigma de programación orientado a objeto de alto nivel para permitir a los desarrolladores generar sofisticadas aplicaciones y applets de forma rápida. • Proporcionar soporte a cargadores en tiempo de ejecución. Esto permite que Java 3D se adapte a un gran número de formatos de ficheros, como pueden ser formatos específicos de distintos fabricantes de CAD, formatos de intercambio o VRML 1.0 (Virtual Reality Modelling Language) y VRML 2.0 Paradigma de programación Java 3D es una API orientada a objetos. Las aplicaciones construyen los distintos elementos gráficos como objetos separados y los conectan unos con otros mediante una estructura en forma de árbol denominada grafo de escena. La aplicación manipula los diferentes objetos utilizando los métodos de acceso, de modificación y de unión definidos en su interfaz. Modelo de programación del grafo de escena El modelo de programación basado en el grafo de escena de Java 3D proporciona un mecanismo sencillo y flexible para representar y renderizar escenas. El grafo de escena contiene una descripción completa de la escena o universo virtual. Esta descripción incluye datos sobre la geometría, información de los distintos atributos, así como información de visualización necesaria para renderizar la escena desde un punto de vista en particular. La API Java 3D mejora algunas APIs previas eliminando algunas de las serias dependencias impuestas por éstas. Java 3D permite al programador diseñar su escena en base a objetos geométricos y no considerando triángulos. Le permite centrarse en la escena y en su composición y no en cómo escribir el código para renderizar eficientemente la escena en cuestión. Aplicaciones y applets Java 3D ni anticipa ni soporta directamente cualquier necesidad posible de 3D. En cambio, proporciona la base necesaria para añadir nuevas funcionalidades utilizando código Java. Objetos definidos utilizando un sistema de CAD o de animación se pueden incluir en una aplicación basada en Java 3D. Algunos paquetes de modelados tienen distintos formatos externos que son, en muchos casos, propietarios. Los diseñadores pueden exportar geometrías a fichero utilizando modeladores externos. Java 3D puede utilizar toda esa información geométrica, pero sólo si la aplicación proporciona un método para leer y traducir la información del modelador en primitivas Java 3D.
  • 4. De forma similar, cargadores VRML analizarán y traducirán ficheros VRML y generarán los objetos Java 3D apropiados y el código Java necesario para poder utilizar el contenido de los ficheros. Navegadores. Los navegadores actuales pueden aceptar contenido 3D pasando información a visores 3D (plugins) que la renderizan dentro de su propia ventana. Con el tiempo, serán los propios navegadores los que se encarguen, directamente, de la gestión de los elementos 3D. Juegos. Los desarrolladores de software para juegos 3D siempre han intentado aprovechar, en la medida de lo posible, hasta el límite las posibilidades del hardware disponible. Históricamente han utilizado optimizaciones específicas del hardware y, por supuesto, no portables. De esta forma trataban de lograr el mejor rendimiento posible. Por esta razón, la programación típica de juegos se realizaba a un nivel de abstracción menor que el sencillo nivel de Java 3D. Sin embargo, la tendencia actual en la creación de juegos 3D es usar aceleradores hardware 3D de propósito general y utilizar menos “trucos” para la renderización. Así pues, aunque Java 3D no fue explícitamente diseñado para satisfacer las expectativas de los desarrolladores de juegos, sus sofisticadas técnicas de implementación proporcionan un rendimiento más que suficiente para realizar distintas aplicaciones para juegos. Puede criticarse, de cualquier forma, que las aplicaciones escritas con una API general, como puede ser Java 3D, pueden tener una ligera penalización en cuanto a rendimiento en comparación con otras que utilicen técnicas no portables. Sin embargo, otros factores como la propia portabilidad, el tiempo de desarrollo y el coste pueden también tenerse en cuenta para contrarrestar ese pequeño déficit de rendimiento. ¿Qué Software se Necesita? Te aconsejo que te des una vuelta por la Home Page de Java 3D en Sun: http://java.sun.com/products/java-media/3d