plezier met Fractals (Julia)

iets heel simpels vond ik hier:

een fractal is een nooit eindigend patroon. Fractals zijn oneindig complexe patronen die op verschillende schalen gelijkaardig zijn. Ze worden gemaakt door het herhalen van een eenvoudig proces over en over in een voortdurende feedback loop. Gedreven door recursie, fractals zijn beelden van dynamische systemen — de beelden van Chaos. Geometrisch, ze bestaan tussen onze bekende dimensies. Fractal patronen zijn zeer vertrouwd, omdat de natuur is vol fractals. Bijvoorbeeld: bomen, rivieren, kustlijnen, bergen, wolken, schelpen, orkanen, enz. Abstracte fractals — zoals de Mandelbrot-Set – kunnen worden gegenereerd door een computer die steeds weer een eenvoudige vergelijking berekent.

wat hier staat is dat fractals kunnen worden gezien als een proces dat iteratief en repetitief is. Overweeg de zonnebloempitten in de onderstaande afbeelding:

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

zoals je kunt zien, bestaat daar een waarneembare sequentie. Het patroon, dat de Fibonacci-reeks volgt, is het wiskundige achtergrondgedrag dat wordt gevolgd door de zonnebloempitten. Omdat het iteratief en herhaald is, kan het worden gedacht aan een faculteit waarvan de vergelijking sterk afhankelijk is van het gouden rantsoen (1.618…), dat is de verhouding tussen een getal en het vorige getal in een Fibonacci-reeks.

er zijn veel natuurlijke processen, die een zeer specifiek, repetitief proces volgen, en het lijkt alsof een sterke wiskundige achtergrond hun gedrag beheerst.

Julia Fractals

” Julia “is een klasse van complexe wiskundige functies, waarvan wordt gezegd dat het gedrag, hoewel repetitief,”chaotisch” is. Volgens een Wikipedia-artikel:

Chaos: wanneer het heden de toekomst bepaalt, maar het bij benadering heden niet bij benadering de toekomst bepaalt.

volgens een zeer eenvoudige, maar elegante uitleg hier:

Julia set fractals worden normaal gegenereerd door het initialiseren van een complex getal z = x + yi waar i^2 = -1 en x en y zijn beeldpixelcoördinaten in het bereik van ongeveer -2 tot 2. Dan wordt z herhaaldelijk bijgewerkt met: z = z^2 + c waarbij c een ander complex getal is dat een specifieke Julia-verzameling geeft. Na tal van iteraties, als de magnitude van z kleiner is dan 2 zeggen we dat pixel in de Julia-set zit en kleuren het dienovereenkomstig. Het uitvoeren van deze berekening voor een heel raster van pixels geeft een fractal afbeelding.

Yep. Dat is zo ongeveer het geval, en nu zullen we zien hoe we dit allemaal kunnen implementeren in een heel kort python-script.

eerst hebben we een bibliotheek nodig om met de afbeeldingen om te gaan, en een andere bibliotheek om met het plotten om te gaan.

importeren van het benodigde materiaal

vervolgens moeten we enkele globale constanten definiëren voor ons, wat zal helpen bij het fractal generatieproces.

vervolgens zien we de krachtpatser van deze hele post, de kernfunctie die eigenlijk een fractal genereert en een bitmap-afbeelding retourneert. Sommige standaard ingangen voor de functie zijn ingesteld, die de exacte fractal zal genereren, zoals gebruikt in de omslagfoto van dit bericht, maar je kunt tweaken rond met verschillende ingangen om uw eigen unieke fractals te genereren. De code is enigszins een gewijzigde vorm van de oorspronkelijke kern die hier is geschreven.

omdat je een gedefinieerde functie hebt, hoef je het alleen maar te noemen, en het zo te plotten:

gewoon om het leven gemakkelijker te maken voor u, hier is de volledige code in een enkele gist (voor het geval je niet het gevoel dat het kopiëren van individuele fragmenten).

ik heb geprobeerd met verschillende configuraties, en hier zijn enkele interessante resultaten:

Julia Fractal: cX = 0.285, cY = 0.01, colorTup = (14, 13, 7)

Julia Fractal: cX = 1-goldenRatio, cY = 0, maxIter = 64, colorTup = (12, 17, 7)

En tot slot, laten we proberen om iets te krijgen “Gothic” door het veranderen van onze ingangen.

Julia Fractal: cX = -0,7269, cY = 0.1888, maxIter = 255, colorTup = (0, 0, 1)

zoals je kunt zien, met een zeer kleine verandering (binnen minder dan 1 eenheid) in de ingangen van onze functie, kunnen we een totaal nieuwe reeks genereren. Dat is chaos. Het geschatte heden voorspelt geen geschatte toekomst. Om het op een eenvoudige manier te zeggen,

het is alsof ik een borstel heb, ik selecteer wat kleuren, maar ik heb geen idee wat de borstel zal doen zodra het het doek raakt. Het schildert chaos.

wat nu? We kunnen 3D-fractals genereren, die er veel cooler uitzien dan alles wat je hebt gezien, als het wordt weergegeven met de juiste details.

hier is een leuke uitdaging voor je als je het naar een heel nieuw niveau wilt tillen. Als je afbeeldingen als deze kunt genereren, Weet ik zeker dat je ook video ‘ s kunt genereren, en misschien krijg je zoiets Cools als dit:

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

Dit is slechts een introductie tot Julia fractals. Er zijn vele andere soorten fractals, die kunnen worden gegenereerd door het wijzigen van de onderliggende vergelijking, i-e z = z2 + c. Ik zal echt (als, echt) blij zijn als je eigenlijk uit te vinden nieuwere, betere patronen met behulp van andere soorten fractals, en kan komen met een aantal verbluffende artistieke output. Als je dat doet, laat het me dan weten. En nu ook niet.

You might also like

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.