Upload
hahanh
View
225
Download
0
Embed Size (px)
Citation preview
Universidad Nacional de la Patagonia
“San Juan Bosco”
Facultad de Ingeniería
Sede Trelew
Uso de Realidad Aumentada en el ámbito educativo para
el desarrollo de aplicaciones que enseñen y entretengan
(Edutainment)
Alumnos: A.P.U. Analía Millapi
A.P.U. Michel Tardon
Tutora: Lic. Claudia López de Munaín
Tesina presentada a la Facultad de Ingeniería de la Universidad Nacional de la Patagonia como parte
de los requisitos para la obtención del título de Licenciado en Informática
Trelew (Chubut) – 2015
2
3
Agradecimientos
De Analía:
A mi familia por estar siempre presente, y en especial a mis padres por haberme
inculcado el espíritu de superación y que nada se consigue sin esfuerzo.
De Michel:
A mi familia por su apoyo incondicional, y en especial a mis padres por darnos la
posibilidad a mis hermanos y a mí, de formarnos profesionalmente.
A mis amigos y compañeros de estudio, que sin duda han hecho que este proceso sea
mucho más ameno.
De Analía y Michel:
A Claudia, nuestra tutora, por habernos guiado, asesorado y acompañado durante el
desarrollo de la investigación.
Dedicatoria
A nuestra beba, que viene en camino, motivo de inmensa felicidad.
4
5
Resumen
La presente tesina tiene por objeto de estudio la Realidad Aumentada, aplicada al campo de la
educación. A lo largo de este documento, se estudiará en qué consiste esta tecnología
emergente, cómo es su funcionamiento, sus ámbitos de aplicación, estado actual de su uso,
herramientas que pueden utilizar los desarrolladores para crear aplicaciones con Realidad
Aumentada, y tendencias a futuro.
La evolución de las Tecnologías de la Información y las Comunicaciones (TIC), ponen al
alcance de las personas tecnologías que años atrás no eran tan accesibles debido a sus costos.
Una de ellas es la Realidad Aumentada, que en la actualidad es muy flexible y posee muchos
campos de aplicación.
Por ello, se pensó que no debería ser un impedimento para que los docentes la incorporen
como herramienta didáctica. Para comprobar lo anterior, se estudiarán las teorías pedagógicas
que fundamenten la aplicación de Realidad Aumentada al campo de la educación, focalizando
aquellas que contemplen el entretenimiento sin dejar de lado la enseñanza guiada por parte del
docente.
En vista de la aplicación que se pretende desarrollar, se hará hincapié sobre herramientas
libres para crear aplicaciones con Realidad Aumentada, que funcionen bajo Linux. Se
estudiará su funcionamiento, los requerimientos, instalación, y todos los aspectos que se
consideren necesarios para que esta investigación pueda servir como punto de partida para
otras investigaciones y/o desarrollos relacionados al tema.
Finalmente, se desarrollará una aplicación educativa que integre los conocimientos adquiridos
durante la investigación, y sirva de ejemplo como uso de las herramientas seleccionadas. Se
explicarán sus características, requerimientos, instalación y funcionamiento.
6
Índice
Contenido
1. Preliminares ....................................................................................................................... 9
1.1. Motivación.................................................................................................................... 9
1.2. Objetivos ...................................................................................................................... 9
1.2.1. Objetivo general ..................................................................................................... 9
1.2.2. Objetivos particulares ........................................................................................... 10
1.3. Introducción ............................................................................................................... 10
1.4. Estado del Arte ........................................................................................................... 10
1.4.1. Antecedentes ........................................................................................................ 10
1.4.2. Aplicaciones educativas que utilizan Realidad aumentada ...................................... 20
1.5. Organización de la tesina ............................................................................................ 24
2. Realidad aumentada ......................................................................................................... 25
2.1. Definición ................................................................................................................... 25
2.2. Características generales ............................................................................................. 27
2.3. Realidad Aumentada y Realidad Virtual ...................................................................... 28
2.4. Campos de aplicación .................................................................................................. 28
2.4.1. Educación............................................................................................................. 28
2.4.2. Medicina .............................................................................................................. 29
2.4.3. Entretenimiento .................................................................................................... 29
2.4.4. Simulación ............................................................................................................ 30
2.4.5. Servicios de emergencias y militares ...................................................................... 30
2.4.6. Arquitectura ......................................................................................................... 30
2.4.7. Industria .............................................................................................................. 31
2.4.8. Publicidad ............................................................................................................ 31
2.4.9. Turismo ............................................................................................................... 31
2.5. Alternativas tecnológicas ............................................................................................. 32
2.6. Elementos de sistema de una aplicación de RA ............................................................. 33
2.6.1. Elemento capturador ............................................................................................ 33
2.6.2. Elemento de situación ........................................................................................... 33
2.6.3. Elemento procesador ............................................................................................ 34
2.6.4. Elemento sobre el cual proyectar ........................................................................... 35
7
2.7. Métodos de Tracking .................................................................................................. 35
2.7.1. Dificultades del tracking basado en visión .............................................................. 35
2.7.2. Tipos de métodos de tracking ................................................................................ 36
2.8. Tendencias de Realidad Aumentada ............................................................................ 38
3. Realidad Aumentada aplicada al ámbito educativo ............................................................. 39
3.1. Educación apoyada en las TIC .................................................................................... 39
3.2. ¿Qué le ofrecen las TIC a los docentes? ........................................................................ 41
3.3. Edutainment ............................................................................................................... 44
3.4. Realidad aumentada y educación ................................................................................. 46
3.4.1. Fundamentos teóricos para la aplicación de Realidad Aumentada en la educación .. 48
4. ARToolKit ........................................................................................................................ 53
4.1. Características ............................................................................................................ 53
4.2. Fundamento del uso de ARToolKit para el desarrollo de la aplicación educativa ........... 56
4.3. Instalación y configuración .......................................................................................... 56
4.4. Calibración de la cámara ............................................................................................ 58
4.5. Arquitectura de ARToolKit ......................................................................................... 61
4.6. Principios básicos de funcionamiento ........................................................................... 63
4.6.1. Detección de marcadores ....................................................................................... 65
4.6.2. Visualización 3D ................................................................................................... 67
4.6.3. Limitaciones ......................................................................................................... 68
5. Visualización de objetos 3D para aplicaciones de Realidad Aumentada ............................... 69
5.1. OpenGL ..................................................................................................................... 69
5.1.1. Sobre OpenGL ..................................................................................................... 69
5.1.2. Modelo conceptual ................................................................................................ 71
5.1.3. Pipeline de OpenGL .............................................................................................. 72
5.1.4. Resultados de las pruebas realizadas ..................................................................... 73
5.2. OGRE 3D ................................................................................................................... 73
5.2.1. Integración de ARToolKit con OGRE 3D y OpenCV ............................................. 74
5.2.2. Resultados de las pruebas realizadas ..................................................................... 75
5.3. Panda3D ..................................................................................................................... 78
5.3.1. Resultados de las pruebas realizadas ..................................................................... 79
6. Blender ............................................................................................................................. 81
6.1. Características ............................................................................................................ 81
6.2. Instalación .................................................................................................................. 82
6.3. Mapeado UV .............................................................................................................. 83
6.4. Edición de los modelos 3D ........................................................................................... 85
8
7. Aplicación educativa desarrollada ..................................................................................... 95
7.1. Herramientas utilizadas .............................................................................................. 95
7.2. Requerimientos de sistema .......................................................................................... 96
7.3. Anatomía con Realidad Aumentada (ARA) .................................................................. 97
7.3.1. Instalación ............................................................................................................ 99
7.3.2. Estructura de la aplicación .................................................................................... 99
7.3.3. Arquitectura de ARA .......................................................................................... 100
7.4. ARA: Características y funcionamiento ..................................................................... 103
7.4.1 Modo App ........................................................................................................... 105
7.4.2. Modo ARBook .................................................................................................... 115
7.5. Sistema de control de versiones.................................................................................. 120
8. Conclusiones, aportes y trabajos futuros .......................................................................... 122
8.1. Aportes de la investigación ........................................................................................ 126
8.2. Trabajos futuros ....................................................................................................... 126
Glosario ............................................................................................................................. 128
Anexo I .............................................................................................................................. 131
Referencias bibliográficas ................................................................................................... 156
9
Capítulo 1
1. Preliminares
1.1. Motivación
En los últimos años, el diseño educativo de la formación se centra en la actividad del
estudiante. Por otra parte, la evolución que experimenta Internet, con la aparición y
consolidación constantes de nuevos usos y nuevas herramientas tecnológicas, ha impulsado la
evolución del modelo educativo apoyado en las TIC.
La Realidad Aumentada es una tecnología interactiva que permite integrar contenidos
digitales con el mundo real, y puede ayudar a mejorar la adquisición del conocimiento, al
integrar ejercicios con objetos que el estudiante pudiera ver desde todas las perspectivas
posibles.
Asimismo, es importante destacar que para utilizar esta tecnología, no se requiere de una
inversión importante en materia de hardware, y que se puede utilizar software libre.
Por lo expuesto, surge la idea de diseñar e implementar una aplicación educativa basada en
Realidad Aumentada, utilizando software libre, que permita enseñar conceptos de forma
novedosa, simple y entretenida. Lo que se busca es mejorar la motivación, estimular e
interesar al estudiante a adquirir conocimiento y profundizar en conceptos y teorías más
avanzadas.
1.2. Objetivos
Los objetivos que se pretenden lograr con el desarrollo de la presente tesina, son los que a
continuación se detallan:
1.2.1. Objetivo general
Desarrollar una aplicación educativa basada en la tecnología de Realidad
Aumentada, que incluya los conceptos teóricos y pedagógicos necesarios para ser
utilizada en el nivel educativo correspondiente.
10
1.2.2. Objetivos particulares
Utilizar los fundamentos teóricos de Realidad Aumentada en una aplicación de
software.
Mostrar las ventajas del desarrollo de iniciativas en el campo de la educación
con la utilización de Realidad Aumentada.
Seleccionar y utilizar los lenguajes y toolkits más adecuados para desarrollar
un sistema de Realidad Aumentada.
Seleccionar y utilizar herramientas que permitan la creación de objetos 3D.
Utilizar software libre para el desarrollo de la aplicación.
1.3. Introducción
En las últimas décadas la informática gráfica tuvo un continuo desarrollo, motivado entre
otros factores, por intereses comerciales que fueron impulsados desde el ámbito del cine, los
videojuegos, la televisión, simulación y aplicaciones médicas e industriales, entre otras.
Por otro lado, surgió la necesidad de integrar en algunos entornos, la representación de
imágenes digitales con imágenes del mundo real, lo que marcó el inicio de una nueva
tecnología: Realidad Aumentada. Esta tecnología, estudia las técnicas que permiten integrar
contenido digital con el mundo real, en tiempo real. A diferencia de la Realidad Virtual, no se
trata de reemplazar la realidad física, sino que se incorpora información sintética a la
información física existente. De esta manera, la información se vuelve digital e interactiva.
Resulta muy interesante aplicar entonces, la tecnología de Realidad Aumentada en proyectos
educativos, debido a que en sí misma ofrece detalles muy ricos y motiva el interés por el
conocimiento.
A lo largo de este proyecto, se buscará profundizar los conocimientos sobre esta tecnología,
las aplicaciones que tiene en el campo educativo, y concretar el desarrollo de una aplicación
educativa.
1.4. Estado del Arte
1.4.1. Antecedentes
11
El primer sistema de Realidad Aumentada fue creado por Ivan Sutherland [1] en 1968,
empleando un casco de visión que permitía ver sencillos objetos 3D renderizados en
wireframe en tiempo real.
El renderizado en wireframe es el proceso de generar una imagen semitransparente a partir de
un modelo, de la cual solo se dibujan las aristas de la malla que constituye al objeto. Es decir,
sólo se deben tener en cuenta las posiciones de los puntos en el espacio tridimensional y las
uniones entre ellos para formar los polígonos.
Este casco empleaba dos sistemas de tracking para calcular el registro de la cámara; uno
mecánico y otro basado en ultrasonidos (ver Figura 1.1).
Figura 1.1: Primer sistema de Realidad Aumentada de Sutherland.
Debido a la limitada capacidad de procesamiento de las computadoras en ese momento, los
dibujos eran muy simples y sólo se podían mostrar en tiempo real. [2]
En 1972, Donald Vickers desarrolló Sorcerer's Apprentice: Head-Mounted Display and Wand
(Aprendiz de brujo). Es un sistema de computación gráfica interactiva, que utiliza una
pantalla montada en la cabeza y una vara de tres dimensiones. El sistema permitía la
interacción en tres dimensiones con dibujos de líneas que se muestran en tiempo real. La
imagen proyectada en las gafas, brindaba una ilusión de estar rodeado de objetos
tridimensionales, generados por computadora. [3]
12
Figura 1.2: Sorcerer's Apprentice de Donald Vickers.
Sin embargo no fue hasta 1992 cuando se acuñó el término de Realidad Aumentada por Tom
Caudell y David Mizell, dos ingenieros de Boeing que proponían el uso de esta novedosa
tecnología para mejorar la eficiencia de las tareas realizadas por operarios humanos, asociadas
a la fabricación de aviones.
En 1997, investigadores de la Universidad de Columbia presentan The Touring Machine, el
primer sistema de realidad aumentada móvil (MARS). Utilizan un sistema de visión de tipo
see-through que combina directamente la imagen real con gráficos 2D y 3D proyectados en
una pantalla transparente. [4]
13
En 1998, el ingeniero de Sony Jun Rekimoto [5], crea un método para calcular completamente
el tracking visual de la cámara (con 6 grados de libertad) empleando marcas 2D matriciales
(códigos de barras cuadrados, ver Figura 1.3). Esta técnica sería la precursora de otros
métodos de tracking visuales en los próximos años.
El tracking visual es el proceso de localizar, identificar y determinar la configuración
dinámica de uno o varios objetos móviles en cada frame (o fotograma), de una o varias
cámaras.
Figura 1.3: Marcas matriciales de Rekimoto.
Un año más tarde en 1999, Kato y Billinghurst presentan ARToolKit [6], una librería de
tracking visual de 6 grados de libertad que reconoce marcas cuadradas mediante patrones de
reconocimiento. Debido a su liberación bajo licencia GPL (General Public License), se hace
muy popular y es ampliamente utilizada en el ámbito de la Realidad Aumentada.
En 2000, un grupo de investigadores de la Universidad del Sur de Australia: Benjamin Close,
John Donoghue, John Squires, Phil de Bondi y Arron Piekarski; presentan una extensión de
Quake: AR-Quake (Figura 1.4), cuyo prototipo inicial fue desarrollado en 1998 [7]. AR-
Quake permite jugar en primera persona en escenarios reales. El registro se realizaba
empleando una brújula digital, un receptor de GPS y métodos de visión basados en marcas.
Los jugadores debían llevar un sistema de cómputo portátil en una mochila, un casco de
visión estereoscópica y un mando de dos botones.
14
Figura 1.4: AR-Quake.
En 2001 se presenta Archeoguide. Este proyecto, cuyo nombre es una abreviación de
Augmented Reality-Based Cultural Heritage On-Site Guide, se gestó como una investigación
que pretendía explorar y poner en práctica las posibilidades de la tecnología de Realidad
Aumentada en el campo del Patrimonio Cultural, realizando su aplicación en yacimientos
arqueológicos de Grecia. Como escenario donde realizar esta experiencia con Realidad
Aumentada, se eligió el sitio arqueológico de Olimpia en Grecia, donde se realizaron los
estudios prácticos y demostrativos, junto con la evaluación por usuarios reales. [8]
El sistema proporciona información personalizada basada en el contexto, y muestra
reconstrucciones de edificios y objetos mediante una base de datos multimedia adaptada al
problema. Por ejemplo, permite ver sobre las ruinas de los edificios, la reconstrucción virtual
en 3D de los mismos junto a información adicional de audio y texto, permitiendo al usuario
tener consciencia del estado del edificio en la época de los antiguos Juegos Olímpicos, y
además observar la correspondencia con los restos arqueológicos que se conservan en la
actualidad (figura 1.5). La comunicación se realiza mediante Wifi, y el sistema es altamente
escalable permitiendo diferentes dispositivos de visualización (portátiles, PDA (Personal
Digital Assistant), etc.).
15
Figura 1.5 Archeoguide. Imagen real (izq.) e imagen aumentada (der.) con la reconstrucción
virtual del templo.
En el 2003, Siemens lanza al mercado Mozzies, el primer juego de Realidad Aumentada para
teléfonos móviles. El juego superpone mosquitos a la visión obtenida del mundo mediante
una cámara integrada en el teléfono. Este juego fue premiado como el mejor videojuego para
teléfonos móviles en dicho año.
En 2004 investigadores de la Universidad Nacional de Singapur presentan Human Pacman, un
juego que emplea GPS y sistemas inerciales para registrar la posición de los jugadores. El
PacMan y los fantasmas son en realidad jugadores humanos que corren por la ciudad portando
ordenadores y sistemas de visión, percibiendo el mundo como se muestra en la Figura 1.6.
Figura 1.6: H-Pacman.
16
También en el 2004, la Universidad Técnica de Viena presenta el proyecto Invisible Train, el
primer juego multi-usuario para PDA. Esta aplicación se ejecutaba totalmente en el PDA, sin
necesidad de servidores adicionales para realizar procesamiento auxiliar. Los jugadores
controlan trenes virtuales y deben intentar evitar que colisionen con los trenes de otros
jugadores. El proyecto utiliza la biblioteca Studierstube desarrollada en la misma universidad.
En 2005 A. Henrysson adapta la biblioteca ARToolKit para poder funcionar en Symbian, y
crea un juego de tenis llamado AR-Tenis (Figura 1.6), que gana un premio internacional el
mismo año. En sus respectivas pantallas, los dos jugadores ven una pista de tenis virtual
superpuesta en un marcador. Los teléfonos móviles actúan como raquetas virtuales y se
utilizan para golpear la pelota. Un port personalizado de ARToolKit a Symbian fue creado
con el fin de rastrear los dos teléfonos relativos a un marcador común. En el espacio del
marcador se simulaba la pelota de tenis que se sincroniza a través de Bluetooth. [9]
Figura 1.6: AR-Tenis
En 2007, Klein y Murray presentan en ISMAR (uno de los principales congresos de Realidad
Aumentada) el algoritmo PTAM; una adaptación del SLAM que separa el tracking y el
mapping en dos hilos independientes, consiguiendo en tiempo real unos resultados muy
robustos. Con este trabajo consiguieron el premio al mejor artículo del congreso. El mapping
(o mapeado normal) es la aplicación de una técnica 3D que permite dar una iluminación y
relieve mucho más detallado a la superficie de un objeto. Esta técnica es frecuentemente
aplicada para los detalles como pueden ser, por ejemplo, arrugas o poros. [10]
En el 2009 se presenta ARhrrrr! (Figura 1.7), el primer juego con contenido de alta calidad
para smartphones con cámara. El teléfono utiliza la metáfora de ventana virtual para mostrar
17
un mapa 3D donde disparar a Zombies y facilitar la salida a los humanos que están atrapados
en él.
Figura 1.7: ARhrrrr
En el 2009 el estudio español Novorama creó el videojuego de Invizimals, que alcanzó una
distribución en Europa en el primer trimestre de 2010 superior a las 350.000 copias, y más de
8 millones de copias a nivel mundial, situándose en lo más alto del ránking de ventas. Este
juego emplea marcas para registrar la posición de la cámara empleando tracking visual.
Figura 1.8: Invizimals
A principios de 2010 Adidas lanza al mercado un juego de 5 zapatillas originales de Realidad
Aumentada (Figura 1.9). Los propietarios de estos modelos pueden mostrar la lengüeta de la
18
zapatilla a una cámara y aparecerá un mundo 3D de la marca, con posibilidad acceder a
juegos exclusivos y obtener premios especiales (a modo de objetos 3D).
Figura 1.9: Zapatillas Adidas originales
En el 2012 Google se lanza al diseño de unas gafas de Realidad Aumentada y bautiza a su
proyecto como Project Glass.
Las Google Glass ("GLΛSS") son un dispositivo de visualización cuyo objetivo es mostrar
información disponible para los usuarios de teléfonos inteligentes sin utilizar las manos,
permitiendo también el acceso a Internet mediante órdenes de voz. [11]
Las aplicaciones de Google Glass son aplicaciones gratuitas. Glass también utiliza muchas
aplicaciones existentes de Google, como Google Maps, Google + y Gmail.
El 15 de abril de 2013, Google lanzó la Mirror API, permitiendo a los desarrolladores
empezar a hacer aplicaciones para Google Glass.
Muchos desarrolladores y empresas han creado aplicaciones para Glass, incluyendo
aplicaciones de noticias, edición de fotografías y redes sociales como Facebook y Twitter.
[12]
19
Figura 1.10: Google Glass
En el año 2013, Sony muestra The Playroom, una aplicación para PlayStation 4 incluida
gratuitamente en todas las consolas, que permite probar la nueva cámara PlayStation Eye con
una serie de aplicaciones y minijuegos de Realidad Aumentada. [13]
Figura 1.11: The Playroom
En nuestro país, el 4 de junio del 2014, la UADE (Universidad Argentina de la Empresa)
inauguró en su Campus Urbano de Monserrat, el primer laboratorio de Realidad Aumentada y
Videojuegos de Argentina, un espacio para incentivar la experimentación con dispositivos de
última generación y formar una nueva generación de especialistas en desarrollo de proyectos
multimedia de avanzada.
20
El nuevo laboratorio formará parte del UADE Labs, primer edificio integral de laboratorios
universitarios del país con 11 pisos de laboratorios tecnológicos, apadrinado por Steve
Ballmer.
Durante la inauguración se presentó el World Cup Glass, la primera aplicación argentina del
Mundial Brasil 2014 para Google Glass diseñada en una universidad. [14]
Figura 1.12: World Cup Glass
1.4.2. Aplicaciones educativas que utilizan Realidad aumentada
En el campo educativo existen numerosos proyectos y aplicaciones, a continuación se
describirán algunas de ellas:
1.4.2.1. LearnAR
Es una herramienta de aprendizaje interactiva. Se trata de diez programas de estudios para
maestros y estudiantes, que los ayuda a explorar mediante la combinación del mundo real con
contenidos virtuales, utilizando una cámara web. El paquete de recursos consiste en
actividades de matemáticas, ciencias, anatomía, física, geometría, educación física e idiomas.
(Figura 1.13) [15]
21
Figura 1.13: LearnAR
1.4.2.2. AR-Learning
Es una aplicación que tiene como objetivo el apoyo al aprendizaje de los principios básicos de
la música al alumnado (educación primaria), visualizando en tres dimensiones instrumentos,
así como escuchando su sonido característico cuando interactúen con ellos. También se
enseñan las notas básicas del pentagrama musical y las cualidades del sonido como son altura,
timbre o intensidad. [16]
22
Figura 1.14: AR-Learning
1.4.2.3. Google Sky Map
Es una aplicación gratuita, ideal para apoyar el estudio de astronomía, principalmente para
quienes suelen interesarse en observar el espacio por las noches. Enfocando la cámara del
móvil en el cielo, el programa puede identificar estrellas, constelaciones, planetas y cuerpos
celestes, ofreciendo en vivo los datos. Posee además opciones de búsqueda.
23
Figura 1.15: Google Sky Map
1.4.2.4. Fetch! Lunch Rush
Es una aplicación lanzada por PBS Kids. FETCH! Lunch Rush permite a los estudiantes
mejorar sus habilidades matemáticas a través de la Realidad Aumentada, utilizando la cámara
del smartphone para colocar gráficos en entornos reales, mientras la aplicación fuerza al
usuario a resolver problemas matemáticos jugando con escenarios del mundo real. La
aplicación está disponible para cualquier tipo de dispositivo iOS (iPhone, iPod Touch y iPad).
Figura 1.16: Fetch! Lunch Ruch
24
1.5. Organización de la tesina
Este documento se compone de ocho capítulos, en los que se expondrán los temas
relacionados a la presente investigación.
En el capítulo 1 se hizo una introducción al tema, se describió la problemática, los objetivos
hacia los que apunta el desarrollo de la tesina, como así también investigaciones y
antecedentes de interés.
En el capítulo 2 se introducirá en el tema de la Realidad aumentada, explicando de qué se
trata esta tecnología, cómo funciona, los campos de aplicación que tiene y la tendencia que
sigue.
En el capítulo 3 se expondrán conceptos de pedagogía relacionados al paradigma educativo
apoyado en las TICs, haciendo hincapié en los beneficios de aplicar la Realidad Aumentada a
los proyectos educativos.
En el capítulo 4 se muestran las características de ARToolKit, la librería multiplataforma más
extendida en el desarrollo de aplicaciones de Realidad Aumentada. Se explicará en detalle su
instalación y configuración, como así también los pasos a seguir para la calibración de la
cámara a utilizar. Asimismo, se estudiará su funcionamiento general y arquitectura, el proceso
de detección de marcadores, visualización de objetos 3D y limitaciones.
En el capítulo 5 se introducirá en aspectos relevantes de OpenGL, y también se expondrá
sobre la experiencia obtenida con los motores 3D: OGRE3D y Panda3D, en relación con
ARToolKit.
En el capítulo 6 se estudiarán las características principales de Blender, una herramienta muy
potente en el ámbito de la producción de contenidos 3D. Se explicará en particular la técnica
de Mapas UV para crear texturas sobre un objeto 3D.
El capítulo 7 estará dedicado a la aplicación educativa con Realidad Aumentada, que engloba
los conceptos estudiados en la presente investigación. Se explicarán los detalles de
implementación de la aplicación, requerimientos y funcionamiento.
Finalmente, en el capítulo 8 se presenta un resumen del trabajo realizado, junto con las
conclusiones obtenidas. Se enumeran los aportes de la presente tesina, se sugieren posibles
mejoras a la aplicación desarrollada, y también se proponen futuras líneas de investigación
relacionadas al tema.
25
Capítulo 2
2. Realidad aumentada
Este capítulo se dedicará a explicar el concepto de Realidad Aumentada, diferencias con
Realidad Virtual, ámbitos de aplicación y alternativas tecnológicas para la creación de
aplicaciones con esta tecnología.
Si bien se profundizará el concepto en las sucesivas secciones, se puede decir que se entiende
por Realidad Aumentada a la combinación en tiempo real, de información proveniente del
mundo real con información que procede del mundo virtual.
La información proveniente del mundo real es la realidad propiamente dicha que rodea al
usuario. La información procedente del mundo virtual, se puede entender como los objetos
gráficos tridimensionales que pueden estar acompañados por audio; todos ellos generados
artificialmente, sincronizados y superpuestos al mundo real.
De este modo, el usuario que participe de esta experiencia tecnológica, consigue ampliar y
complementar la información del mundo real gracias a la información aportada por el mundo
virtual, pero sin abandonar nunca la realidad.
Para que esta combinación entre el mundo real y mundo virtual sea efectiva, es necesario que
el entorno virtual se parezca lo más posible a la manera tridimensional en que percibe el ser
humano el mundo real.
2.1. Definición
La Realidad Aumentada estudia las técnicas que permiten integrar en tiempo real contenido
digital con el mundo real. Es decir, se añade información virtual (información sintética) a la
información física ya existente (mundo real).
Cuando esto sucede, ya sea por medio de métodos de visión por computadora o
reconocimiento de objetos, la información sobre el mundo real alrededor del usuario se
convierte en interactiva y digital. Esta información artificial añadida sobre el medio ambiente
y los objetos, puede ser almacenada y recuperada en tiempo real como una capa de
información superior a la capa de la visión del mundo real.
En 1997, Ronald Azuma define a la Realidad Aumentada con las siguientes características:
26
● Combina elementos reales y virtuales.
● Es interactiva en tiempo real.
● Está registrada en 3D.
Además, Paul Milgram y Fumio Kishino definen en 1994, el concepto de Continuo de la
Virtualidad (Virtuality Continuum), un continuo que abarca desde el entorno real a un entorno
virtual puro, pasando por la Realidad Aumentada (más cerca del entorno real) y Virtualidad
Aumentada (está más cerca del entorno virtual). [18]
Figura 2.1: Realidad Aumentada [19]
Los sistemas de Realidad Aumentada poseen la dificultad de tener que calcular la posición
relativa de la cámara real respecto de la escena, para poder generar imágenes virtuales
correctamente alineadas con esa imagen real tomada por la cámara. Esto se denomina registro
y debe ser sumamente preciso, ya que errores de muy pocos milímetros son determinantes en
algunas aplicaciones, como por ejemplo en medicina o en soporte a las aplicaciones
industriales; y robusto, debe funcionar correctamente en todo momento.
Así, la Realidad Aumentada, como puede verse en la figura 2.1, se encuentra situada en medio
de los entornos reales y los virtuales, y se encarga de construir y alinear correctamente objetos
virtuales 3D que se integran en un escenario del mundo real.[19]
Cabe destacar que existe un grupo de aplicaciones de Realidad Aumentada muy sofisticadas,
que podrían denominarse como aplicaciones de Realidad Aumentada inmersiva. Estas
aplicaciones, incorporaran tecnologías muy avanzadas y costosas. Actualmente, se utilizan en
ámbitos académicos o militares, y recrean mundos virtuales que permiten, por ejemplo,
27
entrenar ciertas habilidades. En estos casos, se utilizan gafas o displays que van sujetos a la
cabeza y que son capaces de reproducir imágenes en 3D. Un ejemplo de este tipo de
aplicaciones son las de mantenimiento, como la de la firma BMW. Estas aplicaciones son
utilizadas para operaciones de mantenimiento y reparación de sus vehículos, con gafas y
auriculares para dar instrucciones de reparación. Otro ejemplo de aplicación es el del ejército
de EE.UU., en donde los soldados usan un casco integrado con un ordenador, con un display
y sensores que les permiten ver datos, mapas e información del terreno. [22]
2.2. Características generales
Como se mencionó anteriormente, según Ronald Azuma, para que una aplicación sea
considerada como de Realidad Aumentada, debe contar con tres características
fundamentales. En primer lugar debe combinar mundo real y virtual. Es decir, se debe
incorporar información sintética a las imágenes percibidas del medio ambiente y los objetos
(mundo real).
En segundo lugar debe ser interactiva en tiempo real. Esto significa que, los elementos del
entorno físico del mundo real, se combinan con elementos virtuales para crear una realidad
mixta en tiempo real. En este sentido, los efectos especiales de películas que integran
imágenes 3D fotorrealistas con imágenes reales, no deben considerarse como Realidad
Aumentada porque no son calculadas de forma interactiva.
Por último, la información del mundo virtual debe ser tridimensional y debe estar
correctamente alineada con la imagen del mundo real (alineación 3D). Así, las aplicaciones
que superponen información artificial 2D sobre la imagen del mundo real no son consideradas
de Realidad Aumentada.
La combinación de estas tres características, permite una experiencia muy rica para el usuario,
ya que mejora su visión e interacción con el mundo real, resultando muy útil a la hora de
realizar ciertas tareas. Por ello, la Realidad Aumentada es considerada como una forma de
Amplificación de la Inteligencia que emplea la computadora para facilitar el trabajo al
usuario. [19]
Más adelante se verá que existen distintas alternativas para incluir objetos virtuales al mundo
real. El método que se estudiará en profundidad consiste en detectar, a través de una cámara
web, un marcador (o patrón) que indicará la posición en donde mostrar el objeto 3D.
28
2.3. Realidad Aumentada y Realidad Virtual
No se debe confundir la Realidad Aumentada con Realidad Virtual, la diferencia fundamental
entre ambas es el espacio de interacción con el usuario; en la Realidad Aumentada es el
mundo real, mientras que en la Realidad Virtual es un mundo totalmente virtual, es decir,
sustituye totalmente la realidad tangible.
2.4. Campos de aplicación
La Realidad Aumentada es una tecnología con varios ámbitos de aplicación debido a las
numerosas posibilidades de interacción que ofrece. A continuación se describirán brevemente
algunas aplicaciones en los campos en los que se encuentra presente.
2.4.1. Educación
Actualmente la mayoría de los proyectos educativos de Realidad Aumentada se usan en
museos, exhibiciones, parques de atracciones temáticos, etc. Este tipo de aplicaciones,
generalmente utilizan conexiones wireless para mostrar información sobre objetos o lugares,
como por ejemplo, imágenes virtuales de ruinas reconstruidas, o paisajes tal y como eran en el
pasado. Archeoguide (ver capítulo 1) es un ejemplo. Además de reconstruir escenarios
completos, permiten apreciar e interactuar con los diferentes elementos en 3D, como partes
del cuerpo.
En los últimos años, si bien son pocos los proyectos que llegan a las aulas debido al costo, la
Realidad Aumentada está consiguiendo un protagonismo cada vez más importante en diversas
áreas de conocimiento, gracias a la versatilidad y posibilidades que presenta esta nueva
tecnología.
Bajo las premisas de entretenimiento y educación (edutainment), la Realidad Aumentada se
ha convertido en una herramienta muy útil para presentar determinados contenidos. La
capacidad de insertar objetos virtuales en el mundo real, y el desarrollo de interfaces de gran
sencillez, son algunas de las características más atractivas que posee.
Una de las aplicaciones para dispositivos móviles que actualmente se han extendido es Word
Lens, y permite traducir las palabras que aparecen en una imagen. La aplicación es ideal para
quienes viajan mucho y necesitan conocer de manera rápida el significado de alguna palabra.
29
El procedimiento consiste en tomar una fotografía a cualquier texto desconocido (un anuncio,
un menú, un volante, etc.), y se obtiene una traducción instantánea sobre el mismo objeto. El
software identifica las letras que aparecen en el objeto y busca la palabra en el diccionario.
Una vez que encuentra la traducción, la dibuja en lugar de la palabra original. El programa
ofrece traducción inglés/español y español/inglés, pero sus creadores Otavio Good y John
DeWeese ya han anunciado la traducción en otros idiomas, como el francés, el italiano o el
portugués. [18]
2.4.2. Medicina
Existen aplicaciones de Realidad Aumentada para cirugías, que permiten al cirujano
superponer datos visuales, como por ejemplo termografías o la delimitación de los bordes
limpios de un tumor, invisibles a simple vista, minimizando el impacto en la operación.
Una aplicación de este tipo se utilizó el 12 de Septiembre del 2003; en esta oportunidad
médicos de la Universidad de Alabama en Birmingham (EE.UU.) realizaron, con la ayuda de
una tecnología de Realidad Aumentada, una operación quirúrgica de hombro con la
participación de un médico que estaba en la ciudad de Atlanta. El médico de Atlanta, logró
introducir de forma virtual sus manos y herramientas en el campo quirúrgico, de modo que el
cirujano presencial las viera como si estuviera allí mismo, a través de sus gafas Google Glass.
[20]
2.4.3. Entretenimiento
En los últimos años, se está apostando mucho por la Realidad Aumentada en el campo del
entretenimiento, debido a que ésta puede aportar muchas nuevas posibilidades a la manera de
jugar.
Un ejemplo representativo de la Realidad Aumentada es "Can You See Me Now?", de Blast
Theory. Es un juego on-line de persecución por las calles donde los jugadores llevan un
computador portátil y están conectados a un receptor de GPS, y empiezan en localizaciones
aleatorias de una ciudad. El objetivo del juego es procurar que otro corredor no llegue a
menos de 5 metros de ellos, puesto que en este caso se los captura y pierden el juego.
Otro proyecto es AR-Quake, donde se puede jugar al videojuego Quake en exteriores,
disparando contra monstruos virtuales. A pesar de estas aproximaciones, todavía es difícil
30
obtener beneficios del mercado de los juegos puesto que el hardware que se requiere es muy
costoso y se necesitaría mucho tiempo de uso para amortizar el costo. [18]
2.4.4. Simulación
En el campo de la simulación, la Realidad Aumentada resulta muy atractiva para simular
vuelos y trayectos terrestres.
Otro ejemplo es el software creado en Japón, que permite simular la cocción de un filete. El
simulador calcula el calor transferido desde la sartén a los alimentos depositados en ella, lo
que permite percibir en tiempo real los cambios que se producen en estos durante la cocción,
como por ejemplo, ver cómo las proteínas de la carne van cambiando de color rojo a marrón,
cómo los vegetales van oscureciendo, etc. Además, la aplicación calcula y da la lectura de
varias magnitudes que intervienen en el proceso: la pérdida de peso en los alimentos, la
evaporación de los fluidos, etc. También es posible el uso de la espátula para interactuar con
los alimentos y producir una experiencia de cocción lo más realista posible. [21]
2.4.5. Servicios de emergencias y militares
La Realidad Aumentada puede servir para mostrar instrucciones de evacuación de un lugar
ante una emergencia. Por otra parte, en el campo militar, puede mostrar información de
mapas, localización de los enemigos, etc. [18]
2.4.6. Arquitectura
La Realidad Aumentada resulta muy útil a la hora de reconstruir virtualmente edificios
históricos destruidos. Existen aplicaciones que recrean ruinas sobre sus localizaciones
originales.
En cuanto a proyectos de construcción que todavía están bajo plano, la Realidad Aumentada
permite crearlos virtualmente e interactuar con ellos, como si se tratara de una maqueta. [18]
31
2.4.7. Industria
En este campo, la Realidad Aumentada puede ser utilizada para comparar los datos digitales
de las maquetas físicas con su referente real, para encontrar de manera eficiente discrepancias
entre las dos fuentes. Además, se pueden emplear para salvaguardar los datos digitales en
combinación con prototipos reales existentes, y así ahorrar o reducir al mínimo la
construcción de prototipos reales y mejorar la calidad del producto final.
Un ejemplo es el Proyecto ARMETAL del Instituto Tecnológico Metalmecánico (AIMME)
de Valencia, que muestra la viabilidad de la Realidad Aumentada aplicada a empresas, a
través de experiencias piloto desarrolladas en cooperación con empresas de diversos
subsectores, como fabricantes de maquinaria, joyería, herrajes, electrónica y luminarias,
aplicadas a diversos procesos empresariales y a la vez sobre diversos dispositivos (Pc, IPhone,
Tablet, etc.), recopilando dicha información en un manual de buenas prácticas. [18]
2.4.8. Publicidad
En este ámbito, se puede aprovechar el potencial que la Realidad Aumentada posee para
llamar la atención del usuario.
Por ejemplo, en el 2009 Fiat lanzó una campaña con el Fiat 500 como protagonista a través de
la página web, el usuario solo necesitaba poner una figura impresa a la que estaba asociado el
contenido 3D, frente al campo de visión de una cámara web. Gracias a esta ficción, el Fiat
500 saltaba del anuncio, permitiéndole al espectador tener una experiencia casi real con el
producto.
2.4.9. Turismo
La Realidad Aumentada ofrece mucho potencial para la promoción turística con llegada a una
mayor audiencia. Con esta tecnología es posible divulgar y dar a conocer patrimonio histórico
y cultural de una región, enriquecerla y dar un valor añadido a toda la información que se
quiere transmitir. [18]
32
2.5. Alternativas tecnológicas
Actualmente existen varios toolkits que facilitan la construcción de aplicaciones de Realidad
Aumentada. La mayoría de ellos están destinados a programadores con experiencia en
desarrollo gráfico, por lo que es necesario dominar ciertos conceptos teóricos y de
representación gráfica. A continuación se enumeran algunas de alternativas:
ARLab: Es una compañía que desarrolla herramientas para la creación de
aplicaciones con Realidad Aumentada. Sus herramientas brindan soporte para
geolocalización, reconocimiento de imágenes, reconocimiento de marcadores,
imágenes 3D, seguimiento de imágenes, seguimiento de objetos, botones virtuales,
reconocimiento facial y seguimiento facial. Todos sus productos están orientados a
iOS y Android, y poseen licencia paga.
ARToolKit: Es la biblioteca más conocida. Con interfaz en C y licencia GNU GPL
permite desarrollar aplicaciones de Realidad Aumentada con el uso de marcadores
cuadrados de color negro. [19]
ARTag: Es una biblioteca con interfaz en C y está inspirada en ARToolKit. Si bien el
proyecto dejó de mantenerse en el 2008, es posible todavía conseguir el código fuente.
El sistema de detección de marcas es mucho más robusto que el de ARToolKit. [19]
OSGART: Biblioteca en C++ que permite utilizar varias librerías de tracking visual
(como ARToolKit, SSTT o Bazar). [19]
FLARToolKit: Implementación para Web (basada en Flash y ActionScript) de
NyARToolKit (ARToolKit portado a Java). [19]
Otros ports de ARToolKit: Existen versiones de ARToolKit portados en diferentes
plataformas, como:
o AndAR: Es un proyecto que permite realizar aplicaciones con Realidad
Aumentada en la plataforma Android. Todo el proyecto se distribuye bajo
GNU. Es un proyecto de código abierto. [23]
o DroidAR: Es un framework para desarrollo de aplicaciones de Realidad
Aumentada en Android. Está publicado como código abierto bajo la licencia
GPLv3, permite aplicaciones basadas con marcadores y por geolocalización.
33
o NyARToolkit: Librería basada en ARToolkit de libre distribución que permite
la creación de aplicaciones para dispositivos móviles en el sistema operativo
Android y en el lenguaje Java. Tiene soporte para Realidad Aumentada basada
en marcadores. Está publicado bajo la licencia de código abierto GPLv3.
Layar: Permite crear aplicaciones con Realidad Aumentada para dispositivos móviles,
basado en web services. Tiene soporte para reconocimiento de imágenes y
geolocalización.
Metaio: Conjunto de SDK orientados a distintos sectores. Ofrece un SDK para
desarrollar aplicaciones orientadas a iOS y Android. Así como productos orientados al
desarrollo de aplicaciones para Marketing, Ingeniería, Diseño Web, entre otros. El
SDK para aplicaciones móviles da soporte para Realidad Aumentada basada en
marcadores, geolocalización y reconocimiento de formas. Todos sus productos tienen
licencia comercial.
Vuforia: SDK desarrollado por la empresa Qualcomm para desarrollar aplicaciones
con Realidad Aumentada. Tiene un SDK para Android y otro para iOS, tiene soporte
para Realidad Aumentada basada en marcadores y reconocimiento de imágenes;
además de funcionalidades como botones virtuales, distintos tipos de marcadores,
imágenes 3D, entre otros. La programación es en lenguaje nativo.
2.6. Elementos de sistema de una aplicación de RA
Para lograr el correcto funcionamiento de una aplicación que utilice ésta tecnología, se
requiere de los siguientes cuatro elementos:
2.6.1. Elemento capturador
Es la cámara encargada de captar la imagen del mundo real e ingresarla al programa, que
posteriormente realizará el procesamiento. Según la aplicación se requerirán una o más
cámaras. [55]
2.6.2. Elemento de situación
Es aquello que permite posicionar la información virtual dentro de la imagen del mundo real
[55]. Los elementos de situación pueden ser:
34
Marcadores: los marcadores, marcas, o patrones, pueden ser de forma cuadrada o
circular y son los elementos más usados para desarrollar aplicaciones basadas en
Realidad Aumentada [55]. La aplicación de Realidad Aumentada debe reconocer
el/los marcador/es que se utilicen para poder alinear correctamente los objetos 3D,
por ello, deben estar configurados previamente. La figura 2.2, muestra un ejemplo
de marcador.
Figura 2.2: Marcador
Es posible definir marcadores personalizados. Los que ofrecen mejores resultados
son los basados en patrones sencillos, ya que requieren menor procesamiento que
los patrones complejos.
GPS, brújula y acelerómetro: Estos tres elementos deben utilizarse en conjunto,
ya que por medio del GPS es posible conocer la ubicación; con la brújula la
dirección a la cual está apuntando el dispositivo y con el acelerómetro la
inclinación. [55]
Reconocimiento de objetos: este método se basa en detectar objetos conocidos,
como edificios o la forma de un objeto específico, para luego corroborarlo con una
base de datos y mostrar la información virtual que se requiera. [55]
2.6.3. Elemento procesador
Es el programa encargado de interpretar los datos de entrada del elemento capturador,
reconocer los elementos de situación; procesar la imagen del mundo real, y alinear
correctamente la información virtual. [55]
35
2.6.4. Elemento sobre el cual proyectar
Se necesita de un elemento en el cual se pueda mostrar el resultado de lo realizado por el
elemento procesador, y puede variar de acuerdo al sistema que se esté desarrollando; puede
ser la pantalla de una PC, un dispositivo móvil, o hasta un complejo HMD (Head-Mounted
Displays). [55]
2.7. Métodos de Tracking
Los métodos de tracking (rastreo) tratan de obtener una estimación de la trayectoria en el
espacio, realizada por uno o más sensores. Para realizar el tracking se pueden emplear
diferentes tipos de sensores, basados en campos magnéticos, ondas sonoras o cámaras de
visión.
Dado que el tracking basado en visión será utilizado por la aplicación a desarrollar y, además,
las cámaras están actualmente integradas en multitud de dispositivos portátiles y permiten
realizar tracking a un costo reducido, se dedicará este apartado a los métodos de rastreo
basados en visión.
El tracking basado en visión es un subcampo del tracking 3D, en el que se emplean técnicas
de visión por computadora para obtener el posicionamiento de seis grados de libertad de la
cámara (tres grados de la posición y tres de la orientación).
Al momento de calcular la posición de la cámara con respecto al mundo real, es necesario
contar con un conjunto de referencias tridimensionales. Para ello, se suele utilizar marcas con
una descripción geométrica previamente conocida, u objetos previamente modelados.
Realizando una comparación con lo que percibe la cámara en el mundo real, es posible
obtener el posicionamiento relativo a estas referencias. [19]
2.7.1. Dificultades del tracking basado en visión
El tracking basado en visión tiene la ventaja de utilizar dispositivos de bajo costo, y además,
es posible obtener gran cantidad de información del flujo de video, por ello, es el método más
utilizado. Sin embargo, debe enfrentar tres tipos de problemas [19]:
1. De identificación: Al utilizar cámaras de video, se debe lidiar con problemas de
oclusión, debido al punto de vista o a las condiciones de iluminación.
36
2. De seguimiento: Comprende los problemas asociados a la inicialización automática
o a la recuperación del tracking cuando se pierden las referencias.
3. En entornos no controlados: Se refiere a las dificultades asociadas a realizar el
tracking sin referencias previamente conocidas, como por ejemplo los marcadores.
2.7.2. Tipos de métodos de tracking
En general, se distinguen las aproximaciones Bottom-Up que tratan de obtener la posición a
partir de lo que obtiene la cámara, y las aproximaciones Top-Down que tratan de estimar si
desde la posición actual se está percibiendo lo que se esperaba (primero se obtiene la posición
y luego se trata de identificar las referencias que se esperaban obtener).
Es importante tener en cuenta la multitud de alternativas de tracking óptico, ya que
dependiendo de las características del dispositivo (capacidad de cómputo, resolución de la/s
cámaras/s, precisión de las lentes) y del contexto de aplicación, pueden utilizarse una o varias
técnicas de tracking, empleando métodos de fusión de percepciones para obtener un
posicionamiento preciso y coherente en el tiempo. [19]
A continuación se profundizará en detalle las distintas aproximaciones.
2.7.2.1. Aproximaciones Bottom-Up
En las aproximaciones Bottom-Up, se obtienen características geométricas conocidas de
objetos junto con sus relaciones geométricas 3D, y a partir de ellas se calculan los seis grados
de libertad. Como ventajas de utilizar esta aproximación se tiene que la inicialización y
recuperación del tracking es automática. Sin embargo, el principal problema se encuentra
cuando no se localiza una referencia completa, porque esto impide obtener el
posicionamiento. [19]
Dependiendo del tipo de características utilizadas, se distinguen los siguientes tipos de
tracking:
Tracking basado en marcas: Es el método más utilizado actualmente y consiste en emplear
marcas cuadradas o circulares que pueden detectarse fácilmente gracias a su alto contraste. El
principal problema que existe es la oclusión, que consiste en la imposibilidad de
identificación del marcador de referencia cuando es parcialmente tapado. Existen algunos
37
trabajos que para evitar la oclusión, utilizan imágenes en escala de gris para segmentar líneas
y completar marcas parcialmente ocultas. [19]
Tracking sin marcas: Se emplean únicamente características naturales de la escena, es decir,
estructuras físicas que son altamente detectables desde el punto de vista de los métodos de
visión por computadora; por ejemplo, los bordes de una mesa. A pesar de no requerir entornos
totalmente preparados, es necesario definir algunas restricciones que deben cumplirse, o
contar con modelos geométricos esperados [19]. Las técnicas que utilizan este tipo de tracking
son [19]:
Estructuras planas: Estas técnicas emplean información sobre la región de la
fachada de un edificio, carteles en paredes, etc. Su principal inconveniente son los
altos requisitos computacionales.
Basada en modelos: Estas técnicas se basan por un lado, en la utilización de un
modelo CAD de partes de la escena, por lo general, se trata de un objeto; y por
otro lado, en la detección de aristas y puntos de interés en el video de entrada. La
posición de la cámara se establece de forma relativa a ese objeto.
Escenas sin restricciones: En algunos escenarios de aplicaciones no es posible
contar con conocimiento a priori sobre estructuras planas o modelos. En general
este tipo de técnicas emplean restricciones epipolares de las cámaras en
movimiento y tienen un alto coste computacional.
2.7.2.2. Aproximaciones Top-Down
En las aproximaciones Top-Down se requiere de una posición inicial, por lo que no permite
inicialización automática. Se basan en el uso del contexto y estiman la geometría de la escena
de este contexto. Para predecir la posición de la cámara se utilizan modelos del movimiento
basados en filtros bayesianos, ya que se necesita gestionar por un lado el filtrado de datos, es
decir, el uso del modelo de movimiento y sus limitaciones asociadas; y por otro lado, la
asociación de datos, esto es, la localización de las referencias según la posición predicha. Una
vez obtenida la posición de la cámara se buscan referencias en la escena que corrijan la
predicción y ayuden a la creación de un modelo del entorno. [19]
Existen dos subcategorías de filtros Bayesiano: los que trabajan con modelos de movimiento
gaussianos; y los que utilizan Filtros de Partículas, por las características del ruido. [19]
38
Por su parte, los algoritmos de asociación de datos utilizados para emparejar cada
característica detectada, deben trabajar con diferentes medidas candidatas. [19]
2.8. Tendencias de Realidad Aumentada
En la actualidad, si bien la Realidad Aumentada no se encuentra popularizada, existe una gran
diversidad de aplicaciones y tecnologías que se pueden categorizar dentro de esta tecnología.
Lo más probable, parece ser que la introducción será paulatina y, si bien comenzó hace
algunos años, estos servicios irán ganando variedad y calidad según la tecnología continúe su
lógico avance.
Como retos futuros, la Realidad Aumentada deberá contar con modelos informáticos de
lugares, sonidos relacionados con el entorno físico real. Además será importante determinar la
orientación y posición exacta del usuario, y ser capaz de mostrarle una representación realista
del entorno que se ha añadido virtualmente.
Una de las dificultades más importante a la hora de desarrollar proyectos de Realidad
Aumentada, es la alineación 3D, debido a que un error de orientación por más mínimo que
sea, puede provocar que se pierda la alineación entre los objetos virtuales y físicos. Por
ejemplo, en zonas muy amplias los sensores de orientación usan magnetómetros,
inclinómetros, sensores inerciales, etc.; que pueden verse afectados gravemente por campos
magnéticos, por lo tanto, otro reto futuro sería intentar reducir al máximo este efecto.
En cuanto al entorno, sería interesante que una aplicación de Realidad Aumentada, sin tener
un conocimiento previo del territorio, pudiera localizar elementos naturales (como árboles o
rocas) que no hubieran sido catalogados previamente.
A largo plazo, con el objetivo de subsanar la "descoordinación" resultante del uso de sensores
de posición/orientación, es posible sugerir que se corrija a través de mediciones de las
desviaciones entre las medidas de los sensores y las del mundo real.
Es importante señalar que la Realidad Aumentada tiene un desarrollo costoso, debido a esto,
su futuro depende de si esos costos se pueden reducir de alguna manera. [18]
39
Capítulo 3
3. Realidad Aumentada aplicada al ámbito educativo
El objetivo principal de esta tesina supone el desarrollo de una aplicación basada en la
tecnología de Realidad Aumentada, que presente una posibilidad distinta, no solo de agregar
algo, o sumar una herramienta más al aula como puede ser un blog o una aplicación de red
social, sino de lograr un posicionamiento frente al análisis del sujeto y el objeto de
conocimiento.
Tradicionalmente el objeto de conocimiento podía ser estudiado, analizado, y traer consigo un
determinado número posible de información. Por otra parte, el objeto podía portar en sí
mismo el conocimiento, por ejemplo, un libro impreso.
En este capítulo se analizará el uso educativo de las Tecnologías de Información y
Comunicación (TIC), centrándose en su utilización como herramienta para realizar
aprendizajes de amplio espectro y acciones de variada índole. Además se desarrollará el
concepto de Edutainment, que tiene como objetivo principal motivar a los alumnos a través
del entretenimiento. Finalmente se dedicará un apartado a la Realidad Aumentada aplicada al
ámbito educativo, uno de los ejes centrales de esta investigación.
3.1. Educación apoyada en las TIC
Según Robert Gagné, el proceso de aprendizaje pasa por una serie de fases (ver figura 3.1)
que deben cumplirse para que el conocimiento quede afianzado en la mente del estudiante.
40
Figura 3.1.: Fases de adquisición del conocimiento
De todas estas fases, es en la fase de retención donde puede usarse la tecnología, debido a que
es donde se realiza la acumulación del conocimiento en la memoria. [25]
La teoría constructivista de Piaget sostiene que el conocimiento se construye partiendo desde
la interacción con el medio; basado en esta idea, el construccionismo de Papert indica que el
conocimiento debe ser construido por el propio sujeto que aprende a través de la acción, de
modo que no es algo que simplemente se pueda transmitir. [25]
Si se tiene la precaución de que el ambiente de aprendizaje y lo que se muestra, se encuentren
acordes con el nivel de conocimiento actual del estudiante, la teoría constructivista es una
fuerte base para el uso de tecnología interactiva en los procesos de aprendizaje. Además, se
debe tener en cuenta que la incorporación de nuevos conceptos debe ser en forma
relativamente estructurada, de manera que se llegue al conocimiento que se desea adicionar.
[25]
Así, “desde la perspectiva del aprendizaje, la utilización de las TIC tiene grandes ventajas:
interés, motivación, interacción continúa, actividad intelectual, desarrollo de la iniciativa,
mayor comunicación entre profesores y alumnos, aprendizaje cooperativo, alto grado de
interdisciplinariedad, alfabetización digital y audiovisual, desarrollo de habilidades de
búsqueda y selección de información, mayor contacto con los estudiantes, y actualización
profesional (para los docentes).” [56]
41
Por otro lado, el rol del docente también cambia en un ambiente rico en TIC, ya que en lugar
de ser fuente del conocimiento, se transforma en guía de los alumnos, facilitándoles el uso de
los recursos y las herramientas que necesitan para explorar y abordar nuevos conocimientos y
desarrollar nuevas destrezas.
Así, los docentes constituyen un pilar fundamental del sistema educativo apoyado en las TIC,
y sus conocimientos y destrezas son esenciales para el buen funcionamiento de un software;
por lo tanto, deben tener recursos técnicos y didácticos que les permitan cubrir sus
necesidades.
A su vez, es importante aplicar una nueva concepción de los alumnos-usuarios, puesto que
pasarán a desempeñar un rol diferente, no desde el punto de vista del concepto alumno, sino
de las nuevas formas de aprendizaje que tendrán que desarrollar basada en la utilización de las
TIC.
En este sentido, la inclusión de las TIC en el aprendizaje revoluciona la enseñanza y afecta de
manera directa tanto a los implicados en el proceso como al escenario.
Ahora el alumno tiene un rango más amplio de posibilidades y se ve envuelto en un nuevo
entorno de aprendizaje donde se lo prepara para tomar decisiones y para el autoaprendizaje, lo
cual abre un desafío al sistema educativo tradicional, que se centraba en la adquisición y
memorización de información y la reproducción de la misma en función de patrones
previamente establecidos.
Frente a los modelos tradicionales de comunicación que se dan en la cultura escolar, algunas
de las tecnologías generan una nueva alternativa donde el aula se convierte en un entorno en
el que el alumno puede interactuar con otros compañeros y profesores de una manera mucho
más amena y productiva.
3.2. ¿Qué le ofrecen las TIC a los docentes?
La innovación en los métodos de enseñanza, en los materiales educativos y en la evaluación,
impulsados por las Tecnologías de la Información y Comunicación, ofrece a los docentes la
posibilidad de replantearse las actividades tradicionales de enseñanza, para ampliarlas y
complementarlas con nuevas actividades y recursos de aprendizaje.
En primer lugar, el docente dispone de una gran cantidad de recursos digitales (procesadores
de texto, presentaciones, hojas de cálculo, programas de dibujo, edición de vídeo, uso de
42
webquest, weblogs, etc.), tanto elaborados por empresas comerciales como por los propios
profesores (software educativo), de todas las áreas curriculares y muchos de acceso gratuito.
Además, resulta sumamente enriquecedor que el docente pueda elaborar el propio material o
contar con software educativo ajustados con precisión a los objetivos y necesidades
curriculares.
En segundo lugar, las TIC ofrecen la posibilidad de trabajar en proyectos telemáticos; es
decir, entornos de trabajo colaborativo más allá de la propia clase del docente, con alumnos y
profesores de otros centros, e incluso, de otros países. De esta manera, se propicia a través del
conocimiento directo de lo que sucede en otros lugares, la educación intercultural.
La funcionalidad del software educativo vendrá determinada por las características y el uso
que se haga del mismo, de su adecuación al contexto y la organización de las actividades de
enseñanza. [26] A continuación, se señalan sus funciones (P. Marquez) [57]:
Función informativa: se presenta una información estructurada de la realidad.
Función instructiva: orientan el aprendizaje de los estudiantes, facilitando el
logro de determinados objetivos educativos.
Función motivadora: los estudiantes se sienten atraídos por este tipo de material,
ya que los programas suelen incluir elementos para captar la atención de los
alumnos y mantener su interés (actividad, refuerzos, presentación atractiva, etc.)
Función evaluadora: la mayoría de los programas ofrece constante feedback
sobre las actuaciones de los alumnos, corrigiendo de forma inmediata los posibles
errores de aprendizaje, presentando ayudas adicionales cuando se necesitan, etc. Se
puede decir que ofrecen una evaluación continua y en algunos casos también una
evaluación final o explícita, cuando el programa presenta informes sobre la
actuación del alumno (número de errores cometidos, tiempo invertido en el
aprendizaje, etc.).
Función investigadora: muchos programas ofrecen interesantes entornos donde
investigar: buscar información, relacionar conocimientos, obtener conclusiones,
compartir y difundir la información, etc.
Función expresiva: los estudiantes se pueden expresar y comunicar a través de la
Pc, PDA, etc., generando materiales con determinadas herramientas, utilizando
lenguajes de programación, etc.
43
Función metalingüística: los estudiantes pueden aprender los lenguajes propios
de la informática.
Función lúdica: el trabajo utilizando Pc, PDA, etc., tiene para los alumnos en
muchos casos connotaciones lúdicas pero además los programas suelen incluir
determinados elementos lúdicos.
Función innovadora: cuando se utiliza una tecnología recientemente incorporada
a los centros educativos que permite hacer actividades muy diversas e introduce
nuevos elementos organizativos en la clase.
Función creativa: la creatividad se relaciona con el desarrollo de los sentidos
(capacidades de observación, percepción y sensibilidad), con el fomento de la
iniciativa personal (espontaneidad, autonomía, curiosidad) y el despliegue de la
imaginación (desarrollando la fantasía, la intuición, la asociación). Los programas
informáticos pueden incidir en el desarrollo de la creatividad, ya que permiten
desarrollar las capacidades indicadas.
El uso de software educativo tiene, por tanto, potencialmente muchas ventajas. Desde la
perspectiva del estudiante: motivación por las tareas académicas, continua actividad
intelectual, desarrollo de la iniciativa, aprendizaje a partir de los errores, actividades
cooperativas, alto grado de interdisciplinariedad, individualización y aprendizaje autónomo.
Desde la perspectiva del docente: lo libera de la realización de trabajos repetitivos, permite el
contacto con las nuevas tecnologías, propicia la adaptación a alumnos con necesidades
educativas especiales, permite presentar la información de forma dinámica e interactiva,
ofrece herramientas intelectuales para el proceso de la información, permite el acceso a bases
de datos, constituye un buen medio de investigación didáctica en el aula, etc.
Sin embargo, “también tienen sus limitaciones e inconvenientes como pueden ser: diálogos
demasiado rígidos, desfases respecto a otras actividades, aprendizajes incompletos y
superficiales, desarrollo de estrategias de mínimo esfuerzo, puede provocar ansiedad en
algunos alumnos, aislamiento, etc.” [26]
El docente, entonces, deberá considerar las ventajas y las limitaciones de un material concreto
antes de darle uso didáctico. Al evaluar la calidad del software educativo, habrá que
considerar: la interfaz, el contenido y la interacción que ofrece el material; valorando, de
forma general, la facilidad de uso, la coherencia, la motivación y la adaptabilidad, y de forma
más específica, los recursos multimedia, la navegación, las estrategias metodológicas, el
44
seguimiento de los resultados, la participación y cooperación que el programa posibilita, etc.
A partir de esta evaluación que abarca tanto el punto de vista técnico como pedagógico, podrá
tomar una decisión sobre su potencial didáctico y, en consecuencia, sobre su integración
curricular.
Un programa apropiado de aprendizaje incluirá, probablemente, proyectos, trabajo grupal,
resolución de problemas, escritura reflexiva y otras tareas que estimulen el pensamiento
significativo; y puede ser aplicado en situaciones que permitan al estudiante una actividad
estructurante, actividad guiada por el docente, con la colaboración de otros compañeros. Otras
situaciones, podrían ser aquellas que se centran en un contenido determinado de las materias
del Curriculum escolar y que explicitan los objetivos de aprendizaje de manera clara,
situaciones que aprovechan las potencialidades del medio informático, situaciones diseñadas
teniendo en cuenta los conocimientos previos de los alumnos sobre los contenidos a tratar y
situaciones integradas con el resto de las situaciones escolares. [26]
3.3. Edutainment
El concepto Edutainment, el cual proviene de la contracción de las palabras education
(educación) y entertainment (entretenimiento), define una forma de entretenimiento diseñado
para educar y divertir como proceso conjunto y no por separado. Intenta elaborar
metodologías de enseñanza combinadas con componentes de entretenimiento para lograr
lecciones, de forma tal que se logre un programa de educación o capacitación que potencie y
desarrolle las habilidades mentales, morales, psicológicas y de comportamiento.
Un ambiente Edutainment se caracteriza por conseguir que el docente enseñe o socialice a su
audiencia insertando lecciones dentro de cierta forma familiar de entretenimiento: programas
de televisión, juegos de computadora y videojuegos, películas, música, sitios web, software
multimedia, etc. El objetivo que se pretende lograr es generar motivación tanto en alumnos
como en docentes, así estos dos grupos además de llevar a cabo el proceso educativo formal,
logran de una u otra forma educarse de manera “informal” con el apoyo de las tecnologías.
[27]
El principal reto que se tiene es el de mantener el equilibrio entre la educación y el
entretenimiento; y el docente deberá saber cómo utilizar la tecnología y comprender lo mucho
que puede ofrecer este nuevo medio. Edutainment no se refiere a que el docente sea un
cómico durante la clase realizando trucos mágicos para mantener a los estudiantes
45
entretenidos, sino que, es una forma de enseñar de manera que se entretenga y estimule la
mente del estudiante.
Esta forma de enseñanza permite al estudiante aprender desde diversos ángulos, impulsando
que el estudiante encuentre la mejor manera de aprender, involucrándolo en lo que están
aprendiendo. Una vez logrado el interés del estudiante, podrá escuchar o leer respecto al tema
y aprender aún más. [27]
En el caso de los videojuegos, por ejemplo, éstos tienen un valor educacional como medio
para desarrollar un pensamiento complejo, ya que suele ser simultáneo y multinivel a través
de la información y dinámica, el proceso de interacción y los costos, beneficios, riesgos,
metas y recompensas del mismo. Sin embargo, requiere encontrar un punto en el que el
ambiente proporcione elementos pedagógicos que favorezcan y aseguren el aprendizaje en el
estudiante, mientras que, al mismo tiempo, proporcionen retos y ambientes que den apoyo al
entretenimiento para mantener la atención del jugador. [28]
Al principio, Edutainment surgió como una alternativa dentro de los medios masivos de
comunicación y desde las aulas, para hacer frente al carácter educativo no formal de los
medios masivos que estaban llenando los espacios de esparcimiento, socialización y
cognición de las audiencias. El concepto de Edutainment puede definirse desde distintas
perspectivas [27]:
Desde el punto del educador, es un conjunto de herramientas pedagógicas vistas,
regularmente, como material complementario del aprendizaje, tales como
videojuegos y software interactivos.
Desde el punto de vista del comunicador social, es una forma de producción que
permite enfatizar la responsabilidad social de los medios y ofrecer nuevas
perspectivas al cumplimiento de su función educativa y formativa sin descartar la
redituable vinculación con el entretenimiento.
Desde el punto de vista del psicólogo, es una ventana de socialización del
individuo con los medios, su medio ambiente y el conocimiento.
46
3.4. Realidad aumentada y educación
Si bien es cierto que las fórmulas pedagógicas clásicas han demostrado su potencial, hoy en
día instituciones educativas de todo el mundo acogen satisfactoriamente la inclusión de
nuevos métodos de enseñanza, con objeto de mejorar los niveles de rendimiento de los
alumnos. En este sentido la inclusión de las TIC en el aprendizaje está respondiendo con
acierto a las necesidades educativas.
De esta manera, la mayoría de las aplicaciones multimedia con fines educativos, se sirven de
diferentes formatos: texto, imágenes, vídeo, animaciones y sonido, para presentar el material.
Estas herramientas complementan los métodos tradicionales de enseñanza, dado que los
contenidos (objeto de estudio), se proyectan en un modo muy sugerente e interesante para el
estudiante.
En los últimos años diversos proyectos han comenzado a explotar nuevos métodos de
visualización, con objeto de enriquecer los actuales programas educativos, en los que se
destaca la Realidad Aumentada como una tecnología prometedora, de las existentes hoy en
día. [58]
Actualmente, la Realidad Aumentada no es una tecnología que necesite de complejos equipos
para ponerla en práctica. Se puede disfrutar de experiencias de Realidad Aumentada
empleando un dispositivo que esté dotado de una cámara que capte la imagen del entorno, de
un microprocesador con capacidad de procesamiento para modificar la señal de vídeo, y de un
monitor o pantalla donde se visualice la imagen captada por la cámara, combinada en tiempo
real, con el contenido digital; y por supuesto además, software de Realidad Aumentada.
Por otro lado, el auge de los dispositivos móviles y el considerable aumento de la oferta de
aplicaciones de Realidad Aumentada, permiten vislumbrar un gran cambio en la forma de
acceder a la información y la posibilidad de proporcionar ricas experiencias de aprendizaje.
Cuando se experimenta con Realidad Aumentada, el usuario puede interactuar con un entorno
real complementado con información digital, este tipo de interacción hace que esta tecnología
sea más que apropiada para el aula, ya que el alumno no pierde el contacto con la realidad,
permitiendo que experimente con Realidad Aumentada y a la vez reciba instrucciones
externas del docente para que le guíe en el desarrollo de una tarea [58]. Asimismo, la
interacción mejora la asimilación de la información, permitiendo que resulte mucho más
concreta de lo que supone tener que imaginarla en su totalidad, de una forma más abstracta.
47
De esta manera, la experiencia educativa trasciende la experiencia intelectual accesible a
través de la cultura impresa, para convertirse en una experiencia capaz de ser percibida a
través de todos los sentidos. Cuando esto sucede, se produce el paso de la abstracción al
aprendizaje significativo y contextualizado, adquirido a través de múltiples experiencias
sensoriales. [29]
Sin embargo, es importante considerar las diferencias existentes con otros tipos de recursos
altamente interactivos, como podrían ser los que permiten realizar experiencias de tipo virtual.
En ellos, el sujeto experimenta con entornos inmersivos en los que la interacción con los
objetos del entorno virtual no tienen lugar en la vida real, de manera que aunque las
reproducciones sean muy fieles a la realidad, la experiencia siempre resulta simulada,
pudiendo tener lugar en espacios reales completamente desvinculados de la experiencia que se
trata de reproducir. Sin despreciar el valor de los recursos virtuales, resulta evidente que el
estudiante siempre percibirá como irreal la experiencia de aprendizaje. Con entornos de
Realidad Aumentada, en cambio, existe una parte de interacción directa con el entorno u
objeto de estudio, que atribuye un valor de veracidad que permite hacer mucho más creíbles y
significativos los aprendizajes. [29]
Por su parte, las imágenes en 3D obtenidas a través de patrones o marcadores, permiten a los
estudiantes interaccionar con objetos virtuales que reproducen objetos reales que, debido a
diversas circunstancias como pudieran ser el tamaño, el coste, la peligrosidad o la distancia,
no podrían ser manipuladas de manera real. [29]
La representación de objetos en 3D permite una exploración espacial que no permiten otros
medios de representación en 2D. El nivel de abstracción que se exige en este último caso
dificulta que algunos estudiantes puedan entender realmente el espacio tal y como es.
Manipular objetos virtuales como si fuesen reales puede mejorar la comprensión y, de este
modo, avanzar en el conocimiento de ciertos procesos o fenómenos. [29]
Cuando el estudiante experimenta con Realidad Aumentada, el sujeto se encuentra
interaccionando a tres niveles: el nivel real, el nivel virtual y su nivel intrapersonal
(cognitivo). Las experiencias a esos tres niveles permitirán convertir la información abstracta
en verdadero conocimiento que le permita mejorar sus competencias personales, ayudándole a
resolver problemas que se puedan plantear en la vida real. Esta tecnología, posibilita contar
con un espacio en el que se interactúa con objetos reales y a la vez con objetos virtuales, todos
ellos permiten revisar los aprendizajes anteriores, reestructurando el pensamiento, dando
sentido a aquello que se percibe del mundo exterior. [29]
48
3.4.1. Fundamentos teóricos para la aplicación de Realidad Aumentada en
la educación
Existen varias afirmaciones que coinciden en que la Realidad Aumentada podría proporcionar
experiencias mejoradas de aprendizaje. Estas afirmaciones se basan en dos marcos teóricos
interdependientes: Teoría del aprendizaje situado y Teoría del aprendizaje constructivista.
Estas teorías pedagógicas se presentarán a continuación.
3.4.1.1. Teoría del aprendizaje situado
La teoría del Aprendizaje Situado (situated learning) postulada en 1991 por Jane Lave y
Etienne Wenger, indica que existe una relación entre el aprendiz y el contexto, que se
estructura sobre una base práctica. Por ello, para que el aprendizaje sea efectivo, el aprendiz
debe estar activamente envuelto en un diseño de instrucción real. [30]
Para que el aprendizaje se produzca, se requiere de la participación del aprendiz en una
comunidad de práctica; esto es, en un contexto cultural, social, de relaciones, del cual se
obtiene los saberes necesarios para transformar la comunidad y transformarse a sí mismo. Por
ello, el carácter contextualizado del aprendizaje no se reduce a las nociones convencionales de
aprendizaje in situ o aprendizaje activo.
Esta acepción del aprendizaje, supone un cambio relevante en cuanto a la perspectiva clásica
del aprendizaje. No se trata exactamente de una teoría del aprendizaje o didáctica, sino de una
teoría social del aprendizaje (teoría socio-cognitiva) que transforma la concepción de los
contextos de aprendizaje y de la interacción entre docentes y estudiantes. Las características
específicas se fundamentan en los tres elementos de una comunidad de práctica: pertenencia,
participación y práctica.
Una comunidad de práctica puede ser un equipo de trabajo en una empresa, o cualquier grupo
de personas con una actividad común, como un grupo de investigación o un grupo musical. El
proceso de familiarización en estos grupos, el desarrollo de la plena pertenencia, comprende
no sólo la adquisición de las competencias especializadas necesarias, sino también la
adquisición de las prácticas culturales y la construcción de la identidad adecuada como
componente del grupo. El concepto de comunidad de práctica no se limita al concepto de
equipo de trabajo, sino que conlleva la dimensión comunitaria y cultural del proceso de
trabajo en comunidad más allá de la ejecución directa de la actividad.
49
El concepto de aprendizaje situado entiende el aprendizaje como un crecimiento continuado
en la estructura social de una comunidad de práctica, con bases en la participación y la
colaboración. La oportunidad de participación en una actividad significativa, el derecho a la
pertenencia y la opción a espacios de práctica y experiencia, son más importantes que un aula,
unos materiales de aprendizaje o unos exámenes. [31]
El proceso de aprendizaje situado se produce donde las personas acuerdan un objetivo común,
para realizar una actividad que todos experimentan y reconocen como significativa.
Esta teoría, relativiza la importancia de las estructuras formales de aprendizaje y neutraliza el
protagonismo de las instituciones educativas como contexto principal de aprendizaje. El
aprendizaje deja de entenderse como una transmisión unidimensional de conocimientos, para
concebirse como un proceso de aumento de experiencias. Por tanto, el aprendizaje no
constituye en sí mismo un fin y se orienta a la actividad social. [31]
Así, el proceso de aprendizaje según esta teoría, se integra por cuatro factores críticos que
maximizan el aprendizaje potencial del estudiante:
1. Satisfacción
2. Contexto
3. Comunidad
4. Participación
La tecnología de Realidad Aumentada permite a estudiantes aplicar teorías a situaciones
cotidianas reales. Los beneficios son:
Los estudiantes aprenden cómo aplicar el conocimiento que han aprendido, ya que
pueden interactuar con los contenidos. Mientras que para los profesores supone un
recurso formativo atractivo, puesto que ellos mismos pueden elaborar los
contenidos.
Cuando los alumnos aplican teorías a una situación, el cómo usar la teoría en otras
situaciones es más evidente. Los alumnos pueden comprender conceptos más
complejos gracias a las presentaciones más claras, más dinámicas y más eficientes
que ofrece la interacción con Realidad Aumentada.
Teorías almacenadas en contextos de situaciones son mucho más útiles que unas
simples palabras memorizadas de una teoría. La Realidad Aumentada ofrece la
50
incorporación de contenidos 3D, que potencia el efecto educativo ofreciendo
actividades de entretenimiento y a su vez, demuestra que es una gran herramienta
para motivar a los estudiantes.
La tecnología de Realidad Aumentada aplicada al aula fomenta la participación de
los estudiantes posibilitando el debate.
3.4.1.2. Teoría del aprendizaje constructivista.
Esta teoría se inspira en la psicología constructivista, y sostiene que para que se produzca
aprendizaje, el conocimiento debe ser construido o reconstruido por el propio sujeto que
aprende, a través de la acción. Esto significa que el aprendizaje no es aquello que
simplemente se pueda transmitir.
Como figuras clave del constructivismo cabe citar a Jean Piaget y a Lev Vygotski. Piaget se
centra en cómo se construye el conocimiento partiendo desde la interacción con el medio. Por
el contrario, Vygotski se centra en cómo el medio social permite una reconstrucción interna
del conocimiento. La instrucción del aprendizaje surge de las aplicaciones de la psicología
conductual, donde se especifican los mecanismos conductuales para programar la enseñanza
de conocimiento. [32]
La idea central es que el aprendizaje humano se construye, que la mente de las personas
elabora nuevos conocimientos a partir de la base de enseñanzas anteriores. Los estudiantes
deben participar en actividades en lugar de permanecer de manera pasiva observando lo que
se les explica. [33]
Así, la construcción del conocimiento se efectúa sobre hechos, ideas y creencias que el
alumno posee, en función de estos preconceptos dados y los preconceptos que se ponen a
disposición del alumno, quien finalmente construirá su conocimiento.
Esta teoría ha sido arduamente estudiada e implantada en disciplinas tales como son las
matemáticas, ciencias sociales, la informática, áreas que parten en su mayoría del estudio y
aplicación de ejemplos/problemas reales en busca de una solución no única y limitante. [34]
Posee algunas variantes, una de ellas es el aprendizaje por descubrimiento, también llamado
heurístico, que promueve que el estudiante adquiera los conocimientos por sí mismo, de tal
modo que el contenido que se va a aprender no se presenta en su forma final, sino que debe
ser descubierto por él. [35]
51
La enseñanza por descubrimiento coloca en primer plano el desarrollo de las destrezas de
investigación del estudiante, y se basa principalmente en el método inductivo y en la solución
de los problemas.
Los factores que influyen en la adquisición de conceptos y más concretamente en la forma de
adquisición, por descubrimiento inductivo, están relacionadas con [60]:
Los datos: cantidad, organización, complejidad.
El contexto: o áreas de búsqueda y grado de reestructuración de las instrucciones, que
favorecieron la aparición de respuestas convergentes o divergentes.
El individuo: formación, conocimientos, actitudes, capacidad cognoscitiva.
El ambiente inmediato.
La Realidad Aumentada favorece el aprendizaje por descubrimiento, ya que ayuda a los
alumnos a percibir e interactuar con el entorno de una manera nueva y divertida,
permitiéndoles adquirir un mejor conocimiento de la realidad y ofreciéndoles nuevas
experiencias.
Una muy buena aplicación en la educación son los libros de Realidad Aumentada, aunque
existen muchas más aplicaciones. Los libros de Realidad Aumentada son libros
convencionales de texto que incorporan un lector manual, como una tarjeta, que al ser pasada
por encima de las páginas del mismo revela su realidad aumentada, construyendo imágenes en
3D que pueden ser visualizadas por el estudiante. Ejemplos de esto son los libros de historia,
para ver cómo eran los dinosaurios; de anatomía humana, o incluso aquellos que permiten
observar obras de arte desde ángulos distintos. [36]
De esta manera, la Realidad Aumentada cubre una de las principales carencias de los actuales
sistemas de educativos, que es la ausencia de contenidos prácticos orientados a la adquisición
de habilidades y el desempeño de tareas.
En este sentido, la Realidad Aumentada permite [37]:
Recrear situaciones reales de trabajo.
Realizar sus prácticas en entornos reales de aprendizaje, y de esta forma, extender
las capacidades de los trabajadores.
Mejorar la comprensión de los conceptos, al superponer a la realidad información
didáctica virtual y realizar las tareas de forma guiada.
52
Prevenir posibles errores en operaciones de manipulación de máquinas-
herramientas.
53
Capítulo 4
4. ARToolKit
Este capítulo tiene por objetivo introducir los conceptos relevantes del framework
ARToolKit, necesarios para el desarrollo de aplicaciones de Realidad Aumentada.
En primer lugar se describirán las características generales de la librería. En base a ello, se
fundamentará la elección de ARToolKit para el desarrollo de la aplicación educativa.
Se explicarán en detalle los pasos a seguir para su instalación, configuración, y calibración de
la cámara a utilizar.
A continuación se presentarán los principios básicos de funcionamiento de ARToolKit, que
abarcan desde la obtención de los frames de video y su procesamiento para la detección de
marcadores, hasta el cálculo del registro de la cámara y la visualización de los objetos 3D a
superponer en las imágenes reales.
Por último, se estudiará el uso de algunas capacidades avanzadas, como el uso de múltiples
marcadores, y de marcadores multi-patrón.
4.1. Características
ARToolKit es un framework simple que permite la creación de aplicaciones de Realidad
Aumentada de tiempo real. Ofrece una API simple y modular, desarrollada en lenguaje C,
aunque en la actualidad ha sido portada a otros lenguajes, como Java y Python. Fue escrita
originalmente por Hirokazu Kato, y es mantenida por el HIT Lab de la Universidad de
Washington, y el HIT Lab NZ de la Universidad de Canterbury (Nueva Zelanda). [19]
Como se ha mencionado en el capítulo 2, las aplicaciones de Realidad Aumentada deben
tratar con el problema del registro de la cámara, con el fin de poder alinear correctamente las
imágenes virtuales con la escena real captada. ARToolKit utiliza métodos de visión por
computadora para solucionar este problema. Para ello, los módulos encargados de esta tarea
calculan en tiempo real la posición y orientación de la cámara, relativas a marcadores físicos
cuadrados. [40]
54
La posición y orientación calculadas se conoce como seis grados de libertad, y está
relacionada al movimiento en un espacio tridimensional, donde:
tres grados se refieren a la posición: movimiento hacia delante/atrás, arriba/abajo,
izquierda/derecha; es decir, traslación en tres ejes perpendiculares,
tres grados se refieren a la orientación: movimiento de guiñar, de cabeceo, de rodar;
es decir, rotación sobre tres ejes perpendiculares.
Todos los movimientos, sean traslaciones o rotaciones, son independientes unos de los otros a
lo largo de cada uno de los ejes. [38]
Figura 4.1: Los seis grados de libertad: adelante/atrás (forward/back), arriba/abajo
(up/down), izquierda/derecha (left/right), cabecear (pitch), guiñar (yaw), rodar (roll). [38]
A continuación se describen algunas de las características más destacables de ARToolKit:
Multiplataforma [40]. Funciona bajo Windows, Linux, Mac OS X, SGI. También
ha sido portado a plataformas como Android, y a dispositivos móviles como
IPhone, PDA, etc. [19]
Soporte para tracking multicámara [40]. De forma nativa permite el tracking de
una cámara, mientras que para el tracking multicámara, el programador debe
hacerse cargo de calcular el histórico de percepciones [19].
Soporte de múltiples dispositivos de captura y de múltiples formatos de color
[40].
55
Tracking de marcas negras cuadradas (planas) de 6 grados de libertad, en
tiempo real [40]. ARToolKit provee una herramienta para crear marcas
personalizadas, las cuales no deben ser simétricas respecto de alguno de sus ejes.
Si esto ocurre, es decir, si el patrón es simétrico en alguno de sus ejes, el
posicionamiento de los tres ejes no puede realizarse correctamente por resultar
ambiguo.
Utilización de varios marcadores. ARToolKit permite trabajar con más de un
marcador a la vez. Un ejemplo de uso de esta capacidad, es asociar a cada
marcador un objeto 3D distinto, como en el caso de la aplicación educativa
desarrollada como parte de la presente tesina (ver capítulo 7). Otra alternativa
podría ser la utilización de diferentes marcadores como mecanismos de interacción
para realizar otras operaciones [19].
Utilización de marcadores multi-patrón. Uno los problemas que se tiene al
trabajar con tracking de marcadores, es la oclusión. Si un marcador no es visible
en su totalidad, la detección del mismo fallará debido a que no será posible
identificar los vértices de la región que lo define.
Para reducir los efectos de esta limitación, ARToolKit posee un módulo que
permite utilizar marcadores multi-patrón. Un ejemplo de este tipo de marcadores
es el que se muestra en la figura 4.2.
Figura 4.2: Ejemplo de marcador con 12 patrones [19]
Con el uso de esta capacidad, mientras alguno de los patrones internos del
marcador, sea totalmente visible, ARToolKit será capaz de obtener la posición del
resto, y realizar el tracking correctamente, de forma más estable y precisa. Para
que esto sea posible, los patrones internos de la marca deben ser todos distintos.
56
Comunidad activa detrás del proyecto, con la participación de miles de usuarios a
través de listas de correo y de foros on-line [40].
Software libre distribuido bajo licencia GPL para uso no comercial [40].
4.2. Fundamento del uso de ARToolKit para el desarrollo de la
aplicación educativa
Se optó por el uso de ARToolkit para el desarrollo de la aplicación educativa, por ser la
biblioteca más madura en el campo de la Realidad Aumentada, y poseer una comunidad
activa detrás del proyecto.
Uno de los requerimientos no funcionales propuestos para el desarrollo de la aplicación
educativa, es la utilización de software libre; por ello se eligió Linux como sistema operativo.
En este sentido, ARToolKit es multiplataforma y permite el desarrollo de aplicaciones sobre
varios sistemas operativos, entre ellos Linux.
Cabe destacar que a lo largo de esta investigación se encontraron numerosos proyectos que
utilizaron esta librería, ya sea directa o indirectamente a través de ports, como por ejemplo,
AndAR (para Android). Esto también influyó en la decisión de utilizar esta librería.
4.3. Instalación y configuración
ARToolKit, como se ha mencionado, es multiplataforma. Dado que el desarrollo se realizará
sobre Linux, se explicará la instalación y configuración sobre esta plataforma, en particular
sobre Debian 7 (Wheezy).
En primer lugar será necesario instalar las librerías que forman parte de las dependencias de
ARToolKit:
#apt-get install freeglut3-dev libgstreamer0.10-dev libgstreamer-plugins-
base0.10-dev libxi-dev libxmu-headers libxmu-dev libjpeg62-dev libglib2.0-
dev libgtk2.0-dev gstreamer0.10-*
ARToolKit en sí, puede ser descargado desde su página oficial [40], o bien con el siguiente
comando:
#wget
“http://sourceforge.net/projects/artoolkit/files/artoolkit/2.72.1/ARToolKit
-2.72.1.tgz/download” –o ARToolKit-2.72.1.tgz
57
Una vez que la descarga se completó, se debe mover y descomprimir el archivo (.tar.gz) al
directorio elegido para su instalación, en este caso: /opt
#mv ARToolKit-2.72.1.tgz /opt/
#cd /opt/
#tar xzvpf ARToolKit-2.72.1.tgz
Luego de completar el paso anterior, se debe configurar el código de ARToolKit. El primer
paso consiste en elegir el driver para la captura de video. Para las pruebas realizadas en
lenguaje C sobre ARToolKit, se ha optado por GStreamer, por ser un framework ampliamente
utilizado, y de muy buen rendimiento.
Figura 4.3: Configuración de ARToolKit
A continuación, se debe proceder a compilar el código de ARToolKit, con el comando make.
Figura 4.4: Compilación de ARToolKit
Luego hay que copiar los ficheros de cabecera al directorio include del usuario:
Figura 4.5: Copiando ficheros de cabecera en el directorio include del usuario
También se debe copiar las librerías al directorio lib del usuario:
Figura 4.6: Copiando librerías en el directorio lib del usuario
Es necesario crear el archivo AR.pc, para que pkg-config sepa dónde se encuentran estas
nuevas librerías y sus ficheros de cabecera. En Debian, crearlo dentro de /usr/lib/pkgconfig
con el siguiente contenido:
58
Figura 4.7: Archivo AR.pc
Es recomendable, usando el comando export, setear las siguientes variables de entorno como
se indica a continuación:
LD_LIBRARY_PATH = /usr/local/lib
ARTOOLKIT_CONFIG = "v4l2src device=/dev/video0 use-fixed-fps=false !
ffmpegcolorspace ! capsfiltercaps=video/x-raw-rgb,bpp=24 !
identityname=artoolkit ! fakesink"
Se puede configurar el tamaño de las imágenes capturadas usando los parámetros height y
width, aunque es posible que genere fallos si se selecciona un tamaño no compatible con la
cámara.
ARTOOLKIT_CONFIG = "v4l2src device=/dev/video0 use-fixed-fps=false !
ffmpegcolorspace ! capsfiltercaps=video/x-raw-
rgb,bpp=24,width=640,height=480 ! identityname=artoolkit ! fakesink"
También se puede usar un fichero de vídeo para hacer pruebas o para desarrollar en un
ordenador que no tenga webcam real:
ARTOOLKIT_CONFIG = "filesrc location=gstreamer_test_xvid.avi ! decodebin !
ffmpegcolorspace ! capsfiltercaps=video/x-raw-rgb,bpp=24 !
identityname=artoolkit ! fakesink"
Estas variables pueden ser configuradas en el archivo “.bashrc” que se encuentra en la carpeta
home del usuario. [39]
4.4. Calibración de la cámara
Antes de comenzar a utilizar ARToolKit para el desarrollo de alguna aplicación, es
conveniente realizar una calibración a medida, de la cámara que se va a utilizar, con el fin de
obtener sus parámetros intrínsecos. Para ello, se dispone de dos aplicaciones que forman parte
del framework de ARToolKit, cuya funcionalidad y utilidad se explicará a continuación. No
59
obstante, si se desea, ARToolKit provee también un archivo de calibración genérico que
puede utilizarse para multitud de webcams.
La calibración de la cámara se realiza en dos etapas; como resultado de la primera, se obtiene
un archivo válido para la mayoría de aplicaciones, que contiene información sobre el punto
central de la imagen y el factor de distorsión de las lentes. La segunda etapa es opcional, y
debe realizarse si se quiere una mayor precisión (que contenga la distancia focal de la
cámara).
La aplicación que permite llevar a cabo la primera etapa de calibración, se llama
calib_camera2. Antes de ejecutarla, es necesario tener impreso un patrón de 24 puntos
separados entre sí por 4 cm (ver Figura 4.8). Una vez iniciada la aplicación, se deberá
especificar la longitud en milímetros entre cada punto del patrón de calibración. Si el patrón
fue impreso en escala 1:1, la distancia entre puntos será de 40; en otro caso deberá medirse el
espacio físico entre el centro de los puntos contiguos.
Figura 4.8: Patrón de calibración
En el siguiente paso, la cámara comienza a realizar una captura. El patrón debe ser colocado
horizontalmente en frente de la misma, de forma que todos los puntos sean visibles. Esta
calibración consiste en marcar todos los puntos, por fila, de izquierda a derecha y de arriba
hacia abajo. Es necesario repetir el procedimiento entre cinco y diez veces, variando el ángulo
y la posición en la que se presenta el patrón de calibración, con el fin de obtener una mayor
precisión. Cuando se haya realizado un número de capturas adecuado para calcular el
parámetro de distorsión, se debe pulsar el botón derecho del mouse o la tecla ESC.
A partir de esto, la aplicación comienza a realizar los cálculos y muestra como salida, los
resultados y una imagen, similar a la de la figura 4.9.
60
Figura 4.9: Ejemplos de resultados de calibración [40]
La segunda etapa de calibración, que tiene por objetivo encontrar la distancia focal de la
cámara y otros parámetros, requiere la utilización de un patrón de rejilla, de 7 líneas
horizontales y 9 líneas verticales (Figura 4.10). Para llevar a cabo esta etapa, se debe ejecutar
la aplicación calib_cparam.
Similar a la calibración anterior, aparecerá una ventana de vídeo en directo. Es necesario
situar el patrón, de forma perpendicular en frente de la cámara, de modo que todas las líneas
de la cuadrícula sean visibles y la red sea tan grande como fuera posible.
Figura 4.10: Patrón de calibración para medir distancia focal.
A continuación, se debe hacer clic con el botón izquierdo del ratón para capturar la imagen.
En este momento, aparecerá una línea horizontal blanca superpuesta. Se debe mover la línea
blanca de modo que quede superpuesta a la línea de rejilla negra, o lo más cerca posible
(figura 4.11), haciendo clic derecho con el mouse para fijar su posición. Este proceso debe ser
repetido para todas las líneas.
61
Figura 4.11: Ejemplo de colocación de líneas horizontales y verticales [40]
Una vez que la última línea horizontal se ha colocado, una línea vertical blanca aparecerá y el
proceso debe ser repetido para las líneas verticales. El orden de las líneas es muy importante.
Deben ser colocados de arriba a abajo y luego de izquierda a derecha, hasta que todas las 16
líneas han sido dibujadas en la pantalla. [40]
El procedimiento debe repetirse al menos cinco veces y al finalizar se calcularán los
resultados.
4.5. Arquitectura de ARToolKit
En líneas generales, ARToolKit utiliza OpenGL para el renderizado, GLUT (OpenGL Utility
Toolkit) para el manejo de ventanas y eventos, una API estándar en cada plataforma, y
librerías de vídeo dependientes del hardware (Bibs Video).
62
Figura 4.12: Arquitectura de ARToolKit [19]
Internamente, ARToolKit está formado por cuatro módulos [40]:
AR: Es el módulo esencial de ARToolKit, debido a que define las funciones para
tracking de marcadores, calibración y estructuras de datos necesarias.
Video: Contiene las funciones encargadas de obtener los frames de video. Este
módulo funciona como una capa de software por sobre las librerías de video
dependientes del hardware.
Gsub: Contiene funciones encargadas de la representación gráfica. Está basado en
OpenGL y GLUT.
Gsub_Lite: Al igual que Gsub, se encarga de la representación gráfica y se basa
en GLUT, pero es más eficiente y no tiene dependencias con ningún sistema de
ventanas concreto.
A grandes rasgos, los módulos trabajan en conjunto siguiendo el flujo: video → seguimiento
→ visualización. En la figura 4.13 se detalla este esquema funcional:
63
Figura 4.13: Esquema funcional de ARToolKit [19]
4.6. Principios básicos de funcionamiento
ARToolKit procesa los frames del flujo de video, en una serie de etapas que van desde la
captura inicial de una imagen real, hasta la superposición de los objetos 3D en la misma. Para
ello, utiliza un algoritmo de detección de bordes y un método rápido de estimación de la
orientación [40].
A continuación se describen brevemente estas etapas [40]:
1. El proceso comienza con la captura de una imagen del flujo de video (figura 4.14,
izq.). A continuación, la imagen es convertida a escala de grises y luego se binariza
(figura 4.14, der.).
Figura 4.14: Imagen original (izquierda), imagen convertida a escala de grises y binarizada
(derecha) [40]
Partiendo de la imagen binarizada, se buscan componentes conectados (figura 4.15,
izq.). Esta tarea es realizada por el algoritmo de visión por computadora de
ARToolKit, y las áreas contempladas son aquellas lo suficientemente grandes como
64
para detectar un marcador. A estas regiones se les aplica un rápido algoritmo de
detección de contornos (figura 4.15, centro), con el fin de obtener los vértices y aristas
que definen la región del marcador en 2D (figura 4.15, der.) [19].
Figura 4.15: Detección de componentes conectados (izquierda), detección de contornos
(centro), extracción de vértices y aristas (derecha) [40]
2. Una vez detectados los vértices y aristas que definen al marcador, es posible obtener
sus posiciones en 2D.
3. Con el área definida por los vértices y aristas detectados, se inicia un proceso de
normalización que consiste en extraer la zona central del marcador (que es la parte
que lo diferencia de otros), para realizar una comparación con los patrones de marcas
conocidas (aquellas que están asociadas a la aplicación).
4. El siguiente paso consiste en calcular la posición y rotación en 3D, del marcador y de
la cámara. ARToolKit utiliza diferentes sistemas de coordenadas, y establece una
relación entre ellos (figura 4.16). Su algoritmo de visión por computador, conociendo
las posiciones 2D de las aristas y vértices del marcador, y el modelo de proyección de
la cámara, puede estimar la posición y rotación 3D de la cámara relativamente al
marcador.
65
Figura 4.16: Sistema de Coordenadas de ARToolKit [19]
Es importante destacar que se puede establecer un sistema de coordenadas local a
cada marcador, debido a que los mismos tienen un tamaño y geometría (cuadrada)
previamente conocidos [19].
Conociendo la proyección de cada esquina del marcador e (figura 4.16) sobre las
coordenadas de pantalla (xc, yc), y las restricciones asociadas al tamaño de los
marcadores y su geometría cuadrada, es posible calcular una matriz de
transformación del sistema de coordenadas local al sistema de coordenadas de la
cámara [19].
5. Por último, una vez establecida la posición y rotación 3D de la cámara, relativa a la
posición y rotación del marcador, es posible dibujar cualquier objeto 3D
correctamente alineado con la escena (figura 4.17). Este proceso de visualización se
describirá a grandes rasgos en el apartado 4.7.
Figura 4.17: Imagen virtual 3D alineada con la imagen real [40]
4.6.1. Detección de marcadores
66
La fase de detección de marcadores, descripta a grandes rasgos en el apartado anterior,
consiste en una serie de etapas, como se muestra en la figura 4.18:
Figura 4.18: Pasos para la identificación de patrones [19]
El primer paso consiste en detectar al marcador en sí, determinando aristas y vértices.
Una vez determinada la región encerrada por las aristas y vértices que definen el marcador, se
entra en un proceso de normalización cuyo fin es eliminar la distorsión debido a la
perspectiva. Este proceso requiere mucho tiempo y puede significar un problema cuando se
utilizan muchos marcadores [19].
Luego del proceso de normalización, se procede a reducir la resolución del patrón
normalizado, aplicándole un proceso de resample. Cabe destacar que cuanto mayor es la
resolución del patrón, mayor es la precisión de ARToolKit para detectarlo, pero se requiere de
mayor capacidad de cómputo para realizar el procesamiento [19].
En cuanto al resample (remuestreo), es un proceso que consiste en el cambio del número de
píxeles de una imagen, y se aplica por upsample (aumento del número de pixeles) o
downsample (reducción del número de pixeles) [41].
ARToolKit está configurado por defecto para que la imagen resultante del proceso de
resample, tenga una resolución de 16x16 píxeles.
El último paso del proceso de detección de la marca, consiste en comparar la matriz de 16x16
píxeles obtenida del resample, con los datos contenidos en los archivos de los patrones
asociados a la aplicación. Cada patrón tiene su propio archivo de datos, el cual contiene 4
matrices con el valor de gris de cada píxel del patrón. A su vez, cada matriz se corresponde
con el patrón rotado 90º (ver figura 4.18).
67
4.6.2. Visualización 3D
Es importante entender en líneas generales, el proceso de representación gráfica en tres
dimensiones, que es de gran ayuda para el desarrollo de sistemas de Realidad Aumentada.
En apartados anteriores se han mencionado los sistemas de coordenadas utilizados por
ARToolKit, en particular el sistema de coordenadas local a cada marcador detectado, y el
sistema de coordenadas de la cámara. En la figura 4.19 se pueden observar sus equivalentes,
es decir, el sistema de coordenadas del objeto y el sistema de coordenadas de visualización
respectivamente. Además, interviene un tercer sistema de coordenadas, el Sistema de
Referencia Universal (SRU), que sirve para posicionar los objetos de forma global en la
escena de representación en 3D.
Figura 4.19: Sistema de coordenadas de visualización y su relación con otros sistemas de
coordenadas de la escena [19]
El sistema de coordenadas de visualización (también denominado parámetros de cámara),
permite definir el plano de proyección, que es el equivalente a la zona de la cámara sobre la
cual se representará la imagen. Así, para obtener una imagen de una escena 3D, las
coordenadas del objeto deberán ser transformadas a coordenadas del SRU, para luego ser
transferidas al sistema de coordenadas de visualización, y en última instancia, proyectarse
sobre el plano de visualización [19].
En cuanto a la proyección de objetos sobre el plano de visualización, se debe mencionar que
existen diferentes modelos. La proyección en perspectiva es un modelo de proyección que
68
permite generar escenas muy realistas [19]. Es el modelo que describe la manera en que el ojo
humano y las cámaras físicas forman imágenes. A grandes rasgos, se puede decir que los
puntos del objeto a representar bajo este modelo, se proyectan hasta el plano de visualización
empleando trayectorias convergentes en un punto. Así, los objetos que se encuentran más
alejados del plano de visualización, se ven más pequeños en la imagen [19].
4.6.3. Limitaciones
Como se ha mencionado en el capítulo 2, los métodos de tracking basados en visión por
computador presentan algunas dificultades. En este sentido, a continuación se enumeran
algunas limitaciones de ARToolKit, que utiliza un método de registro basado en marcadores
[19]:
Cuando no hay marcas visibles, no es posible obtener la posición de la cámara virtual.
Si un marcador no es visible en su totalidad, el método de detección fallará debido a
que no será capaz de identificar las 4 esquinas de la región, y en consecuencia, no se
podrá visualizar el objeto virtual asociado al patrón.
El tamaño físico del marcador afecta directamente a la facilidad de detección; cuanto
mayor es su tamaño, mayor será la distancia a la cual puede ser detectado. Por
ejemplo, marcadores de 7 cm de lado pueden ser detectados hasta una distancia
máxima de 40 cm (a una resolución de 640x480 píxeles).
La complejidad del marcador también afecta la facilidad de detección del mismo.
Aquellos que son simples (con grandes áreas de color blanco o negro), son detectados
mejor.
La orientación relativa del marcador con respecto a la cámara, es otro factor que
afecta a la detección. Cuanta mayor perpendicularidad haya entre el eje Z de la marca
y el vector de proyección de la cámara, más difícil será la detección.
Por último, las condiciones de iluminación también afectan enormemente a la
detección de las marcas. Es conveniente utilizar para los marcadores, materiales que
no ofrezcan brillo especular y que disminuyan el reflejo.
69
Capítulo 5
5. Visualización de objetos 3D para aplicaciones de
Realidad Aumentada
A lo largo de este capítulo, se tratarán las distintas alternativas que se analizaron para poder
visualizar objetos 3D, como así también, su integración con ARToolKit.
5.1. OpenGL
“OpenGL (Open Graphics Library) es una especificación estándar que define una API
multilenguaje y multiplataforma para escribir aplicaciones que produzcan gráficos 2D y 3D”
[42]. Es decir, es un documento que describe un conjunto de funciones y el comportamiento
exacto que deben tener. Partiendo de la API, los fabricantes de hardware crean
implementaciones que se ajustan a los requisitos de la especificación, utilizando aceleración
hardware cuando es posible. Para poder calificar sus productos conformes a OpenGL, y así
poder utilizar su logotipo oficial, las implementaciones de los fabricantes deben superar unas
pruebas de conformidad. [42]
5.1.1. Sobre OpenGL
OpenGL es una API basada en procedimientos de bajo nivel que fue creada con dos
propósitos esenciales [42]:
Ocultar la complejidad de la interfaz con las diferentes tarjetas gráficas, presentando al
programador una API única y uniforme.
Ocultar las diferentes capacidades de las diversas plataformas hardware, requiriendo
que todas las implementaciones soporten la funcionalidad completa de OpenGL
(utilizando emulación software si fuese necesario).
A grandes rasgos, el funcionamiento de OpenGL consiste en aceptar primitivas tales como
puntos, líneas y polígonos, y convertirlas en píxeles. Este proceso es realizado por un pipeline
gráfico conocido como Máquina de estados de OpenGL. La mayor parte de los comandos de
70
OpenGL emiten primitivas a la Máquina de estados de OpenGL, o bien configuran cómo debe
procesar dichas primitivas. [42]
El diseño de bajo nivel de OpenGL, si bien otorga libertad para implementar algoritmos
gráficos novedosos, requiere que el programador conozca en profundidad el pipeline gráfico
para poder dictar los pasos exactos que sean necesarios para renderizar una escena. A
diferencia de las APIs descriptivas, donde un programador sólo debe describir la escena y
puede dejar que la biblioteca controle los detalles para representarla. [42]
OpenGL ha influido en el desarrollo de las tarjetas gráficas, promocionando un nivel básico
de funcionalidad común en el hardware comercial. Sus principales contribuciones [42]:
Primitivas básicas de puntos, líneas y polígonos rasterizados. La rasterización es el
proceso por el cual una imagen descrita en un formato gráfico vectorial, se convierte
en un conjunto de píxeles o puntos para ser desplegados en un medio de salida digital,
como una pantalla de computadora, una impresora electrónica o una Imagen de mapa
de bits (bitmap).[43]
Un pipeline de transformación e iluminación. La transformación se refiere a la tarea de
conversión de coordenadas en el espacio, la cual involucra el movimiento de objetos
3D en un mundo virtual y la conversión de las coordenadas en 3D a las coordenadas
en 2D de pantalla.
Por otro lado, la iluminación se refiere a la tarea de situar objetos que irradien luz en
una escena virtual y calcular las sombras y colores resultantes en los objetos de su
alrededor al incidir en ellos la luz. [44]
Z-buffering: es la parte de la memoria de un adaptador de video encargada de
gestionar las coordenadas de profundidad de las imágenes en los gráficos en tres
dimensiones (3D). [45]
Mapeado de texturas. Establece cómo se sitúa la textura sobre el objeto al momento de
proyectarse. Las técnicas de mapeado de texturas pueden ser de dos tipos:
o Coordenadas Ortogonales: éstas utilizan las propias coordenadas 3D de los
objetos proyectados de forma automática.
o Mapeado UV: se asigna una coordenada para cada vértice del objeto que más
adelante se va a interponer. [46]
71
Alpha blending. Es una técnica que permite crear objetos transparentes, a través del
proceso de combinar dos objetos en pantalla teniendo en cuenta los valores alfa que
designa su grado de transferencia, posibilitando que el color del píxel del objeto
mostrado en segundo plano se vea influenciado por el grado de transparencia del píxel
correspondiente al situado en primer plano.
5.1.2. Modelo conceptual
En las llamadas a funciones de OpenGL, el nombre que las identifica determina también los
argumentos que recibirá. Además, se definen tipos enumerados como redefinición de tipos
básicos (GLfloat, GLint, etc.) para facilitar la compatibilidad con otras plataformas. [19]
Figura 6.1: Prototipo general de llamada a función de OpenGL [19]
El Modelo Conceptual de OpenGL define dos operaciones básicas que el programador puede
realizar (Figura 6.2):
1) dibujar algún elemento,
2) cambiar el estado de cómo se dibujan los elementos.
La operación de dibujar algún elemento tiene que ser:
a) una primitiva geométrica (puntos, líneas o polígonos), o
b) una primitiva de imagen. [19]
72
Figura 6.2: Modelo conceptual general de OpenGL. [19]
De esta manera, la aplicación que utilice OpenGL será simplemente una colección de ciclos
de cambio de estado y dibujado de elementos.
La operación Cambiar Estado se encarga de inicializar las variables internas de OpenGL que
definen cómo se dibujarán los elementos. Este cambio de estado puede ser de múltiples tipos;
desde cambiar el color de los vértices de la primitiva, establecer la posición de las luces, etc.
[19]
La operación de Dibujar requiere habitualmente que las primitivas se definan en coordenadas
homogéneas. Todas las primitivas geométricas se especifican con vértices. El tipo de
primitiva determina cómo se combinarán los vértices para formar la superficie poligonal final.
[19]
5.1.3. Pipeline de OpenGL
Como es de suponer, los elementos de la escena sufren diferentes transformaciones en el
pipeline de gráficos 3D [19]:
73
Transformación de Modelado: Los modelos se posicionan en la escena y se obtienen
las Coordenadas Universales.
Transformación de Visualización: Se especifica la posición de la cámara y se mueven
los objetos desde las coordenadas del mundo a las Coordenadas de Visualización (o
coordenadas de cámara).
Transformación de Proyección: Se obtienen las Coordenadas Normalizadas en el cubo
unitario.
Transformación de Recorte y de Pantalla: Se obtienen, tras el recorte (o clipping de la
geometría), las coordenadas 2D de la ventana en pantalla.
OpenGL especifica matrices 4x4 para representar todas sus transformaciones geométricas,
empleando coordenadas homogéneas. A diferencia de la notación matemática estándar,
OpenGL especifica por defecto las matrices por columnas. [19]
5.1.4. Resultados de las pruebas realizadas
Las primeras pruebas se realizaron con ARToolkit y OpenGL, utilizando C como lenguaje de
programación. Se logró renderizar un objeto 3D asociado a un marcador (o patrón). En este
punto se notó una alta complejidad en cuanto a la utilización de la API de OpenGL, debido a
que implica programar a bajo nivel todo lo que esté relacionado a la renderización de gráficos.
Cabe destacar que la utilización de un lenguaje de bajo nivel como C, aumenta también la
complejidad en el desarrollo. Por estas razones, surgió la necesidad de investigar sobre algún
motor de renderizado que, además de disminuir la complejidad mencionada, pueda integrarse
con ARToolkit, con el fin de lograr desarrollar la aplicación de Realidad Aumentada
propuesta.
5.2. OGRE 3D
OGRE 3D (acrónimo del inglés Object-Oriented Graphics Rendering Engine) es un motor de
renderizado 3D orientado a escenas (en oposición a un motor de videojuego), escrito en el
lenguaje de programación C++ y licencia GNU LGPL (Lesser General Public License). [47]
Como su nombre lo indica es orientado a objetos, lo que permite evitar la complejidad
incluyendo paquetes con interfaz simple de conceptos. Es multiplataforma, actualmente se
ejecuta en Windows, Linux y Mac OSX usando plugins para impulsar la prestación de APIs
74
de renderizado: OpenGL o Direct3D, esta última disponible sólo para Windows. Las
aplicaciones utilizan OGRE 3D en un nivel abstracto, lo que garantiza que pueda funcionar
bajo las distintas plataformas, y sus bibliotecas evitan la dificultad de la utilización de capas
inferiores de librerías gráficas como OpenGL y Direct3D.
El propósito principal de OGRE 3D es proveer una solución general para el renderizado de
gráficos. Otras características, como clases de vector y matrices, manejo de memoria, etc., son
consideradas suplementarias.
Al ser un motor orientado al renderizado de escenas, OGRE 3D permite a los desarrolladores
elegir libremente los módulos que deseen utilizar para física, entrada, audio, etc. [47]
5.2.1. Integración de ARToolKit con OGRE 3D y OpenCV
ARToolkit permite detectar los marcadores. Así, integrado con OGRE 3D y OpenCV, éste
realiza una captura de vídeo y despliegue en el fondo de una ventana de OGRE para,
posteriormente, convertir el tipo de datos relativos a un Frame en OpenCV para ser utilizados
por ARToolKit. Finalmente, el objeto 3D se renderiza con OGRE.
OpenCV es una biblioteca libre de visión artificial, escrita en lenguaje C y C++,
multiplataforma, existiendo versiones para Linux, Windows y Mac OS X. Posee interfaces de
desarrollo para Python, Ruby, Matlab, entre otros lenguajes de programación.
Uno de los objetivos de OpenCV es proporcionar una infraestructura de visión por
computador altamente eficiente y sencilla de usar, que ayude a las personas a construir de
forma rápida aplicaciones de visión artificial sofisticadas. Contiene más de 500 funciones que
abarcan muchas áreas de la visión, incluyendo la inspección de fábricas de productos,
imágenes médicas, seguridad, interfaz de usuario, calibración de la cámara, visión estéreo, y
robótica. Posee un fuerte enfoque en aplicaciones de tiempo real. [48]
OGRE cuenta con la clase VideoManager, que se encarga de la gestión de las fuentes de
vídeo, y así, abstrae a la aplicación del uso de OpenCV. Únicamente el VideoManager conoce
los dispositivos de captura.
Cada frame obtenido será utilizado igualmente por ARToolKit para detectar las marcas y
proporcionar la transformación relativa.
75
5.2.2. Resultados de las pruebas realizadas
Teniendo en cuenta la necesidad de contar con un motor de renderizado, que reduzca de
forma considerable la complejidad de realizar el tratamiento de gráficos (y en particular
objetos 3D) directamente con la API de OpenGL, se comenzaron las pruebas para determinar
el potencial de OGRE 3D en función a los objetivos de la aplicación.
En primer lugar, en cuanto a la instalación, si bien no fue sencilla, los inconvenientes se
lograron superar gracias a los foros disponibles relacionados al tema.
Dado que el desarrollo se realizará sobre Linux, se explicará la instalación y configuración
sobre esta plataforma, en particular, sobre Debian 7 (Wheezy).
Para instalar OGRE 3D se debe ejecutar el siguiente comando:
apt-get install libogre-dev libogre-1.8.0 libogre-1.8.0-dbg libogre-
1.8-dev ogre-tools ogre-doc blender-ogrexml
Además se precisan dependencias de OpenCV, si no se encuentran instaladas ejecutar:
apt-get install libopencv-contrib-dev libopencv-contrib2.3
apt-get install libopencv-objdetect-dev libopencv-objdetect2.3
apt-get install libopencv-features2d-dev libopencv-features2d2.3
Otra librería importante es OIS:
apt-get install libois-dev
En cuanto a las pruebas realizadas, se comenzó teniendo un solo marcador a detectar y objetos
3D simples a renderizar. Los resultados fueron positivos, es decir, se notó la disminución de
la complejidad en cuanto al desarrollo, principalmente debido a la utilización de un lenguaje
orientado a objetos (C++), y un motor de renderizado (OGRE 3D).
76
Figura 5.1.: Caballo de Troya con OGRE 3D, OpenCV y ARToolKit
También se logró proporcionar la sensación de movimiento, por ejemplo para simular la
rotación de la Tierra sobre su propio eje, como se muestra en la siguiente figura:
77
Figura 5.2.: Rotación del planeta Tierra con OGRE 3D, OpenCV y ARToolKit
Posteriormente se intentó renderizar más de un objeto 3D al mismo tiempo, relacionándolos a
distintos marcadores, cuyo resultado no fue positivo. Se estuvo investigando en la
documentación oficial, y foros relacionados pero no se obtuvo información que ayude a
resolver el problema. Por lo que pudo encontrarse, se concluye que no se encuentra madura la
integración de las tecnologías antes nombradas para el desarrollo de aplicaciones de Realidad
Aumentada.
78
5.3. Panda3D
Teniendo en cuenta los resultados arrojados por la evaluación del motor de renderizado
OGRE 3D, se comenzó a buscar una alternativa más flexible. Se propuso entonces evaluar a
Panda3D.
Panda3D fue desarrollado por Disney para su juego multijugador masivo online, Toontown
[49]. Es una librería de subrutinas para el renderizado de objetos 3D y desarrollo de
videojuegos. Además, incluye gráficos, audio, E/S, detección de colisiones, entre otras
características.
Bajo la licencia BSD Revisada, es un proyecto de código abierto y software libre (desde el 28
de mayo del 2008). El lenguaje de programación de videojuegos para el que fue destinado
Panda3D es Python. El motor de videojuegos en sí mismo está escrito en C++, y utiliza un
generador-empaquetador automático para exponer la completa funcionalidad del motor en una
interfaz de Python. De esta manera, se aprovechan las ventajas del desarrollo en Python, como
son el desarrollo rápido o la gestión avanzada de memoria, pero mantiene el rendimiento de
un lenguaje compilado en el núcleo del motor. Por ejemplo, el motor es integrado con el
recolector de basura de Python, y las estructuras del motor son manejadas automáticamente.
[50]
El manual y los programas de ejemplo usan Python, por lo que un programador que usa
Panda3D escribe el código en Python, pero también es posible que acceda directamente al
motor usando código en C++. [50]
Panda3D hace hincapié en cuatro áreas: potencia, velocidad, integridad y tolerancia a errores.
Las dos primeras características no merecen mayores comentarios en cuanto a lo que se
refiere. Para garantizar la integridad, Panda3D cuenta con herramientas esenciales tales
como: escena de la navegación gráfica, la supervisión del rendimiento, los optimizadores de
animación, entre otros. En lo que respecta a la tolerancia a errores, se refiere al hecho de que
todos los desarrolladores esperan que ante un error, se emita un mensaje claro que ayude a
encontrarlo. Por ello Panda3D ha dedicado mucho código al problema de rastreo de errores.
Panda 3D tiene otras capacidades aparte del renderizado 3D. Los principales son [50]:
Herramientas de análisis de rendimiento.
Herramientas de exploración de la escena gráfica.
79
Herramientas de depuración
Un completo pipeline de exportación/importación de arte.
3D Audio, utilizando ya sea FMOD, OpenAL o Miles Sound System.
Detección de colisiones.
Sistema de físicas, y una integración total para el Open Dynamics Engine.
Soporte para teclado y ratón.
Soporte para dispositivos E/S inusuales.
Máquina de estados finitos.
GUI.
Herramientas para redes.
5.3.1. Resultados de las pruebas realizadas
En la página oficial: https://www.panda3d.org, se cuenta con la documentación y manual con
ejemplos. Nuevamente, se explicará la instalación y configuración sobre Debian 7 (Wheezy).
Se deben seguir los siguientes pasos:
1. Posicionarse en el directorio tmp:
cd /tmp
2. Descargar desde la página Panda3D:
wget http://www.panda3d.org/download/panda3d-1.8.1/panda3d-1.8.1.tar.gz
3. Descomprimir el archivo descargado en el paso anterior:
tar zxvf panda3d-1.8.1.tar.gz
4. Posicionarse en el nuevo directorio creado:
cd panda3d-1.8.1
5. Instalar los siguientes complementos:
apt-get install bison flex g++ dpkg-dev python-dev mesa-common-dev freeglut3-dev
libopencv-dev blt python-pmw python-tk
80
6. Se compila incluyendo todos los módulos (detección de colisiones, física, GUI, etc.), pero
si se desea se puede agregar como opción sólo los módulos que se van a utilizar:
python makepanda/makepanda.py --everything --installer
7. Instalar Panda3D:
dpkg -i panda3d*.deb
Como se mencionó anteriormente los ejemplos se encuentran en Python, todos ellos
relacionados a comenzar a crear una escena de videojuego, con efectos, detección de
colisiones, etc.
En la API se encuentran las clases para integrar con ARToolKit. Se comenzó entonces a
montar una escena, que no tuvo mayores dificultades. Luego se comenzó a incorporar al
código la funcionalidad de ARToolKit.
Se comenzó con ejemplos similares a los usados con OGRE 3D, con un objeto y un marcador,
con resultados positivos.
Se pudo apreciar la flexibilidad y simplicidad de este motor 3D, no sólo por los beneficios de
programar en Python sino también por las características que tiene ya que está destinado al
desarrollo de juegos.
Se enlazaron varios modelos 3D a un solo marcador para que se puedan ir cambiando según
lo decida el usuario, con resultados positivos.
Luego se probó tener dos marcadores a detectar, de forma que cuando sean reconocidos cada
uno muestre un objeto 3D diferente, lo que también arrojó resultados positivos.
Se comprobó que a medida que se iban agregando modelos a la aplicación de prueba, se
tardaba unos segundos en iniciar la aplicación pero esto también dependía de la complejidad
de los modelos a renderizar. Mientras más vértices tenga la malla del modelo 3D, más
complejo es.
Por los resultados obtenidos se decidió a utilizar este motor 3D para el desarrollo de la
aplicación educativa.
81
Capítulo 6
6. Blender
El propósito de este capítulo es estudiar brevemente las características principales que hacen
de Blender una herramienta muy potente en el ámbito de la producción de contenidos 3D para
Realidad Aumentada.
Fue creado en diciembre de 1993 por la compañía 'Not a Number' (NaN), y apareció como un
producto utilizable en agosto de 1994. Blender es ahora desarrollado como 'Software Libre',
con el código fuente disponible bajo la licencia GNU GPL. La Blender Foundation, en los
Países Bajos, es quién actualmente coordina su desarrollo. [51]
Blender integra una serie de herramientas para la creación de una amplia gama de contenidos
2D y 3D, ofreciendo un amplio espectro de funcionalidad para el modelado, texturizado,
iluminación, animación y post-procesado de vídeo en un paquete. Por medio de su
arquitectura abierta, ofrece interoperabilidad entre plataformas, extensibilidad y un flujo de
trabajo altamente integrado. Todas estas características hacen que Blender sea una de las
aplicaciones de código abierto de gráficos 3D más populares del mundo. [51]
Se encuentra destinado a profesionales de medios y artistas, y puede usarse para crear
visualizaciones 3D, tanto imágenes estáticas como videos de alta calidad. Incorpora un motor
3D en tiempo real, que permite la creación de contenido interactivo que puede ser reproducido
independiente de Blender. [51]
Entre el 2008 y el 2010, Blender ha sido enteramente reprogramado para mejorar sus
funciones, flujo de trabajo e interfaz. El resultado de este trabajo es ahora conocido como
Blender 2.6. [51]
6.1. Características
Blender posee las siguientes características principales [51]:
Paquete de creación totalmente integrado, ofreciendo un amplio rango de
herramientas esenciales para la creación de contenido 3D, incluyendo modelado,
mapeado UV, texturizado, rigging, skinning, animación, simulaciones de
82
partículas y de otros tipos, scripting, procesamiento, composición, pos-producción
y creación de juegos;
Multiplataforma, con una interfaz basada en OpenGL, lista para ser usada en todas
las versiones de Windows (98, NT, 2000, XP,7,8), Linux, OS X, FreeBSD, Irix,
Sun y otros sistemas operativos;
Arquitectura 3D de alta calidad permitiendo un trabajo creativo rápido y eficiente.
Foro de soporte comunitario para preguntas, respuestas y críticas en
http://BlenderArtists.org (inglés), http://www.g-blender.org (español),
http://www.3dpoder.com (español) y nuevos servicios en
http://BlenderNation.com (en inglés);
Ejecutable de tamaño reducido, para una fácil distribución.
6.2. Instalación
Dado que el desarrollo se realizará sobre Linux, se explicará la instalación y configuración
sobre esta plataforma, en particular, sobre Debian 7 (Wheezy).
Como Blender se encuentra en los repositorios de Debian, se instala con el siguiente
comando:
Figura 5.1: Instalación de Blender en Debian.
Una vez finalizada la instalación, se puede ejecutar el programa:
83
Figura 5.2: Blender
6.3. Mapeado UV
Los modelos utilizados en la aplicación fueron obtenidos de páginas de modelos 3D gratuitas
por lo que no fue necesario crearlos. Existen varias páginas de las que se pueden descargar
modelos 3D de diferentes categorías (animales, naturaleza, vehículos, etc.) de forma gratuita
en diversos formatos: 3ds, obj, pz3, pp2, max, mb, skp, entre otros. El próximo capítulo del
presente documento, se explayará sobre el desarrollo de la aplicación educativa, pero por el
momento se puede adelantar que se necesitarán modelos 3D relacionados a la anatomía
humana. De la página https://3dwarehouse.sketchup.com/ se pudieron obtener casi todos los
modelos que se requerían, todos ellos en formato .skp. Otra página muy útil fue:
http://tf3dm.com/3d-models/anatomy.
A todos los modelos descargados, había que crearles una textura no sólo para proporcionarle
color sino también para que pueda interpretarse mejor lo que se quiere representar, ya que por
sí solo el modelo 3D una vez renderizado sobre un marcador no es muy ilustrativo sin
textura, sin mencionar que ni siquiera se puede apreciar que es 3D.
84
Por ello, es que se empleó esta técnica. El mapeado UV es una manera de mapear texturas de
tipo Imagen sobre modelos tridimensionales. Se puede usar para aplicar texturas a formas
arbitrarias y complejas como cabezas humanas o animales. A menudo estas texturas son
imágenes pintadas o dibujadas, creadas con programas como Gimp, Photoshop, u otro similar.
[52]
Cabe mencionar a las texturas Procedurales, que son aquellas definidas matemáticamente y
constituyen una buena manera de texturizar un modelo debido a que no necesitan ser
mapeadas de una forma específica. Siempre se ajustan perfectamente al modelo, es decir, que
encajan perfectamente en las aristas y continúan apareciendo del mismo modo para el que han
sido pensadas, incluso si se las corta. Las imágenes 2D en cambio, no siempre se ajustarán tan
bien. [53]
Figura 5.3: Ejemplos de texturas procedurales
Sin embargo, hay situaciones en las que este tipo de texturas no resulta suficiente. Por
ejemplo, si se generan proceduralmente texturas para representar la piel de una cabeza
humana, nunca se verán lo suficientemente bien. Las arrugas en un rostro humano, o las
saltaduras de pintura en un automóvil no aparecen en lugares al azar sino que dependen de la
forma del modelo y de su uso. Por ello, para estos casos se utilizan las imágenes pintadas
manualmente, que le dan al artista control total sobre el resultado final. De esta forma, es
posible controlar cada píxel sobre la superficie. [52]
85
Pintar manualmente las texturas significa más trabajo, pero los resultados valen la pena y
representarán realmente lo que se pretende. Para ello, se utiliza un mapa UV, que es una
forma de asignar la parte de una imagen a un polígono en el modelo. Cada vértice del
polígono es asignado a un par de coordenadas 2D que definen que parte de la imagen es
mapeada. Estas coordenadas 2D se llaman UVs y a la operación de crear estos mapas UV se
conoce también como "despliegue" ("unwrap" en inglés), debido a que todo ocurre como si la
malla fuera desenvuelta o desplegada sobre un plano 2D. [52]
6.4. Edición de los modelos 3D
La creación de los modelos 3D es una tarea compleja y excede los alcances de la presente
investigación. Por ello se optó por utilizar modelos disponibles en la web, que permitieran
adaptarlos según los requerimientos de la aplicación educativa. Los modelos obtenidos se
encontraban en los formatos: .skp (SketchUp) y .3ds (3D Studio).
Como la intención es utilizar Blender, se necesita exportar cada archivo .skp a uno que sea
admitido, que bien podría ser 3ds. A continuación se detallarán los pasos a seguir para
exportar los archivos .skp:
1. Se necesitará tener instalado SketchUp, que puede descargarse gratuitamente desde la
página: http://www.sketchup.com/es/download. Una vez dentro de la aplicación, ir a menú
File Import…, y a continuación seleccionar el modelo a ser importado.
Figura 5.4: Importar modelos 3D con SketchUp
2. Una vez importado el modelo, se lo puede visualizar:
86
Figura 5.5: Modelo importado con SketchUp
3. Para exportarlo seleccionar desde el menú File Export 3D Model, y en tipo de archivo
guardarlo como .3ds.
Figura 5.6: Exportar modelos 3D con SketchUp
4. Si el proceso se concretó con éxito, se podrá ver el detalle de lo exportado. Se debe tener en
cuenta que en el caso de modelos complejos, la aplicación puede tardar algunos minutos e
incluso no responder durante el proceso.
87
Figura 5.7: Detalle del modelo exportado con SketchUp
Una vez realizado esto con todos los modelos en formato .skp, se puede comenzar a trabajar
con Blender. A continuación, se describirá el proceso realizado para adaptar los modelos
encontrados a la aplicación. El manejo propio de Blender queda fuera de los alcances de ésta
investigación. Sin embargo se harán las aclaraciones pertinentes en caso de ser necesarias.
Desde la aplicación Blender, se pueden importar los modelos 3D. Lo primero que hay que
hacer para comenzar a trabajar, es eliminar el cubo que aparece al inicio.
Figura 5.8: Comenzar a trabajar con Blender
88
Posteriormente, para trabajar de forma más cómoda, se recomienda seleccionar una capa
distinta a la de la cámara. Esto es para que cuando se quiera seleccionar todo, se pueda
delimitar bien el modelo de la cámara, luces, etc. Esto se puede hacer haciendo clic en otra
capa como muestra la siguiente figura.
Figura 5.9: Selección de una capa distinta a la de la cámara en Blender
A partir de ahora se puede importar el modelo 3D, seleccionando del menú File Import
3D Studio (.3ds). Luego seleccionar el archivo del modelo 3D.
Figura 5.10: Importar modelo 3D en Blender
89
Si el modelo se importa de forma correcta se lo puede visualizar en la capa seleccionada
previamente:
Figura 5.11: Modelo 3D importado
Es posible modificarle la posición, escala, etc. Si bien el modelo parece ilustrativo visto a
través de Blender, no lo es tanto una vez renderizado en una aplicación de Realidad
Aumentada, ya que ni siquiera puede apreciarse que se trata de un objeto en tres dimensiones.
Por ello es necesario crearle una textura. Como se estudió anteriormente la forma más
apropiada es a través del Mapeado UV, “pintando” el modelo. La imagen que se crea
posteriormente será la textura del modelo.
El modelo de ejemplo es un esqueleto humano y cada hueso es a su vez un objeto 3D con su
propia malla. El proceso que se explicará a continuación se debió realizar por cada hueso.
Como primer paso, en modo Objeto (Object Mode) seleccionar el hueso a pintar.
90
Figura 5.12: Selección de objeto 3D
Posteriormente, en Modo Edición (Edit Mode), indicar que se van a seleccionar las aristas de
la malla. Esto se realiza porque se tiene que indicar los cortes que debe tener la malla para
luego desenvolverla (unwrap).
Figura 5.13: Selección de aristas de la malla
A continuación marcar todos los cortes que deberá tener la malla (resaltados en color verde).
Se recomienda que sean lo más cercano a los bordes de la forma del objeto.
91
Figura 5.14: Marcando los cortes de la malla
Una vez definidos los cortes, asignarle un nombre en el área de UV Maps (en el ejemplo:
cubito_i). A continuación seleccionar toda la malla para posteriormente desenvolverla:
92
Figura 5.15: UV Maps
Blender permite tener disponible de forma visible varias ventanas. Esto resulta muy útil para
no tener la necesidad de andar cambiando de ventana. Se puede disponer entonces de un panel
de UV/Image Editor debajo del panel actual (3D View), donde se puede desenvolver la malla.
De esta forma se tiene a la vista los dos paneles:
Figura 5.16: UV/Image Editor
En el panel UV/Image Editor seleccionar UVs Unwap, o bien presionar la tecla E, y la
malla se desenvolverá:
93
Figura 5.17: Unwrap con Blender
Una vez realizado el paso anterior guardarla, dejando tildada la opción UV Grid. Luego se
puede volver al panel 3DView y seleccionar Texture Paint para crear la textura deseada.
Figura 5.18: Texture Paint con Blender
Como se muestra en la figura siguiente, se puede texturizar el modelo según la forma y el uso
que se le dará.
94
Figura 5.19: Creación de la textura
Como pudo observarse el modelo ya se encontraba terminado al momento de comenzar a
explicar los pasos a realizar. De todas formas, se pudieron recrear los pasos para poder
explicar el procedimiento realizado.
Finalmente, como Panda3D necesita que los modelos se encuentren en formato .egg, se debe
utilizar la utilidad que ofrece este motor: 3ds2egg.py
Esta utilidad convierte los modelos 3D en formato .3ds a .egg, sólo se debe pasar como
parámetro el modelo .3ds y ejecutar el siguiente comando de ejemplo:
$ python 3ds2egg.py esqueleto.3ds
95
Capítulo 7
7. Aplicación educativa desarrollada
Este capítulo estará dedicado a la aplicación desarrollada, que consiste en un Atlas interactivo
con Realidad Aumentada para la enseñanza del cuerpo humano.
En los capítulos anteriores se fueron documentando las distintas herramientas que se
encuentran disponibles, y las que se utilizaron para el desarrollo de la aplicación. Como no
fue una tarea sencilla la selección de estas herramientas, se evaluaron todas las características
de cada una de ellas. Para elegir las herramientas se tuvieron en cuenta las siguientes
características: distribución bajo una licencia libre, buena documentación para su utilización,
existencia de foros de consultas y dudas, funcionamiento bajo Linux y en particular Debian 7
(Wheezy); y en lo posible que se encuentre madura en su ámbito de aplicación.
Una vez finalizada la primera etapa, que consistió en investigar sobre Realidad Aumentada y
sobre su funcionamiento, se concluyó que se necesitaba una librería para poder realizar el
tracking de los marcadores y de la cámara, un motor de renderizado para poder mostrar los
objetos 3D superpuestos a la imagen captada por la cámara, en la posición de los marcadores
detectados; y una herramienta para poder crear estos contenidos en tres dimensiones.
A lo largo de este capítulo se explicará cómo se integraron las distintas herramientas para
crear el Atlas interactivo con Realidad Aumentada, como así también, todas las
características, requerimientos, instalación y funcionamiento de la aplicación.
7.1. Herramientas utilizadas
A grandes rasgos, una aplicación que haga uso de Realidad Aumentada con tracking visual
basado en marcas, debe realizar las siguientes acciones:
1. Detectar y reconocer una marca.
2. Fijar la posición de un objeto 3D sobre la marca detectada.
3. Renderizar un objeto 3D sobre la posición fijada.
Para realizar las dos primeras acciones se utilizó ARToolKit. Sus características, instalación y
funcionamiento fueron estudiados en el capítulo 4 de este documento.
96
Para realizar la tercer acción fue necesario contar con un motor de renderizado, y se utilizó
Panda 3D. Sus características, instalación, y pruebas realizadas, fueron documentadas en el
capítulo 5, sección 3. Antes de encontrar y decidir utilizar Panda3D se probó usar OpenGL y
OGRE3D.
OpenGL es una API de bajo nivel. Debido a la complejidad de conocer su pipeline gráfico,
fue conveniente usar una librería que evite trabajar directamente con ella, además excedía los
alcances de la tesina.
Después de descartar utilizar OpenGL de forma directa, se comenzó a probar OGRE3D; pero
la implementación de algunas funcionalidades se complicaban en exceso sin tener la
posibilidad de conseguir documentación o ayuda al respecto, tanto en la página oficial o foros
relacionados a OGRE3D. Se llegó a la conclusión de que aunque funciona bien como motor
de renderizado 3D, no se encuentra madura para integrarla con ARToolKit en funciones
complejas como reconocimiento y detección de múltiples marcadores. Los resultados de las
pruebas se encuentran en el capítulo 5 sección 2. Con los obstáculos encontrados con
OGRE3D, comenzó una nueva búsqueda de un motor de renderizado, se halló y finalmente se
utilizó Panda3D.
El código de la aplicación fue escrito en lenguaje Python y se desarrolló bajo Linux, más
precisamente sobre Debian 7 (Wheezy). Tanto ARToolKit como Panda3D son
multiplataforma, por lo que es posible desarrollar versiones de ésta aplicación para otras
plataformas, lo que queda fuera del alcance de ésta tesina.
Como se estudió en el capítulo 2 dedicado a la tecnología de Realidad Aumentada, es
requisito para que se considere como tal, incorporar al mundo real objetos virtuales en tres
dimensiones (3D). Si bien los modelos utilizados por el Atlas se obtuvieron de internet, fue
necesario crearles textura para que representen lo que se pretendía. Para lograr esto fue
necesario utilizar una herramienta para la creación y edición de modelos 3D, y se eligió
Blender. El capítulo 6 fue dedicado al estudio de las características de esta herramienta,
haciendo foco en la técnica de Mapeado UV, utilizada para crear las texturas sobre los
modelos 3D obtenidos.
7.2. Requerimientos de sistema
Para poder ejecutar la aplicación del Atlas interactivo con Realidad Aumentada, se debe
contar con una computadora que posea mínimamente las siguientes características:
97
2 GB de Memoria RAM
Procesador Core 2 Dúo 2.5 Ghz
Contar con una Cámara Web. No es necesario que sea integrada.
Siguiendo las explicaciones anteriores, como primer requerimiento de software se debe tener
instalado el sistema operativo Debian 7 (Wheezy), y el lenguaje Python en su versión 2.7.3 o
superior.
También se debe instalar ARToolKit (versión 2.72.1 o superior) y Panda3D (versión 1.8.1 o
superior). La instalación de estas herramientas sobre la plataforma mencionada, fue explicada
en el capítulo 4 sección 3, y capítulo 5 sección 3, respectivamente.
Luego de haber instalado ARToolKit, es recomendable realizar la calibración de la cámara
que se va a utilizar. Los pasos a seguir para realizar esta tarea, fueron descriptos en el capítulo
4 sección 4.
7.3. Anatomía con Realidad Aumentada (ARA)
ARA fue desarrollada con el objetivo de mostrar que es posible crear una herramienta que
pueda ser utilizada por el docente como apoyo didáctico, con el valor agregado de usar una
tecnología emergente como lo es la Realidad Aumentada, que resulta ser novedosa e
interesante para el usuario, en este caso, el estudiante.
Como se mencionó anteriormente, durante su desarrollo se fueron probando librerías de
software libre, ya que fue uno de los objetivos planteados al inicio. Como resultado se logró
una aplicación educativa que utilizó en su totalidad software libre, no sólo referido a las
librerías de ARToolKit y Panda3D, sino también a otras aplicaciones muy importantes que
permitieron la edición de los modelos 3D, elementos para la GUI (Graphical User Interface),
y la creación de los marcadores personalizados de la aplicación, como son Blender y Gimp.
ARA brinda dos modos de uso, en los que se puede interactuar con los modelos 3D de
anatomía: el modo APP y el modo ARBook.
98
El modo APP está pensado para el contexto de una clase, en el que el estudiante puede recibir,
mientras se encuentra en contacto con la tecnología de Realidad Aumentada, explicaciones e
indicaciones por parte del docente. La aplicación no permite que el estudiante pierda contacto
con el entorno real que lo rodea, en este caso, la clase del docente. Esta característica resulta
ser fundamental para poder utilizar ARA en el ámbito escolar, ya que el alumno al estar
siempre en contacto con el mundo real, le atribuye un valor de veracidad a los contenidos con
los que interactúa que hace que el aprendizaje sea creíble y significativo. Otra característica
importante, es que fomenta la participación de todos los estudiantes al permitir realizar una
actividad en la que todos experimentan y pueden debatir sobre ella.
Otro posible uso del modo APP, es directamente por parte del docente, que puede ir
explicando los contenidos a sus alumnos, al mismo tiempo que interactúa con los modelos 3D
de anatomía. Utilizar ARA como recurso pedagógico, permitirá que sus explicaciones sean
más atractivas, entretenidas, claras, dinámicas y que puedan asimilarse mejor por parte de los
estudiantes. En el marco de una clase, al mismo tiempo que expone los conceptos sobre el
cuerpo humano, realiza indicaciones y explicaciones sobre los objetos que representan los
distintos órganos. Este tipo de interacción, permite una exploración espacial que tiene un nivel
similar a la que se logra cuando se interactúa con réplicas de los distintos órganos, con el
valor agregado de utilizar la tecnología de Realidad Aumentada que resultará interesante y
motivará desde el principio al estudiante.
El modo ARBook fue pensado para que el estudiante pudiera utilizarlo para el estudio de los
conceptos del cuerpo humano en sus respectivos hogares. Si bien el ARBook contiene una
breve reseña de cada sistema, lo que se pretende mostrar es que el aprendizaje a través de un
libro que se pueda utilizar con Realidad Aumentada, siempre resultará mucho más rico,
comparado con libros que ilustren lo mismo pero con imágenes convencionales en 2D.
Asimismo, al interactuar con modelos que representen los distintos sistemas del cuerpo
humano, la asimilación de los conceptos será mucho más concreta, ya que el estudiante no
tendrá que imaginarlos de forma abstracta. Cuando esto sucede, se logra un aprendizaje
significativo y contextualizado a través de la experiencia sensorial de explorar desde todas las
perspectivas objetos virtuales que reproducen los distintos órganos de anatomía.
99
7.3.1. Instalación
Para comenzar a utilizar la aplicación, sólo se debe descomprimir el archivo ARA.zip. Se
debe tener en cuenta que previamente se debe contar con todo lo requerido por la sección 7.2
del presente capítulo.
Una vez descomprimido el archivo se creará el directorio de la aplicación.
7.3.2. Estructura de la aplicación
A continuación se en términos generales, la estructura de la aplicación.
Dentro del directorio de la aplicación, se encuentra:
Un directorio llamado data, que contiene:
o Un subdirectorio patterns conteniendo los archivos .patt, que son los
descriptores de los marcadores reconocidos por la aplicación, tanto para el
modo APP y el modo ARBook. También se incluyen por cada marcador, un
archivo en formato .png para imprimir.
o Un subdirectorio models en el cual se encuentran los modelos 3D que
representan los distintos sistemas u órganos del cuerpo humano, con sus
correspondientes texturas generadas con la técnica de UV Mapping. Además se
incluye el archivo 3ds2egg.py, que fue utilizado para exportar los modelos
desde su formato original .3ds, al formato .egg soportado por Panda3D.
o Un subdirectorio agilemenu que contiene los estilos que son utilizados por el
menú opcional de la aplicación.
o Un subdirectorio camera que contiene el archivo camera_para.dat, el cual
especifica los parámetros de configuración de la cámara web.
o Un subdirectorio images en el cual se ubican las imágenes de los iconos,
botones, logo, etc., utilizados por la GUI (Graphical User Interface).
o Un subdirectorio fonts que contiene las fuentes utilizadas por el menú
opcional.
100
Un paquete denominado agilemenu, que contiene los módulos utilizados para
desarrollar la primera versión del menú de la aplicación. Esta versión se dejó a modo
de menú opcional, y puede cambiarse desde el archivo config.py.
Un paquete denominado newmenu, que aloja los módulos utilizados para desarrollar
la versión definitiva del menú de la aplicación.
Un paquete denominado directwindow, que contiene los módulos para el manejo de
ventanas de la aplicación. Estos módulos permitieron utilizar ventanas o diálogos, de
tipo popup, para mostrar la ayuda y la reseña de la aplicación.
Los siguientes módulos específicos de la aplicación:
o ara.py: Tiene la finalidad de iniciar la aplicación.
o models.py: Contiene la definición de las clases principales de la aplicación, y
de funciones de utilidad. Una de las clases es ARObject, que representa a los
modelos 3D de anatomía, especifica sus atributos como así también las
funciones para modificar su posición, escala, orientación, cargar los modelos y
poder ocultarlos. Otra clase importante es MyWebcam, que representa a la
cámara web, con su configuración y funcionalidad.
o config.py: Contiene la configuración de la aplicación. Permite especificar,
entre otras cosas, si los modelos 3D se cargan todos al principio de la
aplicación o a medida que se necesiten; la ubicación de los parámetros de
configuración de la cámara web, de los modelos 3D y ubicación de los iconos
y estilos del menú. Se especifican los marcadores a ser reconocidos por la
aplicación y su tamaño. También se define en este módulo, los valores iniciales
de cada modelo 3D, en cuanto a escala, posición, rotación; el marcador
asociado para el modo ARBook, etc.
o gui.py: Define las clases y funciones de utilidad, relacionadas a la interfaz
gráfica. Contiene la clase principal AnatomyApp, que representa en sí a la
GUI, y se encarga de iniciar la cámara web, cargar los modelos 3D de
anatomía, la iluminación del ambiente, controles de la GUI y manejo de
eventos, vinculación de modelos 3D y marcadores, y mostrar los modelos 3D
cuando los marcadores correspondientes son detectados.
7.3.3. Arquitectura de ARA
101
La aplicación se desarrolló bajo el lenguaje de programación Python, siguiendo el paradigma
orientado a objetos, debido a que es el que mejor se adapta a la finalidad de la misma.
La siguiente figura ilustra la arquitectura general de ARA:
Figura 7.1: ARA: Arquitectura de la aplicación
Como puede verse en la figura 7.1, la aplicación cuenta con tres módulos centrales: gui.py,
config.py y models.py, descriptos a grandes rasgos en la sección anterior. A continuación se
describirán los detalles de implementación más relevantes.
El módulo gui.py cuenta con la clase principal AnatomyApp, que representa a la GUI de la
aplicación. Dicha clase extiende (en términos de herencia), a la clase
direct.showbase.ShowBase de Panda3D, cargando así muchos otros módulos necesarios del
motor 3D. En particular, la clase ShowBase provee el método run, que provoca que la
aplicación entre en el bucle principal, mostrando una ventana en donde se representará la
escena 3D. Es importante destacar que la clase ShowBase es esencial, debido a que a través de
ella se construyen las aplicaciones basadas en Panda3D. Además, abstrae al programador de
cualquier sistema de ventanas concreto.
El bucle principal se encarga de mostrar la escena 3D, frame a frame, de forma indefinida, y
además ejecutar tareas de fondo específicas que se hayan programado.
ARToolKit
APIs
Sistema Operativo (Debian Wheezy)
OpenGL
GLUT Bibliotecas de
Video
Panda3D
models.py config.py gui.py
Driver Tarjeta 3D Driver Cámara Web
vision.ARToolKit
102
Otro detalle importante de la clase ShowBase, es que permite acceder al gestor de tareas
provisto por Panda3D. Las tareas no son más que métodos que serán llamados en cada frame
de la aplicación. Se menciona esta característica debido a que en ARA se ha agregado a este
gestor una única tarea, que está relacionada a ARToolKit, y en especial a la detección de los
marcadores.
Para finalizar con la clase AnatomyApp, hay que decir la misma se encarga de inicializar todos
los componentes integrantes de la GUI, como ser el menú, los botones de funcionalidad, la
cámara web, los modelos 3D de anatomía, el módulo de ARToolkit para la funcionalidad de
Realidad Aumentada, y hasta el registro de la captura de eventos referentes a los atajos del
teclado. Esta inicialización se produce antes de la ejecución del método run (heredado de
ShowBase).
En cuanto a la funcionalidad de Realidad Aumentada ofrecida por la aplicación, es importante
mencionar que ARToolKit no fue utilizado directamente, sino a través de la API en Python
ofrecida por Panda3D, más precisamente a través de la clase ARToolKit del paquete vision.
Esta clase provee tres métodos esenciales (entre otros):
make: Crea una instancia de ARToolKit, configurada con el tamaño de los
marcadores a utilizar, y asociada a la webcam (de acuerdo al archivo que contiene los
parámetros intrínsecos de la misma).
attachPattern: Método que permite asociar cada modelo 3D a un marcador
específico.
analyze: Analiza un frame, y si detecta alguno de los marcadores asociados a la
aplicación, provoca la renderización del modelo 3D correspondiente.
El método analyze es el que se ha agregado al gestor de tareas de Panda3D en ARA, a través
de la clase AnatomyApp (que como se dijo antes, extiende de ShowBase), con el fin de que en
cada frame capturado por la webcam, se traten de detectar los marcadores creados
específicamente para esta aplicación, y así renderizar los modelos 3D de anatomía
correspondientes.
En el módulo models.py, se destacan las clases ARObject y MyWebcam. La clase ARObject
representa los modelos de anatomía, y contiene atributos relacionados al modelo 3D
correspondiente, y su posición y rotación particular dentro de la escena 3D.
103
En referencia a la clase MyWebcam, hay que mencionar que contiene atributos que definen su
configuración, relacionados a las resoluciones disponibles, la resolución en uso, y el archivo
de configuración con los parámetros intrínsecos de la misma (generado a través del proceso
de calibración descripto en el capítulo 4). Además provee métodos para iniciar y detener la
captura, como también para realizar el cambio de resolución. Es importante destacar en este
punto, que el acceso a la webcam se realiza a través de la clase WebcamVideo del paquete
panda3d.vision, provisto por Panda3D. Esta clase abstrae al programador de los detalles
particulares de la webcam y de los drivers requeridos, presentando una interface de alto nivel.
También es importante destacar que el flujo de video capturado por la webcam, conforma la
escena principal de la aplicación. Dicho flujo de video se transforma en textura a través de la
clase MovieTexture del paquete panda3d.core de Panda3D. La textura generada es utilizada
como fondo de la escena 3D, representada en la ventana generada al ejecutar el método run de
la clase AnatomyApp.
En cuanto al módulo config.py, como ya se ha mencionado, contiene la configuración general
de la aplicación.
7.4. ARA: Características y funcionamiento
Para iniciar la aplicación, desde una terminal se debe ejecutar el siguiente comando:
$python ara.py
Una vez iniciada la aplicación, se podrá visualizar de la siguiente manera:
104
Figura 7.2: ARA
Al principio, la aplicación ofrece dos modos de uso:
Modo APP.
Modo ARBook.
En el Modo APP se podrán visualizar los modelos, de a uno a la vez y utilizando un solo
patrón, seleccionándolos a través de un menú.
En el Modo ARBook se debe utilizar como soporte, el libro que forma parte del anexo del
presente documento. Este libro contiene explicaciones de cada sistema del cuerpo humano,
acompañadas por patrones específicos sobre los que se posicionarán los modelos 3D
correspondientes. Como cada modelo está asociado a un único patrón, se podrá experimentar
la detección de múltiples patrones que ofrece ARToolKit.
Cabe destacar que se podrá cambiar de modo desde el menú Configuración cuando el usuario
lo desee.
105
A continuación se explicará con más detalle, el funcionamiento de los distintos modos de uso
de la aplicación.
7.4.1 Modo App
Como se mencionó, en este modo de ejecución se utiliza un único patrón (o marca), para
visualizar los modelos 3D. El usuario tiene la libertad de elegir desde el menú, el modelo de
anatomía a visualizar, y cambiarlo en el momento que lo desee. Por esta razón podría decirse
que es un modo de ejecución libre. El patrón a utilizar es el siguiente:
Figura 7.3: ara.patt
En la siguiente imagen, se puede observar el menú sobre el margen superior de la ventana de
la aplicación.
106
Figura 7.4: ARA en Modo APP: menú Cuerpo humano
Figura 7.5: ARA en Modo APP: menú Cuerpo humano, Esqueleto
107
Figura 7.6: ARA en Modo APP: menú configuración
Figura 7.7: ARA en Modo APP: atajos del teclado
108
Es importante destacar que para obtener las imágenes, se utilizó la función de captura de
pantalla de la aplicación, accesible a través del atajo del teclado (tecla F4).
Sobre el margen izquierdo de la pantalla, se ubican los botones con la siguiente funcionalidad:
realizar capturas de pantalla:
para cambiar de modelo (sólo accesible en modo App), anterior o siguiente:
para modificar el tamaño (escala) del objeto 3D:
para rotar el objeto 3D:
salir de la aplicación:
Si bien cuando se posicione el objeto 3D sobre el marcador detectado, será en función del eje
de coordenadas establecido sobre este último, para poder visualizar el objeto desde todas sus
perspectivas el usuario puede mover el marcador o bien utilizar los botones que ofrece la
aplicación. Esto último, modifica la posición del modelo 3D que se está visualizando con
respecto a las coordenadas sobre el eje del marcador.
Para visualizarse en un tamaño mayor se puede utilizar como atajo la tecla +. Para disminuir
el tamaño, el atajo es la tecla -.
Para rotar el objeto pueden utilizarse las teclas de dirección.
Como se mencionó anteriormente, para realizar una captura de pantalla se puede utilizar como
atajo la tecla F4.
En cuanto al menú, se cuenta con las siguientes opciones:
Cuerpo humano: Disponible sólo en el modo App. Despliega todas las opciones de
modelos del Atlas:
o Esqueleto: Contiene el esqueleto humano en su totalidad, y de forma individual
los siguientes grupos de huesos con sus respectivos nombres:
Esqueleto completo
Cráneo.
Columna Vertebral.
Costillas.
109
Extremidades superiores.
Mano.
Extremidades inferiores.
Pie.
o Sistema muscular: Consiste en un modelo 3D que ilustra los distintos músculos
del cuerpo humano.
o Sistema nervioso: Cerebro. Consiste en un modelo 3D, en el que se identifican
sus partes.
o Sistema circulatorio: Corazón. Consiste en un modelo 3D, en el que se
identifican sus partes.
o Sistema digestivo. Consiste en un modelo 3D, en el que se identifican sus
órganos.
o Sistema respiratorio. Consiste en un modelo 3D, en el que se identifican sus
órganos.
o Sistema urinario. Consiste en un modelo 3D, en el que se identifican sus
órganos.
Configuración: Comprende las siguientes herramientas:
o Modo: Permite cambiar el modo de ejecución de la aplicación. Modos
disponibles: App y ARBook.
o Modelos del cuerpo humano: Permite mostrar los modelos con las referencias
o sin ellas.
o Mostrar/ocultar menú [F2]: Sirve para dejar visible o no el menú. Dado que es
importante contar con espacio dentro de la ventana de la aplicación, con el fin
de visualizar mejor los objetos 3D, resulta práctico poder ocultarlo cuando no
se lo precise. Se puede utilizar como atajo la tecla F2.
o Mostrar/ocultar botones [F3]: Sirve para dejar visibles o no los botones, por la
misma razón explicada en el inciso anterior. Se puede utilizar como atajo la
tecla F3.
Y las herramientas para controlar la cámara web:
110
o Iniciar/detener captura: apaga o enciende la cámara web.
o Resoluciones: despliega un submenú, que permite modificar la resolución de la
cámara.
Ayuda:
o Atajos: ofrece una guía rápida sobre las teclas que pueden utilizarse como
atajos (figura 7.7).
o Acerca de: breve reseña de la aplicación y sus autores.
Cuando se modifique el tamaño o se rote un objeto 3D, estas modificaciones sólo afectarán a
cada objeto en particular.
A continuación se ilustrará el funcionamiento con alguno de los modelos:
Figura 7.8: Esqueleto humano completo
111
Figura 7.9: Esqueleto humano: Extremidad inferior
112
Figura 7.10: Sistema circulatorio: corazón, vista inferior
Figura 7.11: Sistema circulatorio: corazón, vista frente-lateral
113
Figura 7.12: Sistema Digestivo
Figura 7.13: Sistema muscular, vista frente-superior
114
Figura 7.14: Sistema muscular, vista posterior
Figura 7.15: Sistema respiratorio
115
Figura 7.16: Sistema Urinario
7.4.2. Modo ARBook
Como se mencionó en la introducción del apartado 7.4, este modo de ejecución se soporta en
un libro diseñado con diferentes marcadores, cada uno de ellos relacionado a un único modelo
3D de anatomía y acompañado de información referente al sistema del cuerpo humano que
representa.
Al igual que en el modo App, se cuenta con un menú ubicado sobre el margen superior de la
ventana de la aplicación, como ilustra la siguiente imagen. La principal diferencia estriba en
que no se dispone del submenú Cuerpo Humano.
116
Figura 7.17: ARA: Modo ARBook
Figura 7.18: ARA: Modo ARBook. Menú configuración.
117
En este modo, ya no es posible seleccionar los modelos a través del menú, ya que se debe
utilizar el libro que contiene los patrones.
En cuanto a los botones de funcionalidad, se mantienen en su mayoría, excepto aquellos que
servían para cambiar de modelos.
Figura 7.19: ARBook: portada
En los submenús de Configuración y Ayuda, se mantienen las opciones explicadas en el modo
APP (figura 7.18).
A continuación se ilustrará el funcionamiento con alguno de los modelos:
118
Figura 7.20: Esqueleto humano completo
Figura 7.21: Esqueleto humano: cráneo, vista frontal.
119
Figura 7.22: Esqueleto humano: pie
Figura 7.23: Sistema nervioso: cerebro, vista frontal.
120
Figura 7.24: Sistema muscular
7.5. Sistema de control de versiones
Durante el desarrollo de la aplicación se utilizó Mercurial, para controlar los cambios en el
código. Mercurial es un sistema de control de versiones multiplataforma, para desarrolladores
de software. Está implementado principalmente haciendo uso del lenguaje de programación
Python, pero incluye una implementación binaria de diff escrita en C.
Mercurial fue escrito originalmente para funcionar sobre GNU/Linux. Ha sido adaptado para
Windows, Mac OS X y la mayoría de otros sistemas tipo Unix. Mercurial es, sobre todo, un
programa para la línea de comandos. Todas las operaciones de Mercurial se invocan como
opciones dadas a su programa motor, hg (cuyo nombre hace referencia al símbolo químico del
mercurio).
Las principales metas de desarrollo de Mercurial incluyen un gran rendimiento y
escalabilidad; desarrollo completamente distribuido, sin necesidad de un servidor; gestión
robusta de archivos tanto de textos como binarios; y capacidades avanzadas de ramificación e
integración, todo ello manteniendo sencillez conceptual. Incluye una interfaz web integrada.
121
El creador y desarrollador principal de Mercurial es Matt Mackall. El código fuente se
encuentra disponible bajo los términos de la licencia GNU GPL versión 2, lo que clasifica a
Mercurial como software libre. [54]
122
Capítulo 8
8. Conclusiones, aportes y trabajos futuros
Como se ha estudiado en el presente trabajo, la Realidad Aumentada es un medio en el cual,
la información digital se superpone en el mundo físico real, de forma tal que se mantiene una
correspondencia tanto espacial como temporal con el mismo. La principal diferencia entre
Realidad Aumentada y Realidad Virtual reside en el espacio de interacción con el usuario;
mientras que en la primera es el mundo real, en la segunda es un mundo totalmente virtual.
Cabe mencionar que la Realidad Aumentada es una tecnología interactiva en tiempo real, que
permite recurrir a muchos de nuestros sentidos, aunque en la actualidad se la considera
principalmente como un medio visual. Su ámbito de aplicación es amplio y variado, e incluye
a la educación, el entretenimiento, la medicina y otras muchas áreas.
La motivación que generó estudiar, investigar y aprender una tecnología novedosa y
emergente como lo es la Realidad Aumentada, permitió perseguir y alcanzar el objetivo
principal propuesto para la presente tesina, de desarrollar una aplicación que haga uso de ella.
El ámbito de aplicación elegido fue la educación. Se creó una nueva herramienta de
enseñanza de los conceptos del cuerpo humano, que puede ser utilizada por el docente como
recurso pedagógico. Este atlas, bautizado con el nombre de ARA (Anatomía con Realidad
Aumentada), permite al estudiante interactuar con objetos 3D que representan los distintos
sistemas u órganos del cuerpo humano.
ARA puede ser considerada una aplicación de Realidad Aumentada, ya que cuenta con las
siguientes tres características, que según Ronald Azuma, son fundamentales en sistemas que
se basan en esta tecnología:
1. Combina mundo real y virtual, dado que la cámara web obtiene imágenes del
ambiente en el cual se encuentra el usuario, y cuando se detecta alguna de las marcas
(patrones) definidas en la aplicación, se muestra el objeto 3D asociado, representando a
un sistema u órgano del cuerpo humano.
2. Es interactiva en tiempo real, debido a que los modelos 3D del cuerpo humano, se
mezclan con el mundo real (captado por la cámara web) en el mismo instante en que se
reconoce la marca correspondiente, permitiendo al usuario apreciar desde diferentes
puntos de vistas y en tiempo real, los mencionados modelos.
123
3. Realiza una correcta alineación 3D, debido a que los modelos 3D del cuerpo humano
se superponen con el mundo real, alineándose correctamente con el mismo, gracias a la
capacidad de la aplicación de calcular las posiciones de los patrones detectados y de la
cámara web, respecto del espacio real.
Además de las características mencionadas, ARA posee los cuatro elementos que son
necesarios para el correcto funcionamiento de esta tecnología: elemento capturador (cámara
web), elementos de situación (marcadores o patrones), elemento procesador (aplicación en sí
misma integrada con ARToolkit), y elemento sobre el cual proyectar (pantalla de la PC donde
se ejecute la aplicación).
En cuanto al ámbito educativo, se puede decir que las aplicaciones de Realidad Aumentada
constituyen un buen complemento para los métodos tradicionales de enseñanza, debido a que
los contenidos (objeto de estudio), se proyectan de un modo muy sugerente e interesante para
el estudiante, motivándolo a adquirir conocimiento y profundizar en conceptos y teorías más
avanzadas.
El modo de interacción que ofrece la Realidad Aumentada, favorece la utilización de este tipo
de herramientas en el aula, debido a que el alumno no pierde el contacto con el mundo real,
permitiendo la recepción de instrucciones por parte del docente para que le guíe en el
desarrollo de una tarea. Cabe recordar en este punto, que en las experiencias de Realidad
Aumentada, el sujeto se encuentra interaccionando a tres niveles: el nivel real, el nivel virtual
y su nivel intrapersonal (cognitivo). Las experiencias a esos tres niveles permitirán convertir
la información en verdadero conocimiento que le permita mejorar sus competencias
personales, ayudándole a resolver problemas que se puedan plantear en la vida real.
Esta tecnología permite crear un espacio en el que se interactúa con objetos reales y a la vez
con objetos virtuales, todos ellos permiten revisar los aprendizajes anteriores, reestructurando
el pensamiento, dando sentido a aquello que se percibe del mundo exterior. Esto mejora la
asimilación de la información, resultando mucho más concreta de lo que supone tener que
imaginarla en su totalidad, de una forma más abstracta. Se puede considerar que se produce el
paso de la abstracción al aprendizaje significativo y contextualizado, adquirido a través de
múltiples experiencias sensoriales. Es importante destacar además, que el tipo de interacción
que ofrece la Realidad Aumentada atribuye un valor de veracidad que permite hacer mucho
más creíbles y significativos los aprendizajes.
124
En referencia a los objetos 3D utilizados en aplicaciones de Realidad Aumentada, posibilitan
una exploración espacial que no permiten otros medios de representación en 2D. El nivel de
abstracción que se exige en este último caso dificulta que algunos estudiantes puedan entender
realmente el espacio tal y como es. Además, manipular objetos virtuales como si fuesen reales
puede mejorar la comprensión y, de este modo, avanzar en el conocimiento de ciertos
procesos o fenómenos. Otra ventaja de los objetos virtuales es que reproducen objetos reales
que, debido a diversas circunstancias como pudieran ser el tamaño, el coste, la peligrosidad o
la distancia, no podrían ser manipulados de manera real.
Lo expuesto se puede encuadrar en dos teorías interdependientes: Teoría del aprendizaje
situado y Teoría del aprendizaje constructivista. La primera propone la existencia de una
relación entre el aprendiz y el contexto, que se estructura sobre una base práctica, por ello,
para que el aprendizaje sea efectivo, el aprendiz debe estar activamente envuelto en un diseño
de instrucción real. La segunda, que se inspira en la psicología constructivista, sostiene que
para que se produzca aprendizaje, el conocimiento debe ser construido o reconstruido por el
propio sujeto, que aprende a través de la acción. Esto significa que el aprendizaje no es
aquello que simplemente se pueda transmitir.
Durante el desarrollo de ARA, y de esta tesina en general, se han investigado y evaluado
diferentes lenguajes, toolkits, y software de modelado 3D, con el fin de elegir aquellas
herramientas que mejor se adapten a los objetivos propuestos.
ARToolkit es la librería que se utilizó para dar la funcionalidad de Realidad Aumentada a la
aplicación. Ofrece una API simplificada y fácil de utilizar, que en resumen, emplea métodos
de visión por computadora, aplicándolos a un flujo de video captado por una cámara, para
realizar el tracking de marcas negras cuadradas en tiempo real. Es una biblioteca muy madura
en este campo, y se pueden destacar las siguientes características: permite el tracking de una
cámara, soporta gran variedad de modelos de cámaras, emplea métodos de tracking de
superficies planas de 6 grados de libertad, es multiplataforma, posee una comunidad activa
detrás del proyecto, y se distribuye bajo licencia GPL v2. Aunque originalmente fue
desarrollada en el lenguaje de programación C, existen APIs para diferentes lenguajes de
programación.
125
Si bien ARToolkit es una pieza fundamental, no ofrece mecanismos para el tratamiento de los
objetos 3D a superponer en el entorno captado por la cámara. Por este motivo fue necesario
investigar herramientas que faciliten el renderizado de objetos 3D. Panda3D es el motor que
se eligió para realizar esta tarea. Esta herramienta Open Source multiplataforma, que se
distribuye bajo licencia BSD revisada, es un framework para renderizado 3D pensado para el
desarrollo de videojuegos. Su núcleo está desarrollado completamente en C++, lo cual lo hace
muy eficiente. La principal característica que influyó en su elección, fue la completa
integración que ofrece con ARToolkit y con Python, el lenguaje de programación utilizado
para el desarrollo de ARA. Otras características a destacar son las herramientas que ofrece,
como por ejemplo, para análisis de rendimiento, exploración de la escena gráfica, depuración,
3D audio, detección de colisiones, sistema de física, componentes para desarrollo de GUI,
inteligencia artificial, etc.
En cuanto al lenguaje de programación utilizado, Python posee una licencia de código abierto,
denominada Python Software Foundation License. Se puede decir que ha facilitado en gran
medida el desarrollo de la aplicación, por ser un lenguaje de alto nivel, multiparadigma,
destacable por su simplicidad y facilidad de aprendizaje.
Por último, como se ha mencionado en el capítulo correspondiente a ARA, si bien los
modelos 3D del cuerpo humano utilizados fueron obtenidos de internet, se requirió de una
herramienta de producción de contenidos 3D para crear las texturas que les dieran el aspecto
más parecido posible a la realidad, con el fin de lograr mostrar lo que se pretendía. Para ello
se utilizó Blender, un software multiplataforma distribuido bajo licencia GPL, dedicado
especialmente al modelado, iluminación, renderizado, animación y creación de gráficos
tridimensionales. Es una herramienta bastante madura en el campo del diseño gráfico, posee
una muy buena documentación con diferentes tutoriales, y está soportada por una comunidad
muy activa de desarrolladores.
Se puede concluir que todos los objetivos fijados al inicio de la tesina han sido alcanzados, y
el desarrollo en sí mismo del proyecto ha supuesto un gran aprendizaje para los autores, tanto
en el campo de Realidad Aumentada y el tratamiento de gráficos 3D, como también en
conceptos relacionados a los aportes que la misma, y las TIC en general, hacen a la educación.
126
8.1. Aportes de la investigación
ARA es una aplicación pensada para el nivel primario, pero puede ser utilizada en
nivel secundario dado que los mismos conceptos se profundizan.
La integración de las distintas librerías, y sobre todo la elección de las mismas no fue
una tarea sencilla. Por ello, su investigación y las pruebas realizadas también fueron
documentadas con la intención de que esta valiosa experiencia pueda servir de base
para futuros desarrollos.
Existen varios desarrollos realizados con librerías y sistemas operativos con licencia.
La aplicación educativa desarrollada utilizó en su totalidad software libre y
multiplataforma.
8.2. Trabajos futuros
A continuación se presentarán algunas posibles mejoras a realizar a la aplicación, que resultan
interesantes. También se proponen futuras líneas de investigación relacionadas, que han
quedado fuera del alcance de esta tesina:
Debido al uso de librerías multiplataforma, se podrían realizar las adaptaciones para
otros sistemas operativos.
En la actualidad existen muchos toolkits que se basan en ARToolKit, que podrían
utilizarse para realizar una aplicación educativa en dispositivos móviles.
Como mejoras directas sobre la aplicación educativa desarrollada (ARA), se podrían
incluir todos los sistemas del cuerpo humano y permitir la selección de sus
componentes mediante otro patrón que simule ser un puntero. Panda 3D es un motor
de videojuego por lo que esto último es viable utilizando esta librería. La selección de
algún órgano en particular puede resultar útil para mostrar información específica.
Utilizando las mismas tecnologías, otra aplicación interesante a desarrollar podría ser
alguna simulación que permita aprender o practicar alguna actividad. Cabe destacar
que tal vez, sean necesarios otros dispositivos para poder interactuar con Realidad
Aumentada como, por ejemplo, lentes de realidad aumentada y sensores, con el fin de
lograr que la experiencia sea más real.
127
Finalmente, como se estudió en el segundo capítulo, la tecnología de la Realidad
Aumentada es aplicable a muchos campos, por lo que este trabajo puede servir a
futuras líneas de investigación que utilicen las mismas librerías.
128
Glosario
A
Alpha blending
Es una técnica que permite crear objetos transparentes a través del proceso de combinar dos
objetos en pantalla, teniendo en cuenta los valores alfa que designa su grado de transferencia,
posibilitando así que el color del píxel del objeto mostrado en segundo plano se vea
influenciado por el grado de transparencia del píxel correspondiente al situado en primer
plano.
I
Iluminación
Se refiere a la tarea de situar objetos que irradien luz en una escena virtual y calcular las
sombras y colores resultantes en los objetos de su alrededor al incidir en ellos la luz.
M
Mapping (o mapeado normal)
Es la aplicación de una técnica 3D que permite dar una iluminación y relieve mucho más
detallado a la superficie de un objeto. Esta técnica es frecuentemente aplicada para los detalles
como pueden ser, por ejemplo, arrugas o poros.
P
PDA (Personal Digital Assistant)
Se refiere a una computadora de bolsillo, organizador personal o agenda electrónica de
bolsillo, es una computadora de mano originalmente diseñada como agenda personal
electrónica con un sistema de reconocimiento de escritura.
129
S
Shading
Consiste en obtener la representación del material del objeto, modelando las transformaciones
en las fuentes de luz, utilizando los vectores normales a los puntos de la superficie,
información de color, etc.
Seis grados de libertad
Se refiere al movimiento en un espacio tridimensional, es decir, la capacidad de moverse
hacia delante/atrás, arriba/abajo, izquierda/derecha (traslación en tres ejes perpendiculares),
combinados con la rotación sobre tres ejes perpendiculares: movimiento de guiñar,
movimiento de cabeceo, rodar). El movimiento a lo largo de cada uno de los ejes es
independiente de los otros, y cada uno es independiente de la rotación sobre cualquiera de los
ejes, el movimiento de hecho tiene seis grados de libertad.
R
Rasterización
Es el proceso por el cual una imagen descrita en un formato gráfico vectorial, se convierte en
un conjunto de píxeles o puntos para ser desplegados en un medio de salida digital, como una
pantalla de computadora, una impresora electrónica o una Imagen de mapa de bits (bitmap).
Renderización
Es el proceso de generar una imagen (imagen en 3D o una animación en 3D) a partir de un
modelo, usando una aplicación de computadora. El modelo es una descripción en tres
dimensiones de objetos en un lenguaje o estructura de datos estrictamente definidos. El
modelo debería contener geometría, punto de vista, textura e información de iluminación. La
imagen resultado de la renderización es una imagen digital (raster).
130
Renderizado en wireframe
Es el proceso de generar una imagen semitransparente a partir de un modelo, de la cual solo
se dibujan las aristas de la malla que constituye al objeto. Es decir, que sólo se debe tener en
cuenta las posiciones de los puntos en el espacio tridimensional y las uniones entre ellos para
formar los polígonos.
Resample (remuestreo)
Es el cambio en el número de píxeles de una imagen, y se aplica por upsample (aumentar el
número de pixeles) o downsample (reducir el número de pixeles).
T
Tracking visual
Es el proceso de localizar, identificar y determinar la configuración dinámica de uno o varios
objetos móviles en cada frame (o fotograma) de una o varias cámaras.
Transformación
Se refiere a la tarea de conversión de coordenadas en el espacio, la cual involucra el
movimiento de objetos 3D en un mundo virtual y la conversión de las coordenadas en 3D a
las coordenadas en 2D de pantalla.
Z
Z-buffering
Es la parte de la memoria de un adaptador de video encargada de gestionar las coordenadas de
profundidad de las imágenes en los gráficos en tres dimensiones (3-D)
131
Anatomía con Realidad Aumentada
Anexo I
132
El esqueleto: el armazón del cuerpo
El esqueleto sirve para sostener, dar forma al cuerpo y proteger órganos muy delicados. Está
formado aproximadamente por 206 huesos. Este número varía según las edades porque hay
huesos que están separados en la niñez y se sueldan en la edad adulta. Aunque cada hueso
es duro y rígido, el esqueleto en su totalidad es flexible y permite gran cantidad de
movimientos. Esto se debe a las fibras de tejido conectivo que unen a los huesos entre sí.
Funciones El conjunto organizado de huesos (u órganos esqueléticos) conforma el sistema esquelético. Este
sistema tiene varias funciones, entre ellas las más destacadas son:
133
Sostén mecánico: del cuerpo y de sus partes blandas funcionando como armazón que
mantiene la morfología corporal;
Mantenimiento postural: permite posturas como la de andar sobre las dos extremidades
inferiores;
Soporte dinámico: colabora para la marcha, locomoción y movimientos corporales
funcionando como palancas y puntos de anclaje para los músculos;
Contención y protección: de las vísceras, ante cualquier presión o golpe del exterior, como,
por ejemplo, las costillas al albergar los pulmones, órganos delicados que precisan de un
espacio para ensancharse,
Almacén metabólico: funcionando como moderador (tampón o amortiguador) de la
concentración e intercambio de sales de calcio y fosfatos.
Transmisión de vibraciones.
Componentes del Esqueleto Uno de los esquemas para el estudio del esqueleto humano, lo divide en dos partes:
1. El esqueleto axial, que son los huesos situados a la línea media o eje, y ellos soportan el peso del
cuerpo como la columna vertebral. Se encargan principalmente de proteger los órganos internos.
2. El esqueleto apendicular, que son el resto de los huesos pertenecientes a las partes anexas a la
línea media (apéndices); concretamente, los pares de extremidades y sus respectivas cinturas, y ellos
son los que realizan mayores movimientos como el carpo (muñeca).
134
El Cráneo
Se puede dividir la cabeza ósea en dos partes: el cráneo y la cara. El cráneo protege al
encéfalo, que es la parte más voluminosa del sistema nervioso central. Está formada por
ocho huesos. Dos pares: parietal y temporal, y cuatro impares: frontal, occipital, etmoides y
esfenoides. Estos dos últimos son internos. La cara se extiende desde las cejas hacia abajo y
está compuesta por: nasal, lacrimal, vómer, malar, maxilar superior y maxilar inferior.
135
Columna Vertebral
La columna vertebral está formada por 33 o 34 huesos cortos: las vértebras, que están
distribuidas de la siguiente manera: 7 cervicales que forman el cuello, 12 dorsales que van
desde el cuello a la cintura, 5 lumbares que van de la cintura, 5 sacras y 4 o 5 coccígeas. Las
sacras y las coccígeas se unen entre sí y forman dos huesos: el sacro y el coxis.
Entre dos vértebras seguidas, hay un disco de tejido cartilaginoso que las articula y permite
el movimiento de la columna. Si a ésta se la mira de perfil se observan cuatro curvaturas,
cada una corresponde a los distintos tipos de vértebras.
Todas las vértebras tienen un cuerpo, un agujero y una serie de prolongaciones llamadas
apófisis. Cuando las vértebras se articulan para formar la columna vertebral, los agujeros
superpuestos dan origen al conducto raquídeo, que protege a la médula espinal, órgano del
sistema nervioso central. De todas las vértebras que forman la columna, las dos primeras
136
cervicales presentan adaptaciones especiales para poder sostener y mover la cabeza. La
primera de ellas: el atlas, posee dos formaciones a los lados sobre el cual se apoya el cráneo.
La segunda llamada axis, presenta una prolongación con forma de diente, que al articularse
con el atlas permite los movimientos de cabeza.
137
Tórax
El tórax tiene la forma de cono truncado y su pared está formada por las costillas, que se
unen por delante al hueso esternón por medio de los cartílagos costales, y por detrás a la
columna vertebral dorsal.
Su función es la de contener a órganos tan importantes como: los pulmones, corazón y
esófago.
138
Extremidad superior
Se compone por cuatro segmentos: cintura escapular, brazo, antebrazo y mano.
La cintura escapular está compuesta por los huesos de la clavícula y la escápula, dos a cada
lado, que fijan los miembros superiores a la parte superior del tronco (tórax) al nivel de los
hombros. El brazo está formado por el hueso húmero. El antebrazo se encuentra formado
por los huesos: cúbito y radio.
La mano tiene un esqueleto complejo, formado por:
Carpo
Metacarpo
Falanges
139
140
Extremidad inferior Se compone por cuatro segmentos: cintura pelviana, muslo, pierna y pie.
La cintura pelviana la conforman los coxales, uno a cada lado de la línea media, articulados
con el sacro por su parte posterior y entre ellos mediante la sínfisis pubiana por delante. La
cavidad que forma la cintura pélvica sirve de alojamiento para las vísceras que existen a ese
nivel como son la vejiga, ambos intestinos y, en el caso de la mujer, los órganos
reproductores.
El muslo está formado por el hueso fémur. La pierna se encuentra formada por los huesos:
rótula, tibia y peroné.
El pie tiene un esqueleto complejo, formado por:
Tarso
Metatarso
Falanges
141
142
Sistema Muscular: la fuerza y el movimiento Los huesos del esqueleto no pueden realizar por sí solos ningún movimiento. Para que ellos
puedan cambiar la posición es necesario que intervengan los músculos. El ser humano tiene
alrededor de 600 músculos y su peso equivale al 45 % del peso total del cuerpo.
Para poder realizar los diferentes movimientos, los músculos tienen 4 propiedades: la
excitabilidad, por la cual un músculo reacciona ante un determinado estímulo.
La contractibilidad, gracias a ella los músculos pueden contraerse.
La elasticidad, que permite a un músculo contraído o relajado recuperar su forma y la
tonicidad que los mantiene siempre semicontraídos, ejerciendo una acción permanente
sobre los huesos a los que están adheridos.
143
Cómo trabajan
Ningún músculo trabaja solo, siempre los hace en sociedad con otro, agrupados en pares
antagónicos. Un ejemplo es el bíceps que flexiona el antebrazo y el tríceps que extiende. El
primero es flexor y el segundo extensor.
Cómo están formados
En todos los músculos que mueven los huesos se diferencian distintas partes. Una central
rojiza y contráctil, compuesta por millones de células musculares y recibe el nombre de
cuerpo o vientre.
En los extremos del vientre se encuentran otras partes de color blanco, no contráctiles: son
los tendones. Los mismos están formados por tejido conjuntivo y son los que fijan los
músculos a los huesos.
Sus funciones
El sistema muscular es el responsable de las siguientes funciones:
144
Locomoción: efectuar el desplazamiento de la sangre y el movimiento de las
extremidades.
Actividad motora de los órganos internos: el sistema muscular es el encargado de
hacer que todos nuestros órganos desempeñen sus funciones, ayudando a otros
sistemas, como por ejemplo, al sistema cardiovascular o al sistema digestivo.
Información del estado fisiológico: por ejemplo, un cólico renal provoca
contracciones fuertes del músculo liso, generando un fuerte dolor.
Mímica: el conjunto de las acciones faciales o gestos que sirven para expresar lo que
sentimos y percibimos.
Estabilidad: los músculos, conjuntamente con los huesos, permiten al cuerpo
mantenerse estable mientras permanece en estado de actividad.
Postura: el sistema muscular da forma y conserva la postura.
Producción de calor: al producir contracciones musculares se origina energía
calórica.
Forma: los músculos y tendones dan el aspecto típico del cuerpo.
Protección: el sistema muscular sirve como protección para el buen funcionamiento
del sistema digestivo y de otros órganos vitales.
145
Sistema Circulatorio
Es el encargado de transportar las sustancias nutritivas y el oxígeno por todo el cuerpo, a
través de la sangre, para que estas sustancias lleguen a las células.
También tiene la misión de transportar ciertas sustancias de desecho desde las células hasta
los pulmones o riñones, para luego ser eliminadas del cuerpo.
El sistema o aparato circulatorio está formado, entonces, por: la sangre, el corazón y los
vasos sanguíneos.
La sangre La sangre es un líquido opaco de color rojo. Tiene varias funciones: transporta hacia las
células oxígeno, alimento y productos segregados por las glándulas de secreción interna, y
retira de las mismas sustancias de desecho. Además regula la temperatura corporal y
defiende al cuerpo de microorganismos que causan enfermedades. Está formada por una
parte líquida: el plasma, y por tres tipos de células: glóbulos rojos, glóbulos blancos y
plaquetas.
Los glóbulos rojos transportan oxígeno y dióxido de carbono. Los glóbulos blancos defienden
al organismo de agentes que causan enfermedades, y las plaquetas intervienen en la
coagulación de la sangre.
El Corazón El corazón es un órgano muscular y hueco. Está ubicado en la cavidad torácica entre los dos
pulmones y tiene la forma de un cono, con la punta dirigida hacia abajo y hacia la izquierda.
Se apoya sobre el músculo diafragma y lo protege una membrana llamada pericardio.
En su interior se pueden diferenciar cuatro cavidades: aurícula derecha, ventrículo derecho,
aurícula izquierda, ventrículo izquierdo. Cada aurícula comunica con el ventrículo
correspondiente por medio de un orificio aurículo ventricular. En los orificios aurículo
ventriculares hay válvulas que impiden el retroceso de la sangre. En la aurícula derecha
desembocan las venas cavas superior e inferior y en la izquierda las cuatro venas
pulmonares. Del ventrículo derecho sale la arteria pulmonar y del izquierdo la arteria aorta.
146
Vasos sanguíneos
Hay tres tipos: arterias, venas y capilares. Las arterias salen de los ventrículos y están
formadas por tres capas: una externa, que les da la consistencia. Una media, formada por
fibras musculares, que agranda o achica la luz, regulando la cantidad de sangre que pasa por
ellas; y una capa interna de tejido conectivo. Las venas llegan a las aurículas y están
formadas por las mismas capas de las arterias, pero la muscular es más delgada. Además en
su interior poseen válvulas que impiden el retroceso de la sangre. Los capilares, muy finos y
microscópicos, relacionan las arterias con las venas.
147
Sistema Digestivo
Es el conjunto de órganos (boca, faringe, esófago, estómago, intestino delgado e intestino
grueso) encargados del proceso de la digestión, es decir, la transformación de los alimentos
para que puedan ser absorbidos y utilizados por las células del organismo.
La función que realiza es la de transporte (alimentos), secreción (jugos digestivos), absorción
(nutrientes) y excreción (mediante el proceso de defecación).
Proceso de digestión En la boca empieza propiamente la digestión. Los dientes trituran los alimentos y las
secreciones de las glándulas salivales los humedecen e inician su descomposición química
transformándose en el bolo alimenticio. Luego, el bolo alimenticio cruza la faringe, sigue por
el esófago y llega al estómago, cuya mucosa segrega el potente jugo gástrico. En el
estómago, el alimento es agitado hasta convertirse en el quimo.
A la salida del estómago, el tubo digestivo se prolonga con el intestino delgado: está
formado por dos porciones: el duodeno y el yeyuno-íleon. En la primera desembocan los
conductos provenientes del hígado y páncreas.
El hígado es la glándula más grande del cuerpo. Fabrica la bilis, que se almacena en la
vesícula biliar y llega al duodeno por el conducto colédoco.
El páncreas mide unos 15 cm y está ubicado transversalmente detrás del estómago. En su
interior se encuentra un conducto que transporta hasta el duodeno el jugo pancreático. Este
órgano también fabrica insulina, una hormona que va directamente a la sangre y que no
interviene en la digestión.
El duodeno recibe secreciones de las glándulas intestinales, la bilis y los jugos del páncreas.
Todas estas secreciones contienen una gran cantidad de enzimas que degradan los
alimentos y los transforman en sustancias solubles simples.
El tubo digestivo continúa por el intestino grueso, de algo más de metro y medio de
longitud. Se pueden diferenciar en él tres partes: ciego, colon y recto. A éste intestino llegan
148
los alimentos que no fueron absorbidos por el intestino delgado para que puedan ser
expulsados a través del ano hacia el exterior.
149
Sistema Respiratorio
La respiración es el proceso por el cual ingresamos aire (que contiene oxígeno) a nuestro
organismo y sacamos de él aire rico en dióxido de carbono.
Las fosas nasales y la laringe El aire con oxígeno entra por los agujeros de la nariz y llega a la cavidad nasal, también
llamada fosas nasales. En las fosas nasales también hay pelos, su función es filtrar el aire e
impedir que partículas extrañas entren en el aparato respiratorio. A las fosas nasales les
sigue la faringe, un órgano que comparte el aparato digestivo y el respiratorio. Los alimentos
pasan de la boca a la faringe, para seguir hacia el esófago. En cambio el aire atraviesa la
faringe y se mete en la laringe. Este órgano, además de conducir el aire, tiene un papel muy
importante: la fonación; es el encargado de producir la voz.
Para evitar que la comida siga el camino del aire, cada vez que se produce la deglución, la
laringe se mueve hacia arriba y se cierra con una especie de tapita: la epiglotis. El
movimiento por el cual se cierra la laringe es reflejo, es decir involuntario.
Los pulmones
A la laringe le continúa la tráquea, y a la altura de la cuarta vértebra dorsal se ramifica
formando dos bronquios, uno para cada pulmón.
La tráquea está formada por anillos cartilaginosos, cuyos bordes posteriores están unidos
por fibras musculares lisas. Éstas se contraen durante la deglución para permitir el paso del
bolo alimenticio a través del esófago.
Los pulmones, ubicados en la caja torácica, reciben el aire inspirado.
El pulmón izquierdo es más chico que el derecho, porque presenta una hendidura donde se
ubica el corazón. Ambos pulmones están apoyados sobre el músculo diafragma y están
divididos en grandes porciones llamadas lóbulos. El derecho tiene tres lóbulos y el izquierdo
dos.
150
Los lóbulos, a su vez, se dividen en lóbulos más chicos: los lobulillos. En cada lobulillo
pulmonar se encuentra una ramificación bronquial, de la que se desprenden los sacos
alveolares.
Los pulmones están protegidos por una membrana: la pleura, que está formada por dos
partes. Una de ellas recubre la cara externa de los pulmones y la otra tapiza por dentro el
tórax.
151
Sistema Nervioso
El sistema nervioso dirige todas las actividades psíquicas y orgánicas, sean voluntarias o
involuntarias. Los órganos que lo forman conectan los ojos, los oídos y otros órganos de los
sentidos, es decir los órganos receptores, con los músculos y las glándulas, llamados
efectores. Los órganos del sistema nervioso están formados por tejido nervioso, sus células
se llaman neuronas. Si bien funcionan como una unidad, para su estudio se lo divide en
sistema nervioso central y sistema nervioso periférico. El sistema nervioso central está
protegido por el cráneo y la columna vertebral. En el cráneo se encuentra el encéfalo,
formado por el cerebro, el cerebelo y el tronco encefálico. La columna vertebral protege la
médula espinal. La actividad es continua, a diferencia de otros órganos. Como por ejemplo,
el estómago, que tiene periodos de reposo.
Sistema nervioso central
La médula espinal
Está ubicada dentro del conjunto raquídeo, el que se forma al superponerse los agujeros
vertebrales. Se extiende desde el cuello hasta la base del hueso coxis. Mide
aproximadamente 45 cm de largo por 7 cm de diámetro. La médula conduce el influjo
nervioso y es centro de los reflejos. Un reflejo es la respuesta inconsciente e involuntaria
ante un estímulo.
Tronco encefálico
Formado por Pedúnculos cerebrales, Protuberancia y Bulbo.
Los pedúnculos cerebrales son dos órganos cilíndricos que relacionan a la protuberancia con el
cerebro. Conducen el influjo nervioso y coordinan los movimientos que realizamos al masticar.
La protuberancia, tiene la forma de un cubo. Conduce impulsos sensitivos hacia el cerebro y cerebelo
e impulsos motores hacia los órganos efectores. Además interviene en la locomoción y en los
fenómenos que acompañan a las emociones, como por ejemplo la aceleración del pulso y de la
respiración.
152
El bulbo, con la forma de cono cortado, conduce impulsos nerviosos y controla entre otras
actividades, los movimientos respiratorios, los del corazón y la deglución.
El cerebelo
El cerebelo se apoya sobre el hueso occipital, y tiene el tamaño aproximado de un puño cerrado:
mide unos 10 cm. Está formado por tres partes o lóbulos: uno medio llamado vermis y dos laterales:
los hemisferios cerebelosos. A lo largo de toda su superficie se ven surcos curvos y concéntricos, que
lo dividen en láminas semejantes a las hojas de un libro. El cerebelo se relaciona con los demás
órganos de sistema nervioso central por medio de los pédunculos cerebelosos. Hay tres pares: los
pedúnculos cerebelosos inferiores que lo relacionan con el bulbo, lo medios con la protuberancia y
los superiores con el cerebro. Este órgano coordina los movimientos de los músculos, determinando
el buen funcionamiento de los mismos. Interviene en el mantenimiento del equilibrio y regula el tono
muscular.
El cerebro
El cerebro es el órgano más grande del sistema nervioso central. Tiene forma ovoide y ocupa casi
todo el cráneo. Toda su superficie esta recorrida por una gran cantidad de hendiduras, las más
profundas se llaman cisuras, y las menos profundas, surcos. La cisura interhemisferica divide al
cerebro en dos partes: los hemisferios cerebrales.
Estos se mantienen unidos por una formación de sustancia blanca: el cuerpo calloso. En la cara
externa de cada hemisferio cerebral se ven tres cisuras: la de Silvio, la de Rolando y la perpendicular
externa, muy poco marcada en el hombre. Estas cisuras dividen a la cara externa de cada hemisferio
en cuatro lóbulos: frontal, parietal, occipital y temporal. Como todos los órganos del sistema
nervioso central, también el cerebro está formado por sustancia blanca y gris y contiene algo más de
la mitad de los 10.000 millones de neuronas que forman este sistema.
153
El sistema nervioso periférico El sistema nervioso periférico está formado por el conjunto de nervios craneales, nervios raquídeos
o espinales y ganglios que se encuentran en su trayecto. Este sistema conecta los órganos
receptores (órganos de los sentidos) con los órganos efectores (músculos y glándulas). Los nervios
craneales nacen en el encéfalo y son doce pares. Entre ellos se encuentran: el nervio olfatorio que
conduce las sensaciones olfativas a la corteza cerebral. El nervio óptico, que lleva hasta la corteza
cerebral las sensaciones luminosas. El nervio trigémino que inerva los músculos masticatorios y da
sensibilidad a la cara. El nervio auditivo relacionado con la audición y el equilibrio. El glosofaríngeo
encargado de inervar los músculos que intervienen en la deglución y de conducir los estímulos
gustativos. Los nervios espinales o raquídeos están relacionados con la médula espinal. Están todos
formados por dos partes o raíces: una anterior motora y la otra posterior sensitiva. Los ganglios
nerviosos son un conjunto de cuerpos neuronales que se encuentran intercalados en los nervios y
actúan como centros menores de control de estímulos y respuestas.
154
Sistema urinario
Su función es mantener en equilibrio la composición de la sangre y eliminar al exterior
sustancias que perjudican al organismo.
Los riñones, ubicados en la región superior y posterior del abdomen, tienen un tamaño
aproximado de 10 cm de largo, por 6 cm de ancho y 3 cm de espesor. En su cara cóncava se
encuentra el hilio renal, lugar por donde pasan los vasos sanguíneos y el úreter.
Internamente se ven en éste órgano dos zonas: la médula y la corteza. Cada riñón está
formado por numerosos tubos microscópicos: los nefrones.
El nefrón es un largo y contorneado tubo. En él se filtra la sangre, formándose así la orina. La
orina que sale del riñón gota a gota, es recogida por la pelvis renal, para pasar luego a los
155
uréteres. Estos la llevan hasta la vejiga, órgano muscular y hueco ubicado en la parte inferior
del abdomen.
La vejiga comunica con el exterior a través de un conducto: la uretra, que termina en un
orificio: el meato urinario.
156
Referencias bibliográficas
[1] Ivan E. Sutherland. A head-mounted three dimensional display. In AFIPS ’68 (Fall,
part I): Proceedings of the December 9-11, 1968, fall joint computer conference, part I,
pages 757–764, New York, NY, USA, 1968. ACM.
[2] La República, http://larepublica.pe/blogs/realidad-aumentada/2014/02/21/que-es-la-
realidad-aumentada/, 2014. [Último acceso: Junio 2014].
[3] Realidad Virtual & Realidad Aumentada,
http://realidadva.blogspot.com.ar/2013/06/historia-de-la-realidad-virtual-y-la.html, 2014.
[Último acceso: Junio 2014].
[4] Steven Feiner, Blair MacIntyre, Tobias Hollerer, and Anthony Webster. A touring
machine: Prototyping 3d mobile augmented reality systems for exploring the urban
environment. Wearable Computers, IEEE International Symposium, 1997.
[5] J. Rekimoto. Matrix: A realtime object identification and registration method for
augmented reality. Asia-Pacific Computer and Human Interaction, 1998.
[6] Hirokazu Kato and Mark Billinghurst. Marker tracking and hmd calibration for a video-
based augmented reality conferencing system. Augmented Reality, International Workshop
on, 1999.
[7] El mundo,
http://www.elmundo.es/navegante/especiales/2002/campusparty/noticia03.html, [Último
acceso: Junio 2014].
[8] Electrónica de patrimonio histórico,
http://www.revistadepatrimonio.es/revistas/numero8/difusion/estudios2/articulo2.php,
[Último acceso: Junio 2014].
[9] Pong-Mythos, http://www.pong-
mythos.net/index.php?lg=en&main=Massively_Multi&site=01:01:10, [Último acceso:
Junio 2014].
[10] Mapeado Normal, https://es.wikipedia.org/wiki/Mapeado_normal, [Último acceso:
Marzo 2015].
157
[11] Wikipedia, https://es.wikipedia.org/wiki/Google_Glass, 2014, [Último acceso: Junio
2014].
[12] Las provincias, http://www.lasprovincias.es/20140415/mas-
actualidad/tecnologia/google-glass-venta-precio-201404151119.html, [Último acceso:
Junio 2014].
[13] Xombit game, http://xombitgames.com/2013/06/e3-2013-the-playroom, [Último
acceso: Junio 2014].
[14] Argentina.ar, http://www.argentina.ar/temas/ciencia-y-tecnologia/29197-la-uade-
presento-el-primer-laboratorio-de-realidad-aumentada-en-argentina, [Último acceso: Junio
2014].
[15] LearnAR, http://www.learnar.org/, [Último acceso: Junio 2014].
[16] AR-Learning: libro interactivo basado en realidad aumentada con aplicación a la
enseñanza, R. Delgado, N S. Parra, P. M. Núñez Trujillo, Universidad de Extremadura,
ISSN: 1988-8430, 2012
[17] Wwwhat's new, http://wwwhatsnew.com/2012/08/31/5-aplicaciones-de-realidad-
aumentada-con-fines-educativos/, 2012, [Último acceso: Junio 2014].
[18] Wikipedia, https://es.wikipedia.org/wiki/Realidad_aumentada, 2014, [Último acceso:
Junio 2014].
[19] Realidad Aumentada: Un enfoque práctico con ARToolKit y Blender, Carlos G.
Morcillo y otros, Escuela Superior de Informática, ISBN 978-84-686-1151-8, Ed. Bubok
Publishing S.L.
[20] Tendencias21: Tendencias de las telecomunicaciones,
http://www.tendencias21.net/Un-cirujano-interviene-a-un-paciente-a-distancia-con-
realidad-aumentada_a26914.html, 2003, [Último acceso: Junio 2014].
[21] Realidad Aumentada, http://www.realidad-aumentada.eu/como-te-apetece-el-filete-
simuladores-de-realidad-aumentada/, 2013, [Último acceso: Junio 2014].
[22] Fundación Telefónica, Realidad aumentada: una nueva lente para ver el mundo, 2011,
Ed. Ariel
[23] AndAR, https://code.google.com/p/andar/, 2014, [Último acceso: Junio 2014].
158
[24] Geometría epipolar,
http://iie.fing.edu.uy/investigacion/grupos/gti/cursos/egvc/material/tema-4.pdf, 2002,
[Último acceso: Junio 2014].
[25] Uso de Realidad Aumentada para Enseñanza de Conceptos Básicos de Física
Mecánica, Juan Carlos Marino Dodge, Ingrid Stefanell De León, 2012.-
[26] Uso pedagógico de materiales y recursos educativos de las TIC: sus ventajas en el
aula, Ana García Velcárce y Luis Gozález Rodero, Dto. de Didáctica, organización e
métodos de investigación, Universidad de Salamanca, 2006.-
[27] Eliana Gallardo Echenique,
http://elianagallardo.blogspot.com.ar/2008/05/edutainment.html, 2008, [Último acceso:
Junio 2014].
[28] Ambientes Edutainment: Manteniendo el balance entre educación y entretenimiento,
Gilberto Huesca Juárez y Julieta Noguez Monroy, 2012, [Último acceso: Junio 2014].
[29] Realidad Aumentada y códigos QR en Educación, Meritxell Estebanell Minguell,
Josefina Ferrés Font, Pere Cornellá Canals, David Codina Regás, Tendencias emergentes
en Educación con TIC, Ed. Espiral, 2012, ISBN: 978-84-616-0448-7
[30] Comparación entre las teorías: Aprendizaje Situado y Desarrollo Cognitivo, Brunner
Itala Arias, Universidad Simón Bolívar ,
http://ww2.educarchile.cl/UserFiles/P0001/File/EL%20APRENDIZAJE%20SITUADO%2
0Y%20EL%20DESARROLLO%20COGNITIVO.pdf, [Último acceso: Junio 2014].
[31] Práctica Reflexiva, http://www.practicareflexiva.pro/2014/02/rasgos-del-aprendizaje-
situado/, 2014, [Último acceso: Junio 2014].
[32] Wikipedia, https://es.wikipedia.org/wiki/Constructivismo_(pedagog%C3%ADa),
2014, [Último acceso: Junio 2014].
[33] Constructivismo, http://teduca3.wikispaces.com/4.+CONSTRUCTIVISMO, 2014,
[Último acceso: Junio 2014].
[34] B-Learning y Teoría del Aprendizaje Constructivista en las Disciplinas Informáticas:
Un esquema de ejemplo a aplicar, R. Sosa Sánchez-Cortés , A. García Manso, J. Sánchez
Allende, P. Moreno Díaz y A. J Reinoso Peinado, UNIVERSIDAD ALFONSO X EL
SABIO (España), 2005
159
[35] Centro virtual Cervantes,
http://cvc.cervantes.es/ensenanza/biblioteca_ele/diccio_ele/diccionario/aprendizajedescubri
miento.htm, 2014, [Último acceso: Junio 2014].
[36] Top Profes, http://www.topprofes.com/blog/la-realidad-aumentada-en-la-educacion/,
[Último acceso: Junio 2014].
[37] Formación y Tecnología, http://www.formacionytecnologia.com/blog/realidad-aumentada-
aprendizaje-practico-al-alcance-de-la-mano/, [Último acceso: Junio 2014].
[38] Wikipedia, http://es.wikipedia.org/wiki/Seis_grados_de_libertad, 2014, [Último
acceso: Junio 2014].
[39] Programming and Technology, http://tech.enekochan.com/2012/05/01/install-
artoolkit-2-72-1-in-ubuntu-10-10/?lang=es, 2012, [Último acceso: Junio 2014].
[40] ARToolKit, http://www.hitl.washington.edu/artoolkit/ , [Último acceso: Agosto
2015].
[41] Resample o remuestreo de imágenes en Photoshop, http://adobexpert.com/resample-o-
remuestreo-de-imagenes-en-photoshop/#.U7QbpPl5P_E, [Último acceso: Julio 2014].
[42] OpenGL, http://es.wikipedia.org/wiki/OpenGL, [Último acceso: Febrero 2015].
[43] Rasterización, http://es.wikipedia.org/wiki/Rasterizaci%C3%B3n, [Último acceso:
Febrero 2015].
[44] Transformación e Iluminación, http://es.wikipedia.org/wiki/Transform_and_Lighting,
[Último acceso: Febrero 2015].
[45] Z-buffer, http://es.wikipedia.org/wiki/Z-Buffer, [Último acceso: Febrero 2015].
[46] Mapeado de Texturas, https://es.wikipedia.org/wiki/Mapeado_de_texturas, [Último
acceso: Febrero 2015].
[47] OGRE 3D, http://es.wikipedia.org/wiki/OGRE_3D, [Último acceso: Febrero 2015].
[48] Learning OpenCV, Gary Bradski, Adrian Kaehler, Ed. O’Reilly, 2008, ISBN: 978-0-
596-51613-0.
[49] Panda3D, https://www.panda3d.org/manual/index.php/Introduction_to_Panda3D,
[Último acceso: Febrero 2015].
160
[50] Panda3D Manual: Introduction to Panda3D, http://es.wikipedia.org/wiki/Panda3D,
[Último acceso: Febrero 2015].
[51] Blender, http://wiki.blender.org/index.php/Doc:ES/2.6/Manual/Introduction, [Último
acceso: Julio 2014].
[52] Mapeado UV,
http://wiki.blender.org/index.php/Doc:ES/2.4/Manual/Textures/UV/Unwrapping_a_Mesh,
[Último acceso: Marzo 2015].
[53] Texturas procedurales,
http://wiki.blender.org/index.php/Doc:ES/2.4/Manual/Textures/Types/Procedural, [Último
acceso: Marzo 2015].
[54] Mercurial, https://es.wikipedia.org/wiki/Mercurial, [Último acceso: Junio 2015].
[55] Ivan Andres Salazar Alvarez, Tesis “Diseño e implementación de un Sistema para
información turística basado en Realidad Aumentada”, Universidad Católica del Perú,
2013, pag. 31-33.-
[56] Nuevas estrategias de aprendizaje mediadas por las TIC. Ventajas para la Educación
Superior, http://www.monografias.com/trabajos48/estrategias-aprendizaje/estrategias-
aprendizaje2.shtml, , 2015, [Último acceso: Agosto 2015].
[57] Pere Marquez, http://www.lmi.ub.es/te/any96/marques_software/, Universidad
Autónoma de Barcelona, [Último acceso: Agosto 2015].
[58] Javier de Pedro Carracedo, Carlos Luis Martínez Méndez, Realidad Aumentada: Una
Alternativa Metodológica en la Educación Primaria Nicaragüense, ISSN 1932-8540,
2012.-
[59] Realidad Aumentada y Educación,
http://www.vallempresa365.com/articulos/innovacion/realidad-aumentada-y-educacion,
2014, [Último acceso: Agosto 2015].
[60] Aprendizaje por descubrimiento,
https://es.wikipedia.org/wiki/Aprendizaje_por_descubrimiento, 2015, [Último acceso:
Agosto 2015].
161
Anexo I: ARBook
Algunos datos curiosos sobre el cuerpo humano,
http://curiosidades.batanga.com/2009/07/04/algunos-datos-curiosos-sobre-el-cuerpo-humano,
[Último acceso: Mayo 2015].-
Esqueleto humano, http://es.wikipedia.org/wiki/Esqueleto_humano, [Último acceso: Mayo
2015].-
Tórax, http://es.wikipedia.org/wiki/T%C3%B3rax, [Último acceso: Mayo 2015].-
Miembro superior, http://es.wikipedia.org/wiki/Miembro_superior, [Último acceso: Mayo
2015].-
Cintura pelviana, http://es.wikipedia.org/wiki/Cintura_pelviana, [Último acceso: Mayo
2015].-
El cuerpo humano, colección Billiken, Ed. Atlántida; fascículos nro. 3817, 3818, 3820,
3821,3822, 3823, 3824, 3826, 3827; Año1993.-
Sistema muscular, http://es.wikipedia.org/wiki/Sistema_muscular, [Último acceso: Mayo
2015].-
Sistema circulatorio, http://www.profesorenlinea.cl/Ciencias/SistemaCirculatorio.htm,
[Último acceso: Mayo 2015].-
Aparato digestivo, http://es.wikipedia.org/wiki/Aparato_digestivo, [Último acceso: Mayo
2015].-
Proyecto Biosfera,
http://recursos.cnice.mec.es/biosfera/alumno/3ESO/Relacor/contenido4.htm, [Último acceso:
Junio 2015].-