Atractores extraños (Strange Attractors)
(blog.shashanktomar.com)- 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
aproducen 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
- Estructura fractal: patrones complejos que se repiten a distintas escalas
- Sensibilidad a las condiciones iniciales: un pequeño cambio lleva a un resultado completamente distinto
- Trayectorias no periódicas: no repite exactamente el mismo recorrido
- 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
adel 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
cubeysphere 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
pingypongalmacenan 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
- Los buffers
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.