Mirando pa Cuenca es una aplicación web progresiva basada en tecnologías de Realidad Aumentada en el navegador (WebAR) y geodesia computacional. A diferencia de los visores cartográficos tradicionales en dos dimensiones, nuestro motor fusiona en tiempo real los flujos de datos del receptor GPS, el magnetómetro triaxial, el acelerómetro y el giroscopio del teléfono móvil para proyectar elementos tridimensionales alineados con el horizonte físico del usuario.
Cuando el usuario pulsa el botón de inicio y concede acceso a la API navigator.geolocation.watchPosition, el sistema establece una escucha continua de alta precisión sobre las coordenadas geográficas del dispositivo. Tomando como punto de referencia principal el centro histórico de Cuenca (Latitud: 40.0781° N, Longitud: -2.1286° O), el motor matemático resuelve en cada ciclo de actualización tres algoritmos espaciales:
Math.atan2), la aplicación determina el ángulo exacto medido en grados (de 0° a 360° en sentido horario desde el Norte geográfico verdadero) hacia el que debe orientarse el vector visual para apuntar directamente hacia Cuenca.1 - Math.exp(-dt / 208)) suaviza la transición entre lecturas sucesivas.Para renderizar gráficos tridimensionales sobre la imagen de la cámara trasera utilizamos el motor WebGL de Three.js integrado a través del framework A-Frame. La orientación espacial del teléfono se obtiene leyendo los eventos nativos de hardware DeviceOrientationEvent.
Uno de los mayores desafíos técnicos en la Realidad Aumentada móvil es el ruido electromagnético del magnetómetro (brújula digital) sumado al temblor natural del pulso humano, lo que provoca que los objetos virtuales vibren en pantalla (efecto jitter). Además, trabajar con ángulos de Euler tradicionales (roll, pitch, yaw) puede provocar el fenómeno matemático conocido como bloqueo de cardán (gimbal lock) cuando el usuario levanta o inclina el teléfono.
Para solucionarlo, hemos programado un componente personalizado denominado estabilizador-camara que opera exclusivamente mediante álgebra de cuaterniones unitarios y aplica una Interpolación Lineal Esférica (SLERP) con una constante de tiempo de 90 milisegundos. Este amortiguador matemático filtra las microvibraciones de alta frecuencia de la mano, pero conserva una respuesta inmediata y fluida cuando el usuario gira sobre sí mismo.
Sobre el lienzo 3D de la cámara se dibuja una interfaz de usuario (Heads-Up Display) sincronizada fotograma a fotograma a 60 Hz mediante el componente sincronizador-hud:
La aplicación está diseñada para ser útil tanto a miles de kilómetros de distancia como durante una visita turística por las calles de Cuenca. Para ello incorpora un sistema de geovallado automático (geofencing) con margen de histéresis entre los 0,9 km y los 1,1 km respecto a la Plaza Mayor (evitando así cambios intermitentes si el usuario camina justo por el límite del radio).
Al cruzar este umbral hacia el interior de la ciudad, el indicador general de Cuenca se oculta y la brújula despliega cinco vectores independientes codificados por colores hacia sus monumentos esenciales: las Casas Colgadas (naranja), la Catedral de Santa María y San Julián (verde), el Castillo y Arco de Bezudo (amarillo), la Torre de Mangana (azul) y el Puente de San Pablo (rojo), mostrando las distancias en metros con precisión peatonal.
En ordenadores de sobremesa y portátiles (que carecen de giroscopio y cámara trasera móvil), la plataforma adapta su interfaz ofreciendo el cálculo geodésico de ruta directa hacia Cuenca mediante geolocalización de red. En dispositivos móviles iOS (Safari en iPhone/iPad) y Android (Chrome, Firefox, Brave), los estándares de seguridad web actuales exigen que la solicitud de permisos de cámara y del sensor DeviceOrientationEvent.requestPermission() sea disparada directamente por un gesto físico del usuario sobre el botón de arranque.