Seltsame Attraktoren (Strange Attractors)
(blog.shashanktomar.com)- Ein Projekt, das seltsame Attraktoren (Strange Attractors) mit Three.js visualisiert und zeigt, wie aus einfachen mathematischen Gleichungen komplexe und schöne Muster entstehen
- Es erklärt die Grundkonzepte von dynamischen Systemen (Dynamical Systems) und Chaostheorie (Chaos Theory) und ist um die Zustände eines Systems, die sich im Zeitverlauf ändern, sowie die Regeln aufgebaut, die ihre Entwicklung bestimmen
- Seltsame Attraktoren werden durch vier Merkmale definiert: Fraktalstruktur, Sensitivität gegenüber Anfangsbedingungen, aperiodische Bahnen und Ordnung im Chaos
- Der Schmetterlingseffekt wird anhand einer Visualisierung des Thomas-Attraktors gezeigt, wobei veranschaulicht wird, wie eine minimale Änderung des Parameters
avöllig andere Muster erzeugt - Durch den Einsatz der GPU-basierten Technik des Ping-Pong-Renderings werden Tausende von Partikeln effizient berechnet und gerendert, wodurch eine Echtzeitvisualisierung möglich wird
Dynamische Systeme und Chaostheorie
-
Ein dynamisches System ist eine mathematische Methode zur Modellierung von Phänomenen, die sich im Laufe der Zeit verändern, darunter Beispiele wie Planetenbewegungen, Bevölkerungswachstum und Aktienmärkte
- Es besteht aus dem Phasenraum (Phase Space), der alle möglichen Zustände des Systems beschreibt, und der Dynamik (Dynamics), die einen Zustand in den nächsten überführt
- Im Modell des Bevölkerungswachstums bilden zum Beispiel Bevölkerungsgröße und Wachstumsrate die Zustände im Phasenraum, während Geburtenrate, Sterberate und Umweltkapazität die Dynamik bestimmen
-
Die Chaostheorie (Chaos Theory) ist ein Forschungsgebiet zu unvorhersehbaren Systemen; viele Phänomene in der Natur gehören zu solchen nichtlinearen und sensitiven Systemen
- Sie erklärt Situationen, in denen zwar Regeln existieren, Vorhersagen aber wegen unvollständiger Informationen unmöglich werden
- Ein typisches Merkmal ist der Schmetterlingseffekt, bei dem kleine Unterschiede in den Anfangsbedingungen zu stark abweichenden Ergebnissen führen
Attraktor und seltsamer Attraktor
-
Ein Attraktor (Attractor) ist eine Menge von Zuständen, gegen die ein System im Laufe der Zeit konvergiert; ein Beispiel ist die Ruhelage eines Pendels
- Die Konvergenz zu einem Attraktor entsteht durch Faktoren wie Stabilität, Energiedissipation (Dissipation) und Kontraktion (Contraction)
-
Ein seltsamer Attraktor (Strange Attractor) ist ein Attraktor, der aufgrund komplexer nichtlinearer Gleichungen unvorhersehbare Bahnen zeigt, und hat folgende Eigenschaften
- Fraktalstruktur: komplexe Muster, die sich auf verschiedenen Skalen wiederholen
- Sensitivität gegenüber Anfangsbedingungen: kleine Änderungen führen zu völlig anderen Ergebnissen
- Aperiodische Bahnen: derselbe Pfad wird nicht wiederholt
- Ordnung im Chaos: wirkt zufällig, enthält aber eine innere Struktur
Schmetterlingseffekt und Visualisierung des Thomas-Attraktors
- Der Schmetterlingseffekt bezeichnet ein Phänomen, bei dem kleine Veränderungen langfristig große Unterschiede verursachen; oft erklärt mit der Metapher, dass „der Flügelschlag eines Schmetterlings in China einen Hurrikan in der Karibik auslöst“
- Wenn der Parameterwert
ades Thomas-Attraktors auf 0.10, 0.13, 0.19, 0.21 usw. geändert wird, verändern sich die Partikelbahnen und die Gesamtform vollständig - Werden die Anfangszustände auf
cubeundsphere surfacegeändert, folgen die Partikel unterschiedlichen Pfaden, konvergieren am Ende jedoch auf denselben Attraktorzustand
Implementierungsdetails
- Die Visualisierung verwendet Three.js, um zahlreiche Partikel direkt auf der GPU zu berechnen und zu rendern
- Mit der Technik des Ping-Pong-Renderings wird der Datentransfer zwischen CPU und GPU minimiert, indem zwei Framebuffer-Objekte (FBOs) abwechselnd verwendet werden
- Die Puffer
pingundpongspeichern jeweils den aktuellen und den nächsten Zustand - Ein Shader-Programm aktualisiert die Position jedes Partikels entsprechend den Attraktor-Gleichungen
- In jedem Frame werden die Puffer vertauscht und der neue Partikelzustand gerendert
- Die Puffer
Referenzen und weitere Materialien
- Als verwandte Materialien werden Maxims Attraktor-Visualisierung, Wikipedia: Attractor, List of Chaotic Maps und WebGLFundamentals: Ping Pong Rendering angeführt
- Weitere Beispiele für 3D-Attraktorvisualisierungen werden auf chaoticatmospheres.com, dynamicmath.xyz und Reddit r/generative gezeigt
- Auf der GitHub-Discussion-Seite des Blogs wird Feedback gesammelt; eine Integration in den Blog ist künftig geplant
Noch keine Kommentare.