Estructuras de datos para realidad virtual

Post on 07-Jul-2015

710 views 0 download

description

Conferencia impartida en la FACPyA de la UANL durante el II Congreso

Transcript of Estructuras de datos para realidad virtual

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

Una implementación open source

http://www.openscenegraph.org/

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/