sjov med fraktaler (Julia)

noget virkelig simpelt Jeg fandt herinde:

en fraktal er et uendeligt mønster. Fraktaler er uendeligt komplekse mønstre, der ligner sig selv på tværs af forskellige skalaer. De er skabt ved at gentage en simpel proces igen og igen i en løbende feedback loop. Drevet af rekursion er fraktaler billeder af dynamiske systemer — billederne af kaos. Geometrisk findes de mellem vores velkendte dimensioner. Fraktale mønstre er yderst velkendte, da naturen er fuld af fraktaler. Eksempel: træer, floder, kyster, bjerge, skyer, muslingeskaller, orkaner osv. Abstrakte fraktaler — såsom Mandelbrot-sæt-kan genereres af en computer, der beregner en simpel ligning igen og igen.

hvad dette siger er, at fraktaler kan betragtes som en proces, der er iterativ og gentagen. Overvej solsikkefrøene i nedenstående billede:

kilde: https://www.greenmylife.in/shop/seeds/flowering-annuals-seeds/sunflower-seeds/large-bloom-sunflower/

som du kan se, findes der en observerbar sekvens derinde. Mønsteret, der følger Fibonacci-sekvensen, er den matematiske baggrundsadfærd, der efterfølges af solsikkefrøene. Da det er iterativt og gentaget, kan det tænkes på en faktor, hvis ligning er meget afhængig af den gyldne ration (1.618…), som er forholdet mellem et tal og det forrige tal i en Fibonacci-sekvens.

der er mange naturlige processer, der følger en meget specifik, gentagen proces, og det ser ud som om en stærk matematisk baggrund styrer deres adfærd.

Julia fraktaler

“Julia” er en klasse af komplekse matematiske funktioner, hvis adfærd, selvom den gentages, siges at være “kaotisk”. Ifølge en artikel:

kaos: når nutiden bestemmer fremtiden, men den omtrentlige nutid bestemmer ikke tilnærmelsesvis fremtiden.

ifølge en meget enkel, men alligevel elegant forklaring her:

Julia set fraktaler genereres normalt ved initialisering af et komplekst tal, hvor jeg^2 = -1 og Y er billedpunktskoordinater i området omkring -2 til 2. 2 + C, hvor c er et andet komplekst tal, der giver et specifikt Julia-sæt. Efter adskillige iterationer, hvis størrelsen på å er mindre end 2, siger vi, at punkt er i Julia-sættet og farver det i overensstemmelse hermed. Udførelse af denne beregning for et helt gitter af billedpunkter giver et fraktalt billede.

Jep. Det handler stort set om det, og nu ser vi, hvordan vi rent faktisk kan implementere alt dette i et meget kort python-script.

først har vi brug for et bibliotek til at håndtere billederne og et andet bibliotek til at håndtere plotningen.

import af de nødvendige ting

Dernæst skal vi definere nogle globale konstanter pels os, som vil hjælpe i fraktalgenereringsprocessen.

dernæst ser vi kraftværket i hele dette indlæg, kernefunktionen, som faktisk genererer en fraktal, og returnerer et bitmapbillede. Nogle standardindgange til funktionen er indstillet, hvilket genererer den nøjagtige fraktal, som brugt på forsidebilledet af dette indlæg, men du kan finjustere med forskellige input for at generere dine helt egne unikke fraktaler. Koden er noget en modificeret form af den oprindelige kerne skrevet i her.

nu da du har en defineret funktion, skal du bare kalde den og plotte den sådan:

bare for at gøre livet lettere for dig, her er den komplette kode i en enkelt kerne (bare hvis du ikke har lyst til at kopiere individuelle uddrag).

jeg forsøgte med flere konfigurationer, og her er nogle interessante resultater:

Julia fraktal: C = 0,285, cY = 0,01, colorTup = (14, 13, 7)

Julia fraktal: C = 1-goldenRatio, cY = 0, maks = 64, colorTup = (12, 17, 7)

og endelig, lad os prøve at få noget “gotisk” ved at ændre vores input.

Julia Fractal: C = -0.7269, cY = 0.1888, maks. = 255, farve = (0, 0, 1)

som du kan se, med en meget lille ændring (inden for mindre end 1 enhed) i indgangene til vores funktion, kan vi generere en helt ny sekvens. Det er kaos. Den omtrentlige nutid forudsiger ikke omtrentlig fremtid. For at sige det på en enkel måde,

det er som om jeg har en børste, jeg vælger nogle farver, men jeg aner ikke, hvad børsten vil gøre, så snart den berører lærredet. Det maler bare kaos.

hvad næste? Vi kan generere 3D fraktaler, som ser langt mere køligere ud end noget, du måske har set, hvis de gengives med korrekte detaljer.

her er en dejlig udfordring for dig, hvis du vil tage det til et helt nyt niveau. Hvis du kan generere billeder som dette, er jeg sikker på, at du også kan generere videoer og måske ende med at få noget så sejt som dette:

kilde: https://en.wikipedia.org/wiki/Julia_set#/media/File:JSr07885.gif

dette er blot en introduktion til Julia fractals. Der er mange andre former for fraktaler, som kan genereres ved at ændre den underliggende ligning, i-E S = S2+c. Jeg vil være virkelig (som virkelig) glad, hvis du rent faktisk finder ud af nyere, bedre mønstre ved hjælp af andre former for fraktaler, og kan komme op med nogle fantastiske kunstneriske output. Hvis du gør det, lad mig det vide. Signing off heller ikke nu!

You might also like

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.