Diseño e implementación de una biblioteca de clases en C++ para la simulación de ambientes virtuales en tiempo real

La realidad virtual es una herramienta poderosa que nos permite visualizar, recorrer y simular aspectos de nuestro entorno de forma interactiva. Un sistema mínimo, capaz de simular ambientes virtuales en tiempo real debe proveer las siguientes funcionalidades: Cargar y manipular modelos tridimension...

Full description

Autores:
Tipo de recurso:
Fecha de publicación:
2002
Institución:
Universidad Tecnológica de Bolívar
Repositorio:
Repositorio Institucional UTB
Idioma:
spa
OAI Identifier:
oai:repositorio.utb.edu.co:20.500.12585/2418
Acceso en línea:
https://hdl.handle.net/20.500.12585/2418
Palabra clave:
Bibliotecas
Rights
openAccess
License
http://creativecommons.org/licenses/by-nc-nd/4.0/
Description
Summary:La realidad virtual es una herramienta poderosa que nos permite visualizar, recorrer y simular aspectos de nuestro entorno de forma interactiva. Un sistema mínimo, capaz de simular ambientes virtuales en tiempo real debe proveer las siguientes funcionalidades: Cargar y manipular modelos tridimensionales en el espacio. Permitir el recorrido de ambientes virtuales complejos en tiempo real. Simular el comportamiento de los objetos basándose en las leyes físicas del entorno. Buscando alcanzar tales funcionalidades, este trabajo presenta un conjunto de técnicas y algoritmos, implementados en una biblioteca de clases, mediante la cual programadores e ingenieros puedan construir aplicaciones para realidad virtual de forma rápida y fácil. Para aprovechar la aceleración de video ofrecida por el hardware actual, el despliegue de gráficos tridimensionales en la pantalla es realizado a través de la biblioteca de renderización OpenGL. La manipulación de modelos tridimensionales en el espacio se alcanza mediante la implementación de un sistema de transformación espacial basado en el álgebra de vectores, matrices y cuaternios. Para manejar ambientes virtuales complejos cuya geometría excede la capacidad de procesamiento de la máquina, se emplean técnicas para descartar los polígonos innecesarios de una escena y permitir su recorrido en tiempo real. Las técnicas implementadas son: descarte del campo de visión y subdivisión espacial mediante octrees (árboles de ocho hijos). Para el recorrido de terrenos grandes en tiempo real, se implementó una versión del algoritmo propuesto por [Rot98]. Para establecer las leyes físicas del entorno, se resolvieron dos problemas principales: la detección de colisiones entre los modelos y la simulación de la dinámica de las entidades físicas. El primero mediante el uso de volúmenes envolventes más simples y el segundo mediante la resolución progresiva de las ecuaciones diferenciales de la dinámica.