2 Punkte von GN⁺ 2025-11-01 | 1 Kommentare | Auf WhatsApp teilen
  • 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 a vö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

    1. Fraktalstruktur: komplexe Muster, die sich auf verschiedenen Skalen wiederholen
    2. Sensitivität gegenüber Anfangsbedingungen: kleine Änderungen führen zu völlig anderen Ergebnissen
    3. Aperiodische Bahnen: derselbe Pfad wird nicht wiederholt
    4. 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 a des 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 cube und sphere surface geä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 ping und pong speichern 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

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

1 Kommentare

 
GN⁺ 2025-11-01
Hacker-News-Kommentare
  • Solche 3D-Visualisierungen von Phasenräumen zeigen sehr gut, wie viele Informationen wir daraus gewinnen können
    Gleichzeitig bekommt man aber auch ein Gefühl dafür, wie viel Reichtum uns in Welten mit mehr als drei Dimensionen entgeht
    Ich frage mich, ob man mehr als 4D visualisieren könnte, etwa indem man 3D-Schnitte betrachtet oder Lagrange-Partikeln folgt und Änderungen des D-Werts farblich darstellt
    Solche Visualisierungen erinnern an die Frühzeit der statistischen Mechanik, als Boltzmann und Gibbs über Phasenraum und das Gleichgewichtskonzept stritten

    • Mein Fazit nach Werken wie Flatland oder 4D Toys ist, dass die neuronalen Schaltkreise des Menschen nicht darauf ausgelegt sind, mehr als drei Dimensionen intuitiv zu verstehen
      Wir können uns dem über Schlussfolgerungen oder ein teilweises Verständnis nähern, aber es nie vollständig graspen
      Eigentlich halte ich selbst räumliches 3D-Denken für eine große adaptive Fähigkeit, die Menschen im Vergleich zu anderen Tieren mitbekommen haben
  • Wirklich großartig! Es wäre schön, wenn man die Werte a und b anpassen und eigene Strange-Attractor-Muster finden könnte
    Eine Art freier Modus wäre sicher auch interessant

    • Ich bin der Autor. Diese Funktion ist bereits enthalten
      Auf Mobilgeräten im unteren Menü, auf dem Desktop sofort sichtbar
  • Als Teenager habe ich vor ungefähr 25 Jahren selbst einen 2D-Chaos-Attractor-Visualizer gebaut
    Dann kam mir plötzlich der Gedanke: Was wäre, wenn man das nicht visualisiert, sondern als Klang rendert?
    Ich habe Frequenz dem Winkel und Amplitude der Größe zugeordnet und beim direkten Umgang mit dem WAV-Format zum ersten Mal das Konzept der Endianness gelernt
    Das Ergebnis war nicht völlig unhörbar und klang ein wenig wie Computer-Soundeffekte aus alten Sci-Fi-Filmen

  • In der Highschool, also praktisch noch im Jurazeitalter, habe ich oft mit Attraktoren herumgespielt
    Auf einem 486er dauerte das Zeichnen eines einzelnen Bildes damals 20 bis 30 Minuten, und es ist beeindruckend, dass heute 3D-Rendering in Echtzeit möglich ist
    Solche Erfahrungen haben mein systemisches Denken über Bahnen, Instabilität und Ähnliches stark geprägt

  • Diese Visualisierung erinnert mich an Phong
    https://phong.com/

  • Zufällig habe ich diese Woche ein Fraktalgenerator-Projekt hervorgeholt, das ich 2002 in der 11. Klasse gebaut hatte, und es mit der SFML-Grafikbibliothek modernisiert
    https://github.com/gradientwolf/fractals_SFML
    Dieser Beitrag macht mich wirklich froh. Solche kleinen Projekte versetzen mich zurück in die Zeit der einfachen, reinen Neugier meiner Jugend

  • Zu der Aussage „Ich weiß nicht, ob das eine mathematisch exakte Erweiterung ist“: Tatsächlich gibt es bei Erweiterungen in höhere Dimensionen nicht die eine richtige Antwort
    Vieles ist möglich, oder vielleicht auch gar nichts
    Trotzdem ist schon der Versuch einer „hinreichend guten Annäherung“ interessant
    Wenn man sich zum Beispiel die Versuche anschaut, ein 3D-Mandelbrot zu erzeugen, gibt es keine perfekte Lösung, aber sehr interessante Möglichkeiten

  • Wirklich wunderschön. Es ist, als würde man dem Schwarmtanz von Staren zusehen
    https://www.youtube.com/watch?v=V4f_1_r80RY

  • Die Art, wie die mathematische Theorie erklärt wurde, ist sehr intuitiv und erfrischend
    Es wäre wirklich spannend, wenn auch über andere Themen geschrieben würde

  • Diese Visualisierung erinnert mich an das „strange“-Modul von xscreensaver