Fractals zelf doen:
Bifurcatie diagram volgens Collet

In zijn boek "Fractals. Meetkundige figuren in eindeloze herhaling" beschrijft Prof. Hans Lauwerier (1923 - 1997) een aantal fractals. Hierbij zijn programmaatjes beschikbaar die zijn geschreven in een variant van BASIC, die vandaag de dag niet meer wordt gebruikt. Omdat de code te leuk is om te worden vergeten heb ik die omgezet in JavaScript.

Op deze pagina wordt programma COLLET (pag. 153 van het boek) gebruikt. Dit programma tekent een Bifurcatie diagram van de geremde groei, in het Model van Verhulst. Dit gaat met de functie xn+1 = a·xn·(1 - xn) (pag. 96). Klik HIER voor een preview (Let op: de berekening duurt lang).

Voor a < 2.9 verloopt de functie stabiel. In het interval 2.9 ≤ a ≤ 4 is er een overgang van stabiliteit naar compleet chaotisch gedrag bij a > 4.
De punten waar een splitsing te zien is, heten bifurcatie. Dat is afgeleid van de Latijnse woorden voor twee (bi) en vork (furca). Collet is de naam van een van de eerste onderzoekers die zich met deze materie heeft bezig gehouden.

De figuur lijkt veel op de Fractal van Feigenbaum, die feitelijk ook een bifurcatie diagram is. Het verschil zit in formule: Feigenbaum gebruikt xn+1 = xn2 + c, waarbij x en c reële getallen zijn. Als je voor x complexe getallen neemt, en voor c een complex of reëel getal, ontstaan de fractals van Julia en Mandelbrot.

Onderstaande uitleg bevat wat jargon. Dat komt aan de orde op mijn site over fractals.
Belangrijke parameters van het programma zijn: svgW en svgH (afmetingen van de figuur, in het voorbeeld 760 × 570 beeldpunten) en NMAX (Aantal stappen, = 600). Verder zijn er parameters YM (Schaalfactor voor de verticale as, = 240), A1 en A2 (Beginpunt resp. eindpunt van het bifurcatieinterval, = 2.9 resp. 4). Al deze parameters kun je wijzigen om de invloed op de uitkomst te onderzoeken. Maar probeer ook eens om op andere plaatsen in de code te wijzigen …!

Het JavaScript-programma is als volgt opgebouwd:

Gebruiken:

Om met de code te spelen moet je deze downloaden naar je eigen computer en uitpakken. Start collet.htm door er op te klikken, gebruik zo nodig een lokale webserver. Je hebt meteen een werkend programma.
Als je met de parameters gaat spelen, zul je vaak de variabelen ShX en ShY moeten aanpassen om de plot in de viewport te houden.
Raadpleeg het item Een workflow voor het ontwikkelen van JavaScript, in het bijzonder de opmerkingen over hoe je lokaal kunt werken (dus zonder steeds te hoeven uploaden naar de servers van je webhost).
Vereiste schermgrootte is 800 × 710 pixels. De toepassing op deze site maakt SVG-code aan, die wordt getoond door de inhoud van een <svg>-tag aan te passen.

Downloaden:
 
Druk op de knop: Download deze code  File: voorb714.zip, 1993 bytes.

 
terug

html-714; Laatste wijziging: 13 februari 2023