#1
31.05.2022 08:27
Am Beispiel des Komplements der Mandelbrotmenge z^2+c habe ich mal einen Zahlentyp (Fixpunkt) implementiert, der mittels Intervall-Arithmetik Rundungsfehler auffängt und so ein mathematisch verifiziertes Äußeres (bzw, genauer, eine Untermenge) berechnet.
Es war interessant zu sehen, dass der CPC nur etwa 3 Tage gebraucht hat, um ein 50x50-Bild zu berechnen: links mit c als komplexe Zahl, d.h. die Werte liegen auf einem Raster mit Abstand zueinander, und es ist unklar, was dazwischen geschieht, aber das Bild ähnelt schon entfernt den bekannten Darstellungen. Ein " "-Zeichen bedeutet, definitiv außerhalb, ein "X", aktuell unklar.
Benoit Mandelbrot hat ja seine erste grafische Darstellung Anfang der 1980er berechnet. Allerdings hat er bei IBM gearbeitet und wohl einen der damaligen Supercomputer verwenden können.
Das rechte Bild basiert auf c als komplexes Intervall, das die Fläche pflastert. Es ist in dieser Größe noch wenig aussagekräftig, dafür aber mathematisch akkurat ("ohne Lücken"😉. Eine C++-Version für größere Auflösung: https://github.com/marcm200/upperbound-rc. Dies ist aktuell aber mit dem Schneider nicht machbar.
Das angehängte Archiv hier enthält den Quellcode, eine kurze Beschreibung des Zahlentyps, der auf Tripel von Variablen basiert sowie eine Auflistung der Intervall- Arithmetik-Routinen, so dass man diese auch für andere Projekte verwenden kann. Die Routinen sind nur bedingt optimiert worden, da 3-4 Tage (geschätzt nach einem Lauf ohne Echtzeitsimulation) akzeptabel waren.
📎 _ps1_ps0.gif
📎 _retromset.zip
Es war interessant zu sehen, dass der CPC nur etwa 3 Tage gebraucht hat, um ein 50x50-Bild zu berechnen: links mit c als komplexe Zahl, d.h. die Werte liegen auf einem Raster mit Abstand zueinander, und es ist unklar, was dazwischen geschieht, aber das Bild ähnelt schon entfernt den bekannten Darstellungen. Ein " "-Zeichen bedeutet, definitiv außerhalb, ein "X", aktuell unklar.
Benoit Mandelbrot hat ja seine erste grafische Darstellung Anfang der 1980er berechnet. Allerdings hat er bei IBM gearbeitet und wohl einen der damaligen Supercomputer verwenden können.
Das rechte Bild basiert auf c als komplexes Intervall, das die Fläche pflastert. Es ist in dieser Größe noch wenig aussagekräftig, dafür aber mathematisch akkurat ("ohne Lücken"😉. Eine C++-Version für größere Auflösung: https://github.com/marcm200/upperbound-rc. Dies ist aktuell aber mit dem Schneider nicht machbar.
Das angehängte Archiv hier enthält den Quellcode, eine kurze Beschreibung des Zahlentyps, der auf Tripel von Variablen basiert sowie eine Auflistung der Intervall- Arithmetik-Routinen, so dass man diese auch für andere Projekte verwenden kann. Die Routinen sind nur bedingt optimiert worden, da 3-4 Tage (geschätzt nach einem Lauf ohne Echtzeitsimulation) akzeptabel waren.
📎 _ps1_ps0.gif
📎 _retromset.zip
