Mandelbrotmængden

Billede 1a. Mandelbrotmængden, Mandelbrotfraktalen, er det sorte område. Resten kan siges at være fraktalens aura. 1b. Udsnit af øvre højre rand.
Billede 2. Ved nærmere betragtning ses, at grænsen mellem mandelbrotmængden og auraen har en yderst kompleks struktur, stedvis med kopier af den oprindelige figur i mindre skala. (Eng. "minimandels".).
Billede 3. Et stadigt tilbagevendende tema er, at der gentages et lignende mønster gang på gang i stadig mindre skala. Mønsteret forsvinder ned i "sorte huller" og desuden i serier, hvor hullerne gentages i lange rækker eller spiraler ved siden af hinanden. Mønsteret varierer også alt efter hvor stor skala, som vises.
Billede 4. I normale tilfælde testes, om absolutværdien af z er mindre end to, men det går tillige for eksempel som i billedet oven for at anvende absolutværdien af alene realdelen |(Re z = x)| < 2 eller lignende med y koordinaten. Man kan desuden addere op begge eller finde på noget andet intressant, mulighederne er mange. Sådanne variationer af fraktalen påvirker oftest ikke udseendet på mængden i nogen særlig udstrækning, men kan derimod give auraen forskellig karakter; i dette tilfælde et blomsterladslignende bølgemønster, hvor det ellers kun er jævne kurver.

Mandelbrotmængden er en berømt fraktal opkaldt efter den franske matematiker Benoît B. Mandelbrot.

Matematisk set er Mandelbrotmængden ikke vigtig, men den er vigtig for at forstå, hvordan simple formler kan frembringe komplekse strukturer.

Historie

Funktionen, som ligger bag Mandelbrotmængden, blev oprindeligt opdaget i 1905 af den franske matematiker Pierre Fatou og studeredes senere videre af hans kollega Gaston Julia, som i slutningen af 1920'erne arbejdede med metoder som itererer enkle komplekse funktioner. Julia opdagede også de med Mandelbrotmængden beslægtede Juliamængder. Fatou og Julia undersøgte først og fremmest konvergenser af bestemte parametre; Julia lavede nogle afbildninger med lav opløsning, mens vore dages bedre visualiseringer kræver mere datakraft til de omfattende beregninger.

Benoît B. Mandelbrot var ansat ved IBM og arbejdede blandt andet med at forsøge at få bugt med visse typer af støj, et kaosfænomen kaldet cantorstøv, som opstår ved datakommunikation, hvilket foranledigede ham til at eksperimentere med kaotiske forløb. Da han genopdagede Julias arbejder, havde han fordelen af at være blandt de første med adgang til den nødvendige datakraft. Der skabte han det første billede af mandelbrotmængden, en sort/hvid udskrift på papir. Han beskrev sine resultater i 1982.

Definition

Mandelbrotmængden er en mængde af punkter i den komplekse talplan, nemlig de komplekse tal c = c1+ic2 for hvilke den rekursive talfølge zn, definieret af

ikke går mod uendelig, når startværdien er z0 = 0.

For at beregne et billede af Mandelbrotmængden, antager man, at hvert billedpunkt modsvarer et specifikt c, hvilket genererer en specifik talfølge, og efter som et digitalt billede indeholder et endeligt antal billedpunkter, indebærer det, at et endeligt antal talfølger behøver at blive undersøgt med hensyn til divergens.

Man kan vise, at talfølgen altid divergerer, hvis den absolutte værdi (modulus) af noget zn bliver større end 2. Eftersom det ikke er muligt at udføre et uendeligt antal iterationer på endelig tid vælges i praksis et forudbestemt, maksimalt antal iterationer, og hvis |zn| for en specifik talfølge ikke overstiger 2 inden, at man når denne iteration, så antager man, at modsvarende c tilhører mandelbrotmængden, ellers ikke.

Formlen ovenfor er skrevet med komplekse tal, men det går tillige at udtrykke det samme med reelle tal. I stedet for det komplekse tal c undersøges da punktet (a,b), og i stedet for den komplekse talfølge zn fås da to reelle talfølger xn og yn:

Formelens funktion

Først bestemmes hvor mange gange, funktionen skal itereres eller det maksimale beløb indexregneren n kan antage. Dette for at det ikke går at eksakt beregne fraktalen, men hvad der nås, er en approximation af den. Det i sin tur bero på, at visse punkter kan tage nærmere uendeligt mange iterationer på sig inden de forlader systemet, og det går jo ikke at beregne. Næste trin er at vælge et punkt (eller koordinatpar om man vil). Den modsvarer punkter i det komplekse talplanet, som skal analyseres for, hvorvidt det er et punkt i mandelbrotmængden eller ej. Siden sættes parameteren z til att pege på origo, altså nulpunktet. Også indexregneren nulstilles:

max n = præcisionsgrad   Antal iterationer
c = [a, b]            Punkterne som analyseres
z(n = 0) = [0, 0].     Nulstillet z og n

Dette er udgangssituationen, for at siden prøve om punktet c tilhører mandelbrotmængden, itereres formlen oven for og ved hver iteration testes, om absolutbeløbet af z har nået over grænseværdien som anger størrelsen på fangstmængden som bruges, i dette tilfælde er det |z| < 2,0 som er fangstmængde. Om udtrykket er sandt, så gøres næste gentagelse; i andet fald er z den for radien 2,0 og kommer garanteret at gå mod uendelighed. Om z derimod ikke går mod uendelighed, så afbrydes beregningerne når indexregneren n har nået sin maxværdi "max n" og punktet antages at være en delmængde af mandelbrotmængden. (Det betyder, at punktet ligger inden for det sorte område i billede 1a. Det store cirkelsegment, som synes lidt utydeligt længst til venstre i billedet, modsvarer |z| == 2.0, og er grænsen for, hvor z er faldet uden for fangstmængden efter den første iteration. Næste kurve i ordningen modsvarer den anden gentagelse osv.)

For at beregne absolutbeløbet af z så kvadreres x og y siden drages roden af summen:

Absolutbeløb; (to dimensioner)
|z| = sqrt(x² + y²)
Jævnfør; Pythagoras sætning, længden på hypotenusen.

Men da |z| < max er analog med |z|² < max², så gælder tillige (x² + y²) < max², hvilket indebærer, at det går at undgå beregningsbesværet i roduddragningen og teste direkte på max², (i dette tilfælde 4,0), i stedet [1].

Algoritme

Nu regner det altså ikke med kun en formel, men der behøves tillige en algoritme. Algoritmens opgaver er at inddele talplanet i et rudenet, som har samme opløsning som billedfladen, som fraktalen skal vises på, udføre beregningerne og teste vilkår for fangstmængde og indexregnere og der efter gentage eller afbryde. Rudenettet modsvarer koordinaterna (c) som skal approximeres og arbejdes af punkt for punkt til hele billedet er klart. Afbrydes beregningen på grund af, at z falder uden for fangstmængden, så betyder det, at c peger på en punkt i auraen og gives da sædvanligvis en farve fra en præ-definieret palet (egentlig en tabel), så anvendes normalt den opnåede værdi for n som index, når farven hentes fra tabellen. Siden skrives punktet der i den aktuelle farve ved koordinaten c. Opnår indexregneren der imod maxværdien, så skrives vanligvis et sort punkt der for at markere, at den tilhører mandelbrotmængden.

Pseudokode (hvor operanderne er i normal tekst og operatorerne i fed stil) .

Regn b fra -2,0 til 2,0
  Regn a fra -2,0 til 2,0
    Sæt c til [a, b]
    Sæt z til [0, 0]
    Sæt n til 0
    Hvis |z| < 2 Og n < max n
      Sæt z til z² + c
      Forøg n med 1
    Gentag
    Sæt aktuel farve til n
    Skriv_pixel [a, b]
  Næste a
Næste b

I populærkultur

  • Jonathan Coultons sang "Mandelbrot Set" (det engelske navn for Mandelbrotmængden) er en hyldest både til Mandelbrotmængden og Benoît Mandelbrot.
  • Arthur C. Clarkes roman The Ghost from the Grand Banks nævnes en kunstig sø der er lavet i samme form som Mandelbrotmængden.
  • Kuko De Kobras sang "Mandelbrot X" omhandler livets mange gentagelser set som en art fraktaler.

Billedgalleri

Zoom i en mandelbrotmængde
Zoom i mandelbrotmængden, hvor det kan ses at man kan finde mandelbrotmængden selv i mandelbrotmængden.
Animation de l'ensemble pour n allant de 2 à 5
Animation af den generaliserede Mandelbrotmængden skrevet med formlen med d fra 2 til 5.
Billede af juliamængden, på billedsiden findes en fordybelse, hvor man kan læse om teknikken, som har skabt billederne på siden.
Højopløst billede af mandelbrotmængden
Buddhabrot er en speciel rendering af mandelbrotmængden.
Wikimedia Commons har medier relateret til:


Se også

  • Mandelbulb – et forsøg på at lave en 3D-analogi til Mandelbrotmængden

Litteratur

  • Jesper Frandsen (1992). Komplekse tal og fraktaler (1. udgave). Systime. ISBN 87-7783-188-8.

Eksterne henvisninger

Noter

  1. ^ (at beregne fraktaler er vældigt proceskrævende således, at intet gøres unødvendigt)

Medier brugt på denne side

Juliamängden vid koordinaten (-1.404289, 0).jpg
Upper; Julia set at point C = [-1.404289, 0.0], Bottom; Section from midpoint .
Animation de l'ensemble de Mandelbrot.gif
Forfatter/Opretter: Alex Tav, Licens: CC BY-SA 3.0
Animation of the set for d from 2 to 4
Mandelbrot sequence new.gif
Used Zom-B's library with my own code and a golden gradient (similar to the default gradient used in Ultra Fractal). Each scene is 6x supersampled to remove sharp edges. Took... a while to render

Links to Java source code: Zom-B version project directory containing DoubleDouble class, adjustments made by Simpsons Contributor to keep max iteration and anti-aliasing factor at more conservative values for faster rendering. New golden gradient added. Includes animated gif encoder.

Zom-B version

Mandelbrot zoom with center at (-0.743643887037158704752191506114774, 0.131825904205311970493132056385139) and magnification 1 .. 3.18 × 1031 created using my own Java program, using:

  • Double-double precision (self-written library),
  • Adaptive maxiter depending on the inverse square root of the magnification
  • Adaptive per-pixel antialiasing strength depending on the maximum iteration of nearby pixels (15x AA max), (during antialiasing phase, maxiter is quadrupled),
  • Iteration smoothing,
  • New warm gradient which also gives clearer details, applied to the base-2 log of the smoothed iteration number,
  • Modified periodicity checking algorithm from Fractint, for significant speedup,
  • Main cardioid and period-2 bulb checking for another speedup,
  • Multi-threaded calculation
  • 136 hours calculation time on two PC's (6 cores combined)
Buddhabrot-W1000000-B100000-L20000-2000.jpg
Forfatter/Opretter: UnreifeKirsche, Licens: CC BY 3.0
En sammensat Buddhabrot (en speciel rendering af Mandelbrot-fraktalen ved 20.000 (violet), 100.000 (blå) og 1.000.000 (hvid) iterationer.
Mandelbrotzoom Wiki h265 CRF04 20210412 006GANZ.webm
Forfatter/Opretter: PantheraLeo1359531 😺 (diskussion), Licens: CC0
An example for the zoom into the Mandelbrot set. This video is a renewed version of File:Fractal-zoom-1-15-rupture.ogv. The video resolution is out of date and shows significant compression artifacts. This version here tries to meet technical standards from today with 8000 x 4500 ("8K"/"FUHD") at 60 frames per second. Of course, this video will be too old for future standards.
Mandelbrotmängden stor.jpg

sv:Mandelbrotmängden, (en sv:fraktal).

Andra bilder i samma serie:

Icke linjära fraktaler:
Exempel på sv:Juliamängden
Exempel på den tomma sv:Juliamängden
Newton-Raphsons metod
Kategori:Bilder av fraktaler