Fractals en wiskunde, de grote lijn

(1) De Mandelbrot fractal getekend in zijn assenstelsel. Het kader markeert het gebied van interesse.(2) De Mandelbrot formule, met C als eerste getal (een punt uit het kader).(3) De formule maakt reeksen van getallen voor elk punt uit het kader.(4) Door de getallen te koppelen (mapping) aan kleurdefinities, tekent de grafische processor het plaatje.

Van formule naar plaatje

Hoe kom je van een wiskundige formule, wat een fractal nu eenmaal is, naar een plaatje? Hoe werkt die formule, wat gaat er in en wat komt er uit en hoe vertaalt zich dit naar een grafische weergave? Daarop probeer ik hier een antwoord te geven. Er is op andere websites al veel over geschreven en veel daarvan zijn ook zeer de moeite waard, zie INFO EN LINKS.  Maar een compleet overzicht, van begin tot eind, heb ik nooit gevonden. Een mogelijke reden hiervan is dat veel auteurs weliswaar heel goed op de hoogte zijn van de onderliggende wiskunde maar daardoor ook soms stappen overslaan in hun uitleg die voor de leek (ik dus) nodig zijn om te begrijpen. Daar komt bij dat de simpele formule, Zn+1 = Z2n + C veel meer verbergt dan in eerste instantie zichtbaar is.

De formule

Welke stappen heb je nodig om de Mandelbrot formule, Zn+1 = Z2n + C om te zetten in de bekende fractal (plaatje 1)? De getallen die een formule produceert dienen als basis voor dat plaatje, maar welke getallen gaan er in, wat komt er uit en wat doe je er verder mee?  De plaatjes hiernaast (of hierboven voor de ‘mobiele bezoekers’) laten deze stappen zien, maar er is meer over te vertellen.

Een van de dingen die goed zijn om te weten is, dat de formule Zn+1 = Z2n + C iteratief werkt. Dit betekent dat de uitkomst van een berekening opnieuw wordt gebruikt als invoer van de volgende berekening.

De n geeft het aantal herhalingen hiervan aan. Allereerst kies je voor C (hierover straks meer) een bepaalde waarde, bijv. 2. Z2n (nu nog  Z20 ) is dan gelijk aan 0 (hierover straks meer), de nieuwe Z, aangeduid met  Zn+1 en deze wordt na de eerste iteratie dus 2, omdat Z20 = 0 en C = 2 dus: Z20 = 0 + 2 = 2 De nieuwe Z wordt dus Z20+1 = Z21 .  Z20 = 2 dus de volgende iteratie wordt: Z1 = 22 + 2  en dat is hetzelfde als 4 + 2 = 6 vervolgens Z1+1 = 62 + 2 oftewel Z2 = 36 + 2 = 38 en zo kun je doorgaan. De uitkomst van de vorige wordt gebruikt als input van de volgende berekening. Nu kunnen (met deze formule) er twee dingen gebeuren; ofwel de uitkomsten worden groter en groter en uiteindelijk dus oneindig groot, ofwel de uitkomsten blijven schommelen tussen de -2 en de 2. Wiskundig is dit nog wel enigszins te begrijpen: kwadrateer een getal groter of gelijk aan 2 en het resultaat wordt steeds groter bij herhaald kwadrateren. 32 = 9 92 = 81 812 = 6561 Omgekeerd wordt een getal tussen de -1 en de 1, steeds kleiner; 0,52 = 0,25 0,252 = 0,0625 0,06252= 0,00390625. De Mandelbrot fractal is het plaatje waarbij alle (zwarte) punten gek genoeg tussen de -2 en de 2 blijven schommelen. De verzameling van al die punten wordt de Mandelbrot set genoemd. Nu weet je nooit helemaal zeker of een getal dat rond de waarde 2 lijkt te schommelen uiteindelijk toch niet oneindig groot wordt, of anders gezegd, naar oneindig ontsnapt; misschien niet na 10, na 100 of na 1000 iteraties, maar wel na 100.000. Op een gegeven moment moet je dus de knoop doorhakken omdat je niet oneindig door kunt gaan met berekenen. Vandaar dat er in de software programma’s om fractals te maken vaak een maximum aantal iteraties kan worden ingesteld, bijvoorbeeld 50 of 250 waarna de waarde vast ligt. En hiermee wordt het eerste plaatje hiernaast ook duidelijker. Getekend op het assenstelsel met een horizontale en een verticale as (hierover straks meer), ligt de hele Mandelbrot set in het gebied tussen de -2 en de 2. De bron van de getallen (voor de formule) zijn de coördinaten uit de grafiek, de Mandelbrot set is getekend voor alle punten die aan de voorwaarde (niet ontsnappen naar oneindig) voldoen. (Om het nu niet te ingewikkeld te maken heb ik ze steeds getallen genoemd, maar feitelijk zijn het complexe getallen in complexe vlak. hierover elders meer). Elk resultaat van de formule correspondeert met een pixel op je beeldscherm. Als je dus een plaatje wilt zien van 600 x 600 pixels, bijvoorbeeld het gedeelte in het kader, dan zul je dat stukje moeten verdelen in 600 x600 gedeeltes (getallen) en per getal moeten berekenen wat zijn gedrag is. Inzoomen kan simpelweg door de tussenliggende stapjes kleiner te maken. In de formule kun getallen gebruiken met stapjes van bijv. 0,1 gebruiken, 1,1, 1,2, 1,3 etc. maar natuurlijk ook kleinere stapjes zoals 1,001 , 1,002, 1,003 etc. Het aantal getallen dat je berekent kun je zo hetzelfde houden, alleen het gebiedje dat je berekent is kleiner. De vaak bontgekleurde plaatjes die je ziet van fractals laten zich indirect uit de getalswaarden van de formule herleiden. Een van de manieren om de fractals kleur te geven, is door te tellen hoeveel iteraties het getal nodig heeft gehad om deze waarde (10, 100 of 100.000) te krijgen. Alle punten met hetzelfde aantal iteratie voor die specifieke waarde krijgen vervolgens een bepaalde kleur. Een simpele manier, maar voldoende om een idee te krijgen hoe dit werkt (of liever, kan werken want er zijn legio veel ingewikkeldere manieren).

Deze pagina is voor het laatst gewijzigd op dec 10, 2018 @ 13:09