Twoja wyszukiwarka

DOMINIK SZCZERBA
FRAKTALNE OBLICZE NATURY
Wiedza i Życie nr 10/1996
Artykuł pochodzi z "Wiedzy i Życia" nr 10/1996

Obserwując przyrodę często upraszczamy ją, sprowadzając jej formy do prostych brył geometrycznych. I tak: horyzont to linia prosta, drzewa to walce itp. W ten sposób na przyrodę patrzył już Euklides. Czy jednak taka jest jej prawdziwa struktura?

Liczby zespolone
Zbiory Mandelbrota
Zbiory Julii
Generowanie fraktali

W 1980 roku Benoit Mandelbrot badał numerycznie pewne wielomiany zespolone i otrzymał interesujące wykresy. Patrząc na nie, wysnuł przypuszczenie, że geometria euklidesowa nie nadaje się do opisu przyrody - góry nie są stożkami, a linia brzegowa nie jest odcinkiem. Są to raczej, jak to określał Euklides, "bezkształtne" formy, które Mandelbrot nazwał fraktalami - od łacińskiego słowa fractus co znaczy "podzielony", "ułamkowy". Nazwa ta jest adekwatna - dobrze oddaje strukturę fraktali. Charakteryzuje je bowiem wysokie samopodobieństwo - każdy fragment przypomina całość.

Nie jest łatwo jednoznacznie zdefiniować, co to są fraktale. Za kryterium można jednak przyjąć wymiar (przypomnijmy: w zwykłej "naszej geometrii" euklidesowej prostej przypisujemy wymiar - 1, płaszczyźnie - 2, przestrzeni - 3, czyli liczby naturalne), który dla fraktali liczbą naturalną właśnie nie jest, jakkolwiek może się to wydawać nieco dziwne.

Dokładne zrozumienie mechanizmu powstawania fraktali wymaga znajomości liczb zespolonych. Ponieważ matematyczne wywody są dość skomplikowane i mogą zanudzić nie obeznanego z matematyką czytelnika, postaram się przybliżyć to pojęcie. Generalnie fraktale - to taka interpretacja graficzna pewnych równań czy ciągów, które do niedawna uchodziły za matematyczne potworki, zupełnie abstrakcyjne i nie mające żadnych odniesień do rzeczywistości. Ich tworzenie polega na powtarzaniu w nieskończoność określonych czynności, na liczeniu kolejnych elementów pewnych ciągów i dobieraniu koloru rysowanego punktu w zależności od wyniku. Chcących się dowiedzieć czegoś więcej odsyłam do odpowiednich ramek.

Jaka jest faktyczna struktura przyrody? Na obrazkach dzieci jawi się ona często jako kombinacje prostych brył geometrycznych (dom - kwadrat, słońce - kółko, pies - prostokąt, chmura - elipsa itd.). Patrzymy na to z odrobiną wyższości, ale - tak na prawdę - czy nasze pojmowanie świata tak bardzo różni się od jego pojmowania przez dziecko? Proszę spróbować narysować wodę albo chmurę z całą jej skomplikowaną strukturą. Nie jest to takie łatwe, prawda? Czy można powiedzieć, że chmura jest elipsoidą albo prostopadłościanem? A drzewo? Czy można jednoznacznie powiedzieć, że pień to stożek, liście to trójkąty, a gałęzie to odcinki? Jak nazwać kształt płomienia albo błyskawicy?


To właśnie są przykłady występujących w przyrodzie obiektów fraktalnych. Chmura stanowi niewątpliwie jedną całość, ale jest "dziurawa" jak gąbka, ponieważ składa się z nieprzebranej ilości mikroskopijnych kropelek wody i pary wodnej. Jest więc odrębną całością, ale złożoną z wielu mniejszych całości, także odrębnych. Jeżeli "wytniemy" mały kawałek chmury, to otrzymamy coś bardzo do niej podobnego. Gdy odłupiemy kawałek skały, to otrzymamy miniaturkę całej skały. I jeśli sfotografujemy odłupany fragment bez żadnego układu odniesienia (np. pudełka zapałek, którego wielkość znamy), to nie będziemy w stanie odróżnić go od prawdziwej góry (ten efekt bardzo często wykorzystuje się w trikach filmowych)! Podobnie fraktale: nie można jednoznacznie nazwać ich kształtów, a przy tym charakteryzują się one dużym samopodobieństwem - fragment przypomina całość, również przy fraktalach różnych rodzajów.

Przyglądając się fraktalom, ciężko się oprzeć wrażeniu, że formy te są nam znajome. Na załączonych ilustracjach przedstawiam różnego rodzaju przykłady. Zostały one wygenerowane przeze mnie na komputerze w dużej liczbie kolorów (w oryginale ponad szesnaście milionów różnych barw, w druku wszystkich nie da się odtworzyć). Widać ich podobieństwo do ognia, wody, szronu. Efekt plazmy doskonale oddaje chaotyczną strukturę chmur, a specyficzne spirale-ramiona przypominają konika morskiego, rozgwiazdy, glony, czy morskie wodorosty; jednego z przedstawionych fraktali można wprost pomylić z wizerunkiem błyskawicy (to nie jest zdjęcie nieba podczas burzy! - patrz: ostatni fraktal).

Podobieństwo to bierze się stąd, że fraktale mają charakterystyczny, chaotyczny "kształt", który znacznie lepiej oddaje strukturę przyrody niż tradycyjne pojęcia geometrii. Jednak najdziwniejsze, i jak na razie najbardziej tajemnicze, jest źródło tych podobieństw. Cóż, jest to zagadnienie z dziedziny metafizyki... Może kiedyś będziemy umieli je rozwiązać. Do niedawna w nauce panował deterministyczny pogląd, że wszystko można przewidzieć i obliczyć. Pogląd ten ostatnio zaczął się poważnie chwiać, a jednocześnie nadzieje pokładane w komputerach i ich mocy obliczeniowej okazały się przesadne. Weźmy na przykład powierzchnię wody w jeziorze. Dopóki jest ona płaska (nie ma wiatru) można przyjąć, że jest zwykłą, łatwą do opisania matematycznie płaszczyzną. Gdy wrzucimy do jeziora jeden lub dwa drobne kamyczki, to powstałe fale koliste też możemy od biedy opisać odpowiednim równaniem mechaniki falowej. Ale gdy wrzucimy całą garść takich kamyków, albo jeden wielki kamień nieforemny, to nie ma żadnych szans na policzenie współrzędnych cząstek, tworzących powierzchnię tafli jako funkcji czasu. Można powiedzieć, że absolutnie nie da się przewidzieć dokładnego zachowania wody po wrzuceniu w nią kamienia - nie mówiąc już o obliczeniach w czasie rzeczywistym! Każdy widział, jaki powstaje w tym czasie chaos - jest to bardzo piękne, ale nigdy nie da się znaleźć funkcji analitycznej, która opisze takie zjawisko ze stuprocentową dokładnością. Każdy natomiast potrafi narysować drzewo, ponieważ ono w miarę kojarzy się z walcem, stożkiem, odcinkami itp.
Ale proszę spróbować dokładnie narysować wytrysk wody albo powierzchnię morza podczas ulewy i burzy... Trudności są spowodowane tym, że obiekty tego typu ciężko opisać w terminach zwykłej geometrii. Gdy jednak zamiast języka tradycyjnej geometrii użyjemy języka fraktali - problem znacznie się uprości. I tak - powstaje filozoficzne pytanie o piękno. Czy piękne jest to, co proste, czy to, co chaotyczne, nieuporządkowane? Osobiście jestem przekonany, że piękno to synonim pewnej odmiany chaosu, swoistego porządku w nieporządku. Płomień ognia jest tak prosty, a jednak tak skomplikowany...

Zresztą nikt chyba nie wątpi w piękno przyrody, a ona z dużą dozą prawdopodobieństwa wybrała wszelkie oglądane przez nas rozwiązania w idealnie odpowiednich proporcjach. Miała w końcu na to sporo czasu... Jestem przekonany - choć dopuszczam i sąd nie tak skrajny - że żaden obraz, nawet największego mistrza pędzla, nigdy nie będzie doskonalszy od arcydzieła największego artysty, jakim jest Natura.

A fraktale? Może jednak wykradliśmy Naturze skrawek zazdrośnie strzeżonego przepisu na piękno?

Ktoś może jednak zapytać - obrazki są bardzo ładne, ale co z tego? Czy mamy z nich jakikolwiek pożytek, czy też jest to jedynie nikomu niepotrzebna ciekawostka matematyczna? Otóż okazuje się, że algorytmy, służące do generowania różnego rodzaju fraktali, mają zastosowania praktyczne, i to dość ważne. Po pierwsze - przekształceń fraktalnych można używać do kodowania obrazów, a co za tym idzie - do ich kompresji, czyli zmniejszania rozmiarów opisujących je plików komputerowych. Po drugie - algorytmy fraktalne wykorzystuje się do nadawania realistycznych tekstur tworzonym na komputerze obiektom - ma to z kolei szerokie zastosowanie w technikach przetwarzania obrazu wideo. Wreszcie, za pomocą fraktali można sztucznie generować na komputerze wirtualne światy, do złudzenia przypominające rzeczywiste krajobrazy górskie, morze, słońce itp. Niektóre z nich dają efekty zdumiewające.

Wspomniana wyżej fraktalna kompresja obrazu, to ostatnio bardzo modne zagadnienie. Okazuje się bowiem, że o ile z przechowywaniem pojedynczych obrazów nie ma specjalnie większych problemów, o tyle w wypadku cyfrowych filmów (będących przecież ciągami pojedynczych obrazów, szybko odtwarzanych jeden po drugim), ich zapotrzebowanie na miejsce w pamięci komputera jest zbyt duże. Dla przykładu: jeden obraz w rozdzielczości 1280 na 1024 punktów w 24 bitach koloru, czyli taki, jaki stosuje się podczas profesjonalnego przekształcenia obrazu wideo bez żadnej kompresji zajmie w pamięci komputera 1280 x 1024 x 3 = 3 932 160 bajtów, czyli prawie 4 MB (megabajty). Załóżmy, że mamy krótki cyfrowy film, o długości trwania 15 minut. Jak wiadomo minimalna prędkość odtwarzania poszczególnych obrazów, żeby nasze oko odbierało je jako płynny film, wynosi 25 klatek na sekundę. Czyli mamy 25 klatek na sekundę po 4 MB na jedną klatkę przez 15 minut, czyli 25 x 15 x 60 x 4 = 90 000 MB = 90 GB (gigabajtów), czyli potwornie dużo! Dla przykładu - pojemność płyty kompaktowej to około 700 MB, pojemność największych dysków twardych wynosi obecnie blisko 3 GB. Jak widać, są to wielkości co najmniej kilkanaście razy za małe, a pamiętajmy, że nasz piętnastominutowy film to bardzo skromne przedsięwzięcie.

Od dawna znane są różne sposoby kompresji danych (np. używane w popularnych archiwizerach, jak LHA, LZX, ARJ, itp.), jednak nie sprawdzają się one zupełnie przy kompresji danych graficznych. Po pierwsze oferują kompresję o niewielkim stosunkowo stopniu, a po drugie dekompresja trwa znacznie dłużej, niż wymagany minimalny czas 1/25 sekundy. Naturalne jest więc, że zaczęto szukać próby takich metod kompresji, które dałyby znacznie większy stopień "ściśnięcia" plików i znacznie krótszy czas dekompresji. Czy to jest w ogóle możliwe do realizacji? Okazuje się, że tak. Jednakże ceną, jaką musimy za to zapłacić jest utrata jakości skompresowanego obrazu. Na szczęście ów spadek jakości jest często prawie niezauważalny, a poza tym współczynnik kompresji rzędu nawet kilkudziesięciu do jednego całkowicie rekompensuje nam straty.

Problematyką tą zainteresowano się głównie za sprawą M. Barnsleya, który skomercjalizował ten sposób postępowania. W tym tekście przedstawię jedynie prostą ideę postępowania z obrazkiem w odcieniach szarości - dokładne algorytmy są bardzo skomplikowane i często chronione patentami. Otóż z danego obrazka tworzy się pewną funkcję matematyczną przez przypisanie każdemu z punktów obrazka liczby, będącej jasnością tego punktu obrazu. Im dany punkt jest jaśniejszy, tym większą wartość będzie przyjmowała funkcja; im ciemniejszy, tym mniejszą. Podstawą fraktalnej kompresji obrazu jest to, że każdy obraz może być traktowany jako odpowiednio przekształcone (afinicznie - jeśli ktoś zna ten termin) kopie części samego siebie. Działanie takiego algorytmu opiera się więc na podzieleniu obrazu (ściślej - dziedziny owej funkcji) na fragmenty i następnie podaniu przekształceń, za pomocą których można odtworzyć cały obraz z jego części. Postępowanie takie oczywiście nie da nam dokładnie obrazu wyjściowego - musimy dopuścić pewien błąd, czyli określoną niezgodność z oryginałem. Jednak przy takiej kompresji mogą być jeszcze wybierane przekształcenia, dające najmniejszą różnicę skompresowanego obrazu w stosunku do obrazu wyjściowego, co pozwala sterować jakością. W postaci nieskompresowanej obraz jest zapisywany (z grubsza) w postaci tablicy - współrzędne punktu obrazu i odpowiadający im kolor.

Natomiast po kompresji obraz taki będzie zapisany już nie jako tablica, ale jako zbiór przekształceń matematycznych - i tu właśnie leży tajemnica dużego stopnia kompresji. Obraz - poddany takiej kompresji - nie będzie już wierną kopią oryginału, a tylko jego przybliżeniem. Jednak, jak wspomniałem, przybliżenie to jest na ogół zadowalające, a już na pewno opłacalne, biorąc pod uwagę, że możemy w ten sposób zmniejszyć rozmiar obrazu kilkadziesiąt (a nawet kilkaset!!!) razy.

O ile kodowanie i dekodowanie poszczególnych obrazów nie przedstawia większych problemów (ostatecznie na zdekodowanie jednego obrazka możemy poczekać nawet parę sekund), o tyle w przypadku filmów potrzebny jest czas dekompresji - jak mówiliśmy - bardzo krótki. I tu mamy pewien dylemat, bo im bardziej zależy nam na wierności skompresowanego obrazu w stosunku do oryginału, tym dłuższy okazuje się czas dekompresji i tym mniejszy jest stopień kompresji. I na odwrót - najkrótszy czas dekompresji i największy współczynnik kompresji, to znaczące zniekształcenia obrazu, spadek jakości i zauważalne różnice w stosunku do obrazu wyjściowego.

Konieczny jest więc pewien kompromis - wszystko zależy od mocy obliczeniowej komputera, jakim się dysponuje, oraz pojemności jego pamięci. Badania nad ulepszeniem metod fraktalnej kompresji obrazu wciąż trwają. Istnieje jeszcze jedna zaleta takiego sposobu kompresji - dobra jakość obrazu nawet przy czterokrotnym powiększeniu. Każdy, kto choć trochę bawił się grafiką na komputerze, zna doskonale efekt powiększania komputerowych zdjęć - zwany w informatycznym żargonie pikselizacją. Prowadzi on do pojawienia się na ekranie monitora charakterystycznych kwadracików, wywołujących wrażenie "ziarnistości" obrazu. Metoda fraktalnej kompresji pozwala jednak na zapamiętanie obrazu w postaci zbioru funkcji matematycznych, co z kolei pozwala na odtworzenie obrazu z dobrą dokładnością - teoretycznie w dowolnej skali. Czemu tylko teoretycznie? Dlatego, że jesteśmy ograniczeni zdolnością rozdzielczą urządzenia, za pomocą którego wczytaliśmy obraz do komputera (tzw. skanera lub digitalizera), jak i jakością samego obrazu (np. zdjęcia). Nie należy więc oczekiwać, że przy milionowym powiększeniu zobaczymy strukturę komórek skóry przedstawionego na zdjęciu człowieka, czy też cząsteczki materiału jego koszuli, bo otrzymane przy takim powiększeniu obrazy nie będą już miały nic wspólnego z rzeczywistością. Jednak przy powiększeniu niewielkim (np. czterokrotnym) jakość powiększonego obrazu będzie znacznie lepsza od powiększonego o tyle samo oryginału - w ogóle nie będzie pikselizacji!

Algorytmy generowania fraktali można też wykorzystać do sztucznego generowania krajobrazów. Są programy komputerowe, za pomocą których można generować pseudozdjęcia, a nawet całe animacje. Jest to bardzo przydatne w różnego rodzaju technikach wideo (np. triki filmowe), gdzie na przykład bardziej opłaca się "zburzyć" sztuczną, istniejącą tylko w pamięci komputera górę lub zasymulować zejście z takiej góry sztucznej lawiny, niż robić to w rzeczywistości. Na początku, gdy tylko pojawiły się takie programy, większość ludzi patrzyła na efekty ich działania z politowaniem - widać było bowiem wyraźnie, że tworzone obrazy są sztuczne, że brakuje w nich tego "czegoś". To brakujące "coś" okazało się fraktalnymi technikami generowania naturalnych obiektów występujących w przyrodzie.

Istnieje sporo programów wykorzystujących do generowania obrazów te techniki (SoftImage, Lightwave, Real3D). Efekty ich działania możemy podziwiać w większości stosunkowo nowych (najwyżej sprzed paru lat) filmów science fiction i fantasy, gdzie istnieje potrzeba stworzenia nie istniejących przecież w rzeczywistości - ale jednak realistycznych - scenerii.

Kończąc ten artykuł namawiam do krótkiej refleksji. We fraktalach uderza piękno przypadkowych kompozycji - a jednocześnie wysokie samopodobieństwo i symetria. W swoich pracach Mandelbrot wyrażał pogląd, że cała przyroda ma strukturę fraktalną, a twory czysto geometryczne w ogóle nie istnieją, są jedynie stworzonymi przez ludzi uproszczeniami.

Jeśli popatrzymy na wzburzone morze o zachodzie słońca lub zamarzniętą na szybie parę wodną, to wydaje się, że Mandelbrot miał dużo racji...

LICZBY ZESPOLONE

Liczby zespolone możemy utożsamiać z punktami płaszczyzny

Liczba zespolona to liczba postaci z = a + bi, gdzie a to tzw. część rzeczywista [oznaczana jako Re(z)], b to część urojona [oznaczana jako Im(z)], zaś i to wielkość spełniająca równanie i2 + 1 = 0. Proszę zwrócić uwagę, że i2 = -1, co nie zachodzi dla żadnej liczby rzeczywistej. Wniosek: i nie jest liczbą rzeczywistą. Zbiór liczb zespolonych jest uogólnieniem zbioru liczb rzeczywistych - te ostatnie to szczególny przypadek tych pierwszych dla b = 0. Liczby zespolone przedstawiamy na płaszczyźnie jako uporządkowane pary liczb (a, b). Układ współrzędnych przypomina kartezjański, ale zamiast osi x i y mamy oś rzeczywistą Re(z) i oś urojoną Im(z). Liczbie 1 - 2i odpowiada więc punkt (1, -2) w takim układzie współrzędnych, liczbie 3i odpowiada punkt (0, 3), liczbie 2 punkt (2, 0) itd. Oto jak przedstawia się w takim zbiorze dodawanie i mnożenie: z1 + z2 = (a1 + b1i) + (a2 + b2i) = (a1 + a2) + (b1 + b2)i = A + Bi gdzie A = a1 + a2, zaś B = b1 + b2. Na płaszczyźnie jest to więc po prostu punkt o współrzędnych (a1 + a2, b1 + b2) z1 z2 = (a1 + b1 i) (a2 + b2 i) = (a1a2 - b1b2) + (a1b2 + a2b1) i = A + Bi gdzie A = a1a2 - b1b2, B = a1b2 + a2b1. Na płaszczyźnie jest to punkt o współrzędnych (a1a2 - b1b2, a1b2 + a2b1). Jeżeli mamy dany punkt z = a + bi, oraz zachodzi a2 + b2 < R2 dla jakiegoś R będącego liczbą rzeczywistą dodatnią, to graficznie taki punkt leży wewnątrz koła o środku w początku układu współrzędnych i o promieniu równym R.
Do początku artykułu...

ZBIORY MANDELBROTA

Tak zaczynamy konstruować fraktal Mandelbrota

Wyobraźmy sobie ciąg liczb zespolonych z0, z1, z2, z3,... i przyjmijmy, że pierwszy wyraz ciągu jest zerem, a każdy następny wyraża się przez kwadrat poprzedniego, zwiększony o pewną stałą zespoloną, czyli zn + 1 = zn2 + c, gdzie c oznacza pewną stałą zespoloną, spełniającą tu rolę parametru. Dla ułatwienia podam kilka pierwszych elementów tego ciągu: z0 = 0, z1 = c, z2 = c2 + c, z3 = (c2 + c)2 + c, z4 = [(c2 + c)2+c]2 + c..., itd. gdzie dodawanie i potęgowanie należy rozumieć w sensie działań na liczbach zespolonych.

Okazuje się, że dla pewnych wartości parametru c ciąg z0, z1, z2, z3,... jest ograniczony na płaszczyźnie zespolonej, a dla innych - nie. Ograniczony oznacza tu: mieszczący się w całości wewnątrz koła o pewnym skończonym promieniu. Mamy tu do czynienia z analogią do geometrii - bo przecież liczbom zespolonym odpowiadają (patrz: ramka s. 23) punkty na płaszczyźnie; na przykład kwadrat, odcinek czy zbiór skończonej liczby punktów jest oczywiście zbiorem ograniczonym, zawsze bowiem można dobrać koło o takim promieniu, które go "przykryje". Ale prosta czy płaszczyzna już nie są zbiorami ograniczonymi.

Narysujmy układ współrzędnych o osiach Re(c) oraz Im(c), a w nim koło o środku w punkcie (0, 0) o promieniu - powiedzmy - 2. Ustalmy jakiś zakres zmian parametru c, np. -2 < Re(c) < 1, -1.5 Im(c) < 1.5. Zbiór tych wartości utworzy kwadrat. Narysujmy go również - wewnątrz niego powstanie nasz fraktal.

Gdybyśmy teraz rysowali po kolei punkty owego ciągu, to zobaczylibyśmy, że albo wszystkie zmieszczą się wewnątrz zadanego koła, albo część poza to koło "wyjdzie". Ale tu pojawia się problem: koniec końców trzeba narysować wszystkie wyrazy ciągu co, z powodów - nazwijmy je - czasowych, jest raczej niewykonalne.

W praktyce robi się nieco inaczej. Dla każdego punktu leżącego wewnątrz kwadratu obliczamy N pierwszych wyrazów ciągu (N jest odpowiednio duże, np. kilkaset) i sprawdzamy warunek ograniczoności powstałego zbioru punktów, czyli rysujemy je na wykresie, obserwując czy wszystkie leżą wewnątrz narysowanego wcześniej koła. Jeżeli wszystkie spełniają ten warunek, to domniemywamy, że wszystkie następne punkty też go będą spełniać - rysujemy punkt o współrzędnych rozważanego właśnie punktu c i bierzemy punkt następny. Gdy jakikolwiek punkt opuści koło, to przechodzimy do następnego bez żadnej akcji. I tak dalej... To, co otrzymamy w granicy jest właśnie zbiorem Mandelbrota, czyli zbiorem tych wartości parametru c, dla których wyrazy ciągu z0, z1, z2, z3,... określone zależnością rekurencyjną zn+1 = zn2 + c leżą wewnątrz koła o stałym promieniu.

I tu ważna uwaga: zbiór Mandelbrota jest w zasadzie czarno-biały (punkt należy do zbioru - czerń, nie należy - biel), ale nic nie stoi na przeszkodzie, żeby go pokolorować. Robi się to w taki sposób, że zamiast stawiać punkt lub go nie stawiać, stawiamy punkt w kolorze zależnym od liczby punktów mieszczących się w kole. I tak, jeśli mieszczą się wszystkie, to stawiamy punkt czarny, gdy 10% wychodzi poza koło - niebieski, gdy 20% - zielony, itd. Im więcej kolorów, tym oczywiście ciekawszy obrazek.
Do początku artykułu...

ZBIORY JULII

Konstrukcja zbioru Julii: zielony punkt rozpoczyna ciąg wychodzący poza koło i nie należy do zbioru; czerwony punkt generuje ciąg zawarty w kole i należy do zbioru

Weźmy na przykład ciąg liczb zespolonych, ale określonych trochę inną zależnością, niż to było w wypadku zbioru Mandelbrota, a mianowicie zn + 1 = zn3 + c, zakładając, że pierwszy wyraz ciągu nie jest zerem. Tym razem ustalamy sobie z góry jakiś parametr c, którego nie będziemy jednak zmieniać. Możemy natomiast w pewnych granicach zmieniać pierwszy wyraz ciągu, czyli z0. Rysujemy układ współrzędnych o osiach Re(z0), Im(z0) z odpowiednim kołem, wybieramy zakres zmian jego wartości, rysując w układzie jakiś kwadrat, i dla każdego punktu zawartego w tym kwadracie obliczamy L pierwszych wyrazów ciągu z0, z1, z2,... Jeśli wszystkie L wyrazów ciągu mieści się wewnątrz naszego koła - stawiamy punkt o współrzędnych rozważanego punktu z0 (a nie c, jak poprzednio) i przechodzimy do następnego. Jeżeli warunek ten nie jest spełniony, to przechodzimy do następnej wartości z0 bez rysowania punktu.

Okazuje się (można to z łatwością sprawdzić samemu), że zbiory Julii dla wielomianów postaci zn + 1 = znk + c są niezmiennicze przy obrocie względem początku układu współrzędnych o kąt 2pk (symetria kątowa). Jeśli zaś parametr c zmienimy na sprzężony (liczba sprzężona z daną liczbą zespoloną, to taka liczba, której część urojona Im(z) ma przeciwny znak niż ta pierwsza), to otrzymamy lustrzane odbicie zbioru względem osi Im(z) = 0. Jeśli założymy, że k jest nieparzyste i zamienimy c na przeciwne (zmienimy znak c) to obrócimy zbiór o 180 stopni. Zbiory Mandelbrota z kolei są symetryczne względem osi Im(c) = 0, a przy nieparzystym k również względem osi Re(c) = 0.
Do początku artykułu...

GENEROWANIE FRAKTALI

W praktyce do generowania fraktali używa się komputerów. Jest to o wiele prostsze i szybsze niż ślęczenie nad kartką z ołówkiem i kalkulatorem. Wszystkie prezentowane tu obrazy zostały przeze mnie wygenerowane na komputerze. Istnieje cała masa gotowych programików, generujących fraktale i można z nich łatwo skorzystać. Pozwalają one na wygodne wprowadzanie parametrów, pozwalają tworzyć animacje, pokazujące na przykład płynne powiększanie wycinka fraktala, pozwalają zapisywać obrazki na dysku i drukować je. Są one dostępne najczęściej jako tzw. freeware, czyli programy darmowe, za używanie których nic się nie płaci, lub tzw. shareware, tzn. programy, które można używać za darmo tylko pewien czas (określony przez autora), później zaś należy przesłać autorowi pieniądze - na ogół znikome kwoty - bądź zrezygnować z używania programu. Programy tego typu można znaleźć w Internecie.
Do początku artykułu...

PS. Dla zainteresowanych tą tematyką podaję swój adres elektroniczny: szczerba@us.edu.pl

Autor jest studentem I roku studiów doktoranckich w Zakładzie Fizyki Jądrowej i jej Zastosowań na Uniwersytecie Śląskim w Katowicach.