2 puntos por GN⁺ 2025-11-01 | Aún no hay comentarios. | Compartir por WhatsApp
  • Proyecto que visualiza Atractores extraños (Strange Attractors) con Three.js, mostrando cómo a partir de ecuaciones matemáticas simples se generan patrones complejos y hermosos
  • Explica los conceptos básicos de los sistemas dinámicos (Dynamical Systems) y la teoría del caos (Chaos Theory), centrándose en el estado de un sistema que cambia con el tiempo y en las reglas que determinan su evolución
  • Los atractores extraños se definen por cuatro características: estructura fractal, sensibilidad a las condiciones iniciales, trayectorias no periódicas y orden dentro del caos
  • Muestra el efecto mariposa con una visualización del Thomas Attractor, presentando cómo cambios mínimos en el parámetro a producen patrones completamente distintos
  • Implementa visualización en tiempo real calculando y renderizando eficientemente miles de partículas mediante la técnica de ping-pong rendering basada en GPU

Sistemas dinámicos y teoría del caos

  • Un sistema dinámico es una forma de modelar matemáticamente fenómenos que cambian con el tiempo, e incluye ejemplos variados como el movimiento de los planetas, el crecimiento de la población o el mercado bursátil

    • Está compuesto por el espacio de fases (Phase Space), que representa todos los estados posibles del sistema, y por la dinámica (Dynamics), que lo hace pasar de un estado al siguiente
    • Por ejemplo, en un modelo de crecimiento poblacional, el tamaño de la población y la tasa de crecimiento forman el estado dentro del espacio de fases, mientras que la tasa de natalidad, la tasa de mortalidad y la capacidad de carga del entorno determinan la dinámica
  • La teoría del caos (Chaos Theory) es el campo que estudia sistemas impredecibles, y muchos fenómenos de la naturaleza pertenecen a este tipo de sistemas no lineales y sensibles

    • Explica fenómenos en los que existen reglas, pero la predicción se vuelve imposible debido a información incompleta
    • Una característica representativa es el efecto mariposa, donde pequeñas diferencias en las condiciones iniciales cambian drásticamente el resultado

Atractor (Attractor) y atractor extraño (Strange Attractor)

  • Un atractor (Attractor) es un conjunto de estados hacia el que el sistema converge con el paso del tiempo; por ejemplo, el punto de reposo de un péndulo

    • La convergencia hacia un atractor ocurre por factores como la estabilidad, la disipación de energía (Dissipation) y la contracción (Contraction)
  • Un atractor extraño (Strange Attractor) es un atractor que, debido a ecuaciones no lineales complejas, muestra trayectorias impredecibles y presenta las siguientes características

    1. Estructura fractal: patrones complejos que se repiten a distintas escalas
    2. Sensibilidad a las condiciones iniciales: un pequeño cambio lleva a un resultado completamente distinto
    3. Trayectorias no periódicas: no repite exactamente el mismo recorrido
    4. Orden dentro del caos: aunque parece aleatorio, existe una estructura interna consistente

Efecto mariposa y visualización del Thomas Attractor

  • El efecto mariposa es el fenómeno por el cual un pequeño cambio genera una gran diferencia a largo plazo, y suele explicarse con la metáfora de que “el aleteo de una mariposa en China provoca un huracán en el Caribe”
  • Si se cambia el valor del parámetro a del Thomas Attractor a 0.10, 0.13, 0.19 o 0.21, la trayectoria de las partículas y la forma general cambian por completo
  • Si el estado inicial se cambia entre cube y sphere surface, las partículas siguen rutas distintas, pero al final convergen al mismo estado atractor

Detalles de implementación

  • La visualización usa Three.js para calcular y renderizar directamente en la GPU una gran cantidad de partículas
  • Mediante la técnica de ping-pong rendering, minimiza la transferencia de datos entre CPU y GPU y alterna entre dos frame buffer objects (FBO)
    • Los buffers ping y pong almacenan respectivamente el estado actual y el siguiente
    • El programa de shaders actualiza la posición de cada partícula según las ecuaciones del atractor
    • En cada frame se intercambian los buffers y se renderiza el nuevo estado de las partículas

Referencias y material adicional

  • Como material relacionado se citan la visualización de atractores de Maxim, Wikipedia: Attractor, List of Chaotic Maps y WebGLFundamentals: Ping Pong Rendering
  • También se presentan ejemplos adicionales de visualizaciones 3D de atractores en chaoticatmospheres.com, dynamicmath.xyz y Reddit r/generative
  • Están recibiendo comentarios en la página de GitHub Discussion del blog, con planes de integrarlo al blog más adelante

Aún no hay comentarios.

Aún no hay comentarios.