Przeczytaj
Geometria fraktalna, czyli zagadnienia związane z obliczeniami wyników funkcji iterowanych IFSIFS, znajduje zastosowanie w kompresji danych.
Przyjrzyjmy się dwóm przykładowym fraktalomfraktalom zbudowanym z wykorzystaniem IFS. Będą to znane ci już paproć Barnsleya i smok Heighwaya.
W celu graficznego przedstawienia obrazu złożonego z wielu par punktów wygodnie jest użyć modułu matplotlibmatplotlib.
Paproć Barnsleya
Paproć Barnsleya jest fraktalem, który wyróżnia się ze względu na niezwykłe podobieństwo do liści paproci występujących w naturze. Aby utworzyć taki fraktal, należy wielokrotnie (najlepiej ok. 100 000 razy) przekształcać punkt początkowy z wykorzystaniem jednej z czterech funkcji. Funkcji tych trzeba użyć w sposób losowy w proporcjach A : B : C : D wynoszących:
Wspomnianymi wcześniej funkcjami są:
Oto zapisany w postaci pseudokodu algorytm służący do skonstruowania paproci Barnsleya:
Przeanalizujmy działanie funkcji generującej rysunek paproci Barnsleya, napisanej na podstawie przedstawionego powyżej pseudokodu.
Smok Heighwaya
Smok Heighwaya jest obrazem powstającym w wyniku wielokrotnego przekształcenia punktu o współrzędnych (x,y)
za pomocą stosowanych naprzemiennie funkcji:
Przeanalizujmy algorytm opisujący tworzenie takiego fraktala:
Zdefiniujmy funkcję, która zrealizuje przedstawiony pseudokod w języku Python.
Wynikiem działania funkcji będzie następujący obraz:
![Ilustracja przedstawia wykres z funkcją tworzącą smok Heighwaya. Jest to wielokrotnie powtórzona struktura przypominająca odwróconą lustrzanie wyciągniętą literę es. Ustawiono te mniejsze elementy tak, aby tworzyły razem ponownie taki sam kształt jak ta mniesza. Proces ten potwarzany jest aż do wypełnienia ekranu.](https://static.zpe.gov.pl/portal/f/res-minimized/R1IGfRggeGaJr/1665413889/2ZmchV58RZdAHpV5wFkWdsQ2oUtnvcKX.png)
Podsumujmy najważniejsze elementy bieżącego e‑materiału:
funkcje IFS są używane do generowania fraktali;
moduł
matplotlib
jest wykorzystywany do generowania rysunków w Pythonie.
Słownik
(ang. iterated function system) system funkcji iterowanych, wykorzystywany do konstruowania fraktali
obiekt samopodobny (taki, którego poszczególne części są podobne do całości)
biblioteka służąca do przedstawienia obrazów złożonych z punktów o współrzędnych x
oraz y
(wykresów, histogramów, rozkładów itp.); moduł matplotlib
nie jest dostępny w standardowej instalacji Pythona; należy go zainstalować, korzystając z mechanizmu pip