EN
← Volver al Portafolio
Accesibilidad y Háptica mayo de 2009

Simulación Háptica 3D con Detección de Colisiones Octree

Sistema de simulación 3D que recrea interacción háptica con objetos virtuales. Usa particionamiento espacial octree (O(N log N)) y Teorema del Eje Separador para detección de colisiones con modelo de fuerza Kelvin-Voigt resorte-amortiguador.

Fase Amplia
Octree O(N log N)
Fase Estrecha
SAT (11 ejes)
Modelo de Fuerza
Kelvin-Voigt resorte-amortiguador
Renderizado
Three.js WebGL
Simulación Háptica 3D con Detección de Colisiones Octree — Arquitectura
#haptics#collision-detection#octree#three-js#fastapi#simulation#python

Contexto de Negocio

El renderizado háptico requiere detección de colisiones a tasas de actualización superiores a 1 kHz — el sentido del tacto humano percibe retardos de solo 1 milisegundo. Para mallas 3D con miles de triángulos, la prueba de colisión de fuerza bruta O(N²) es órdenes de magnitud demasiado lenta. Y la retroalimentación de fuerza debe sentirse natural: no una señal de contacto binaria on/off, sino resistencia continua que aumenta con la profundidad de penetración y provee estabilidad mediante disipación de energía.

Valor Estratégico

Detección de colisiones en dos fases logra tasas hápticas en tiempo real: particionamiento espacial octree para fase amplia O(N log N), Teorema del Eje Separador en 11 ejes para fase estrecha matemáticamente exacta. Las fuerzas de contacto siguen el modelo resorte-amortiguador de Kelvin-Voigt F = -k·(p_sonda - p_contacto) - b·v_sonda, produciendo sensación de tacto físicamente plausible. Originalmente construido en 2008 en Universidad de Concepción con un PHANToM Omni físico proveyendo retroalimentación de fuerza 3-DOF; modernizado como Python/FastAPI + Three.js WebGL con interacción de sonda por teclado que funciona sin hardware físico.

El Desafío

El renderizado háptico en tiempo real requiere detección de colisiones a tasas de actualización >1 kHz. La prueba bruta triángulo-triángulo es O(N²), demasiado lenta para mallas complejas. La retroalimentación de fuerza debe sentirse natural y físicamente plausible.

Nuestro Enfoque

Colisión en dos fases: particionamiento espacial octree para fase amplia O(N log N), SAT (Teorema del Eje Separador) para fase estrecha intersección triángulo-triángulo en 11 ejes. Fuerzas de contacto siguen Kelvin-Voigt resorte-amortiguador: F = -k·(p_sonda - p_contacto) - b·v_sonda. Versión web moderna con renderizado Three.js WebGL.

Indicadores Clave de Rendimiento

KPILínea BaseResultadoImpacto
Eficiencia de ColisiónO(N²) fuerza brutaO(N log N) octree + SATTasas hápticas en tiempo real
Modelo de FuerzaDetección de contacto simpleResorte-amortiguador Kelvin-VoigtRetroalimentación físicamente plausible

Arquitectura

haptic sim

haptic sim

Stack Tecnológico

PythonFastAPIThree.jsOctreeSATKelvin-VoigtOBJ LoaderWebGL

Capturas de la Aplicación

Simulación Háptica 3D con Detección de Colisiones Octree
Simulación Háptica 3D con Detección de Colisiones Octree

Diagramas Técnicos

haptic force model

haptic force model

haptic octree

haptic octree