Fun fraktálok (Julia)

valami nagyon egyszerű találtam itt:

a fraktál egy soha véget nem érő minta. A fraktálok végtelenül összetett minták, amelyek önmagukban hasonlóak a különböző skálákon. Ezeket úgy hozzák létre, hogy egy egyszerű folyamatot újra és újra megismételnek egy folyamatos visszacsatolási ciklusban. A rekurzió által vezérelt fraktálok dinamikus rendszerek képei — a káosz képei. Geometriailag az ismerős dimenziók között léteznek. A fraktálminták rendkívül ismerősek, mivel a természet tele van fraktálokkal. Például: fák, folyók, tengerpartok, hegyek, felhők, kagylók, hurrikánok stb. Absztrakt fraktálok — mint például a Mandelbrot-halmaz-előállítható egy számítógéppel, amely újra és újra kiszámít egy egyszerű egyenletet.

ez azt mondja, hogy a fraktálokat iteratív és ismétlődő folyamatnak lehet tekinteni. Tekintsük a napraforgómagot az alábbi képen:

forrás: https://www.greenmylife.in/shop/seeds/flowering-annuals-seeds/sunflower-seeds/large-bloom-sunflower/

mint látható, egy megfigyelhető szekvencia létezik ott. A Fibonacci-szekvenciát követő minta a matematikai háttér viselkedés, amelyet a napraforgómag követ. Mivel iteratív és ismétlődő, elképzelhető egy faktoriális, amelynek egyenlete nagymértékben függ az aranyarány (1,618…), amely egy szám és az előző szám aránya egy Fibonacci-sorozatban.

nagyon sok természetes folyamat van, amelyek egy nagyon specifikus, ismétlődő folyamatot követnek, és úgy tűnik, mintha egy erős matematikai háttér irányítja viselkedésüket.

Julia fraktálok

A”Julia” a komplex matematikai függvények osztálya, amelynek viselkedése, bár ismétlődő, azt mondják, hogy “kaotikus”. Egy Wikipedia cikk szerint:

káosz: amikor a jelen meghatározza a jövőt, de a hozzávetőleges jelen nem határozza meg megközelítőleg a jövőt.

egy nagyon egyszerű, mégis elegáns magyarázat szerint:

A Julia-halmaz fraktáljait általában egy z = x + yi komplex szám inicializálásával állítják elő, ahol i^2 = -1 és x és y képpont-koordináták A -2 és 2 közötti tartományban. Ezután z-t ismételten frissítjük: z = z^2 + c, ahol c egy másik komplex szám, amely egy adott Julia-készletet ad. Számos iteráció után, ha a Z nagysága kisebb, mint 2, azt mondjuk, hogy a pixel A Julia halmazban van, és ennek megfelelően színezzük. Ha ezt a számítást egy teljes pixelrácsra hajtja végre, fraktál képet kap.

Igen. Ez nagyjából erről szól, és most meglátjuk, hogyan tudjuk mindezt egy nagyon rövid python szkriptben megvalósítani.

először is szükségünk van egy könyvtárra a képek kezeléséhez, és egy másik könyvtárra a rajzolás kezeléséhez.

a szükséges dolgok importálása

ezután meg kell határoznunk néhány globális állandót, amelyek segítenek a fraktál generációs folyamatban.

ezután látjuk az egész bejegyzés erőművét, az alapvető funkciót, amely valójában egy fraktált generál, és egy bittérképes képet ad vissza. A funkció néhány alapértelmezett bemenete be van állítva, amely a pontos fraktált generálja, amint azt a bejegyzés borítóképén használják, de különféle bemenetekkel módosíthat, hogy saját egyedi fraktáljait generálja. A kód kissé módosított formája az itt írt eredeti magnak.

most, hogy van egy meghatározott függvényed, csak meg kell hívnod, és így ábrázolnod:

csak azért, hogy megkönnyítse az életét, itt van a teljes kód egyetlen lényegben (csak arra az esetre, ha nem lenne kedve másolni az egyes kivonatokat).

több konfigurációval próbáltam, és itt van néhány érdekes eredmény:

Julia fraktál: cX = 0,285, cY = 0,01, színtup = (14, 13, 7)

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

végül pedig próbáljunk meg valami “gótikus” dolgot elérni a bemenetek megváltoztatásával.

Julia fraktál: cX = -0,7269, cY = 0.1888, maxIter = 255, színtup = (0, 0, 1)

mint láthatja, nagyon kevés változással (kevesebb, mint 1 egységen belül) a funkciónk bemeneteiben teljesen új szekvenciát hozhatunk létre. Ez Káosz. A hozzávetőleges jelen nem jósolja meg a hozzávetőleges jövőt. Ahhoz, hogy ez egy egyszerű módja,

olyan, mintha kaptam volna egy ecsetet, kiválasztok néhány színt, de fogalmam sincs, mit fog tenni az ecset, amint megérinti a vásznat. Csak káoszt fest.

mi a következő lépés? Létrehozhatunk 3D fraktálokat, amelyek sokkal hűvösebbnek tűnnek, mint bármi, amit láthat, ha megfelelő részletekkel renderelik.

itt egy szép kihívás az Ön számára, ha azt szeretné, hogy ez egy teljesen új szintre. Ha ilyen képeket tudsz generálni, biztos vagyok benne, hogy videókat is tudsz generálni, és lehet, hogy valami olyan klasszat kapsz, mint ez:

forrás: https://en.wikipedia.org/wiki/Julia_set#/media/File:JSr07885.gif

ez csak egy bevezetés A Julia fraktálokhoz. Sok más típusú fraktál létezik, amelyek az alapul szolgáló egyenlet módosításával hozhatók létre, azaz-e z = z2+c. nagyon (mint például, really) örülök, ha valóban kitalálsz újabb, jobb mintákat más típusú fraktálok felhasználásával, és lenyűgöző művészi kimenettel állhat elő. Ha mégis, csak szólj. Kijelentkezés sem most!

You might also like

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.