Post on 07-Jul-2015
description
Estructuras de Datos para VR
Dr. José Enrique Alvarez Estrada
DCBeI
jeae@ucaribe.edu.mx
http://www.facebook.com/LeonardoDaVinciMX
http://www.slideshare.net/LeonardoDaVinciMX/
De qué les voy a hablar hoy
● El doble origen de la VR● AR: una nueva área de la VR● Algunos casos de éxito de VR y AR● Cómo iniciar con la programación de
aplicaciones de VR y AR● Algunas de las bibliotecas que debo aprender● Conclusiones● Preguntas
Dos “escuelas” de VR
VR Militar VR de Garage
¡Yo pertenezco a la segunda!
Y ahora me dedico mása la Realidad Aumentada
¡¡¡ Tal como ellos !!!
Antes de comenzarcabe preguntarse...
¿ Qué hace realmenteun COMPILADOR ?
gcc.c
.h
a.out
Compilador: DFD Nivel 0
cpp.c
.h
a.out
Compilador: DFD Nivel 1.1
.h
Código“expandido”
.c
/usr/include/usr/local/include
cpp.c
.h
a.out
Compilador: DFD Nivel 1.2
cc
.h
Códigoensamblador
.c
/usr/include/usr/local/include
.s
cpp.c
.h
a.out
Compilador: DFD Nivel 1.3
cc
.h
Código objeto
.c
/usr/include/usr/local/include
.s
as .o
cpp.c
.h
a.out
Compilador: DFD Nivel 1.4
cc
.h
Código ejecutable
.c
/usr/include/usr/local/include
.s
ldas .o
.a
/usr/lib/usr/local/lib
TODA LA PRODUCCIÓN ACTUALDE REALIDAD VIRTUAL (VR)SE HACE EN BASE AL USO
DE BIBLIOTECASY/O FRAMEWORKS
Pero...
¿qué contienen esas
bibliotecas?
ALGORITMOSESTRUCTURAS
DEDATOS
Niklaus Wirth diría que...
ALGORITMOSESTRUCTURAS
DEDATOS
Niklaus Wirth diría que...
Implementación Interfaz
Int F(int x, int y){if(x > y)
return y++;else
return x++;}
ALGORITMOSESTRUCTURAS
DEDATOS
Niklaus Wirth diría que...
Implementación Interfaz
.a .h
¿Y los Frameworks?
● También son Bibliotecas
● Generalmente OO● Clases● Herencia● Polimorfismo
● Toman el control del flujo de la aplicación● El programador sólo produce código
para manejar eventos
XWindow
SVGAlib OpenGL
Win32OSXOSG
FreeVR
HARDWARE DE DESPLIEGUE
Toolkits (GTK+, KDE)
Una Taxonomía
XWindow
SVGAlib OpenGL
Win32OSXOSG
FreeVR
HARDWARE DE DESPLIEGUE
Toolkits (GTK+, KDE)
Una Taxonomía
scenegraph
XWindow
SVGAlib OpenGL
Win32OSXOSG
FreeVR
HARDWARE DE DESPLIEGUE
Toolkits (GTK+, KDE)
Una Taxonomía
interface/integration
Scene Graph: Qué es
● Una estructura de de datos general● Comúnmente usada por:
● Aplicaciones de edición de gráficos vectorizados– Acrobat 3D
– Adobe Illustrator
– AutoCAD
– CorelDRAW
– OpenSceneGraph
– OpenSG
– VRML97
– X3D
● Videojuegos
Scene Graph: Características
● Acomoda la representación lógica (y a veces la espacial) de una escena gráfica
● Colección de nodos● En un grafo o un árbol● Operaciones recursivas
● Si se aplican al padre, se aplican a los hijos● Se propaga el efecto
● Generalmente mediante matrices de transformación
FreeVR: Qué es
● Una biblioteca open source de interfaz e integración
● Diseñada para trabajar con una amplia variedad de HW de I/O
● Aísla los detalles de implementación de la aplicación
● Adaptable para trabajar sobre casi cualquier infraestructura de VR existente
ARToolKit: Qué es
● Una biblioteca para el desarrollo de aplicaciones de realidad aumentada
● Capta imágenes de la cámara de video mediante la biblioteca gstreamer
● Reconoce patrones impresos en las imágenes● Sobrepone a los patrones impresos imágenes
definibles por el usuario
Conclusiones
● Tras años en las sombras, ha llegado el momento de la VR y la AR
● Innumerables áreas de aplicación... ● ¡sólo falta encontrarlas!
● Para programar VR y AR hay que aprender...● C y C++
● La VR y la AR se trabaja mejor con...● SW open source
¿ PREGUNTAS ?
Gracias por su Atención
Dr. José Enrique Alvarez Estrada
jeae@ucaribe.edu.mx
http://www.facebook.com/LeonardoDaVinciMX/
http://www.slideshare.net/LeonardoDaVinciMX/