distracție cu fractali (Julia)

ceva foarte simplu am găsit aici:

un fractal este un model fără sfârșit. Fractalii sunt modele infinit de complexe care sunt auto-similare pe diferite scări. Acestea sunt create prin repetarea unui proces simplu de peste si peste într-o buclă de feedback în curs de desfășurare. Conduși de recursivitate, fractalii sunt imagini ale sistemelor dinamice — imaginile haosului. Geometric, ele există între dimensiunile noastre familiare. Modelele fractale sunt extrem de familiare, deoarece natura este plină de fractali. De exemplu: copaci, râuri, linii de coastă, munți, nori, scoici, uragane etc. Fractalii abstracți — cum ar fi setul Mandelbrot-pot fi generați de un computer care calculează o ecuație simplă de mai multe ori.

ceea ce spune acest lucru este că fractalii pot fi considerați un proces iterativ și repetitiv. Luați în considerare semințele de floarea soarelui din imaginea de mai jos:

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

după cum puteți vedea, există o secvență observabilă acolo. Modelul, care urmează secvența Fibonacci este comportamentul matematic de fundal care este urmat de semințele de floarea soarelui. Deoarece este iterativ și repetat, se poate gândi la un factorial a cărui ecuație depinde foarte mult de rația de aur (1.618…), care este raportul dintre un număr și numărul anterior dintr-o secvență Fibonacci.

există o mulțime de procese naturale, care urmează un proces foarte specific, repetitiv, și se pare că un fundal matematic puternic guvernează comportamentul lor.

Julia Fractals

„Julia” este o clasă de funcții matematice complexe, al căror comportament, deși repetitiv, se spune că este „haotic”. Potrivit unui articol Wikipedia:

haos: când prezentul determină viitorul, dar prezentul aproximativ nu determină aproximativ viitorul.

conform unei explicații foarte simple, dar elegante aici:

Fractalii setului Julia sunt generați în mod normal prin inițializarea unui număr complex z = x + yi unde i^2 = -1 și x și y sunt coordonate de pixeli de imagine în intervalul de la -2 la 2. Apoi, z este actualizat în mod repetat folosind: z = z^2 + c unde c este un alt număr complex care dă un anumit set Julia. După numeroase iterații, dacă magnitudinea lui z este mai mică de 2, spunem că pixelul este în setul Julia și îl colorează în consecință. Efectuarea acestui calcul pentru o întreagă rețea de pixeli oferă o imagine fractală.

Da. Asta e destul de mult despre asta, iar acum vom vedea cum putem implementa de fapt toate acestea într-un script python foarte scurt.

în primul rând, avem nevoie de o bibliotecă care să se ocupe de imagini și de o altă bibliotecă care să se ocupe de complot.

importarea chestii necesare

apoi, avem nevoie pentru a defini unele constante globale blană ne, care va ajuta în procesul de generare fractal.

apoi, vom vedea Centrul de putere al acestui întreg post, funcția de bază care generează de fapt un fractal, și returnează o imagine bitmap. Unele intrări implicite pentru funcția sunt setate, care va genera fractal exact, așa cum este utilizat în fotografia de copertă a acestui post, dar puteți tweak în jurul cu diferite intrări pentru a genera propriile fractali unice. Codul este oarecum o formă modificată a nucleului original scris aici.

acum, din moment ce aveți o funcție definită, trebuie doar să o apelați și să o complotați astfel:

doar pentru a vă ușura viața, iată codul complet într-un singur rezumat (doar în cazul în care nu aveți chef să copiați fragmente individuale).

am încercat cu mai multe configurații și iată câteva rezultate interesante:

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)

și, în sfârșit, să încercăm să obținem ceva „gotic” schimbându-ne intrările.

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

după cum puteți vedea, cu o schimbare foarte mică (în mai puțin de 1 unitate) în intrările funcției noastre, putem genera o secvență complet nouă. Asta e haos. Prezentul aproximativ nu prezice viitorul aproximativ. Pentru a pune într-un mod simplu,

este ca și cum aș avea o perie, selectez câteva culori, dar habar nu am ce va face peria imediat ce atinge pânza. Doar pictează haosul.

ce urmează? Putem genera fractali 3D, care arată mult mai cool decât orice ați fi văzut, dacă ar fi redat cu detalii adecvate.

Iată o provocare frumos pentru tine, dacă doriți să-l ia la un nivel cu totul nou. Dacă puteți genera astfel de imagini, sunt sigur că veți putea genera și videoclipuri și s – ar putea să obțineți ceva la fel de cool ca acesta:

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

aceasta este doar o introducere la Julia fractals. Există multe alte tipuri de fractali, care pot fi generate prin modificarea ecuației de bază, adică z = z2 + c. voi fi într-adevăr (cum ar fi, reallyyy) bucuros dacă vă dați seama de modele mai noi, mai bune, folosind alte tipuri de fractali, și puteți veni cu unele rezultate artistice uimitoare. În caz că o faci, Anunță-mă. Semnarea off nici acum!

You might also like

Lasă un răspuns

Adresa ta de email nu va fi publicată.