Algemene informatie

Overzicht

Fraxion is een multi-threaded verkenner voor fractalen, hoofdzakelijk gebaseerd op Mandelbrot/Julia-type, Newton/Raphson-type, Magneet-type en Markus/Lyapunov-type fractalen. Het begon als een manier om de klassieke Mandelbrot verzameling te tonen en daarbij interactief verschillende duale Julia verzamelingen te bekijken, door de iteratie van volgende vergelijking:

Om de Mandelbrot verzameling als een hoofdfractaal te maken, itereren we over alle pixels in het getoonde gebied, daarbij telkens startend met z0 gelijk aan nul en c gelijk aan de relatieve locatie van de schermpixel in het complexe vlak. Tijdens de iteraties is z dus variabel en wordt c als constante genomen.

Gelijklopend, wordt de Julia verzameling als een duale fractaal geconstrueerd door c als een constante waarde te nemen en over alle pixels in het getoonde gebied te itereren, daarbij telkens startend met z0 gelijk aan de relatieve locatie van de schermpixel in het complexe vlak. Merk op dat we meestal de ingevulde Julia verzameling bedoelen, aangezien de Julia verzameling zelf de grens van deze laatste is. Het complement van een ingevulde Julia verzameling wordt een Fatou verzameling genoemd. De Mandelbrot verzameling bevindt zich in het c complexe parameter vlak, de Julia verzameling in het z complexe dynamische vlak. De fundamentele dichotomie stelt dat Julia verzamelingen ofwel verbonden zijn, ofwel uit oneindig veel losse punten (i.e., een Cantor verzameling) bestaan. Sterker nog, als een punt in de Mandelbrot verzameling ligt, dan is de corresponderende Julia verzameling verbonden (wegens een gebonden orbit). Als daarentegen een punt buiten de Mandelbrot verzameling ligt, dan is de corresponderende Julia verzameling fractaal stof (wegens een divergerende orbit).

Elk punt wordt dus geklasseerd als zijnde binnen dan wel buiten de Mandelbrot en Julia verzamelingen, afhankelijk van het feit of diens orbit nooit ontsnapt (convergeren), wat betekent dat de orbit tot een enkel vast punt wordt aangetrokken of in een periodieke cyclus terechtkomt, of daarentegen naar oneindig ontsnapt (divergeren). Dit wordt getoond in de volgende voorbeelden, waar we telkens de voorwaartse orbit in het complexe vlak voor de Mandelbrot verzameling tonen, samen met een analysepaneel dat de tijdsreeksen bevat van de log-log modulus (bovenste gedeelte) en de hoek (onderste gedeelte).

Enkel vast punt attractor
Periodieke cyclus (veelhoekvorm)
Periodieke cyclus (stervorm)
Ontsnappend naar oneindig

Achter de schermen verdeelt de Fraxion toepassing het scherm in evengrote blokken (het aantal kan aangepast worden met de Stel aantal te gebruiken blokken in optie in het Multithreading menu). Elk blok wordt dan willekeurig gekozen, opdat de werklast van snel divergerende en langzaam convergerende gebieden verdeeld wordt. Fraxion start dan verschillende threads die op het aantal beschikbare CPU cores in het systeem worden uitgevoerd, inclusief hyperthreads (het aantal kan aangepast worden met de Stel aantal te gebruiken CPU cores in optie in het Multithreading menu). Bij meerdere beschikbare CPU cores laat Fraxion er standaard 1 ongebruikt, om zo nog voldoende rekenkracht voor andere toepassingen te laten. Fraxion berekent en bewaart tot 15 parameters voor elk punt in het complexe vlak, wat zijn zware rekentijden verklaart. Alle resultaten worden in een iteratie resultatenbuffer bewaard. Vervolgens gebruikt de toepassing de gekozen kleuralgoritmes om een beeldbuffer te construeren, die dan op het scherm wordt getoond. Als de kleuren later aangepast worden, dan hoeft de toepassing enkel de beeldbuffer aan te passen, in plaats van de hele resultaatbuffer opnieuw te moeten berekenen.

Fraxion ondersteunt momenteel convergerende algoritmes (gebaseerd op ontsnappingstijden) voor Mandelbrot/Julia-type fractalen, divergerende algoritmes (gebaseerd op worteldetectie) voor Newton/Raphson-type fractalen, zowel convergerende als divergerende algoritmes voor Magneet-type fractalen en expliciete bifurcatieberekeningen voor Markus/Lyapunov-type fractalen.

Contact

Fraxion (versie 1.3.5) werd ontworpen voor de Java 2 Platform Standaard Editie 1.8.0 of hoger. Gebruik volgende referentie voor deze toepassing:

Fraxion (2003-2016)
Sven Maerivoet
URL: http://fraxion.maerivoet.org/
E-mail: sven.maerivoet@gmail.com
Copyright 2003-2016 Sven Maerivoet

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Referenties

Toekomstig werk

De originele Mandelbrot

Beelden gereproduceerd naar Heinz-Otto Peitgen en Peter H. Richter, The Beauty of Fractals: Images of Complex Dynamical Systems, Springer-Verlag, 1986.

Eerste Mandelbrot eilandmolecule (1 Maart 1980)
Opeenvolgende zooms in de Mandelbrot verzameling (April 1980)

XHTML 1.1 Transitional | CSS2 | Creative Commons License

Sven Maerivoet (www)