FRAKTALE(2) - UKŁADY ITEROWANYCH ODWZOROWAŃ ZWĘŻAJACYCH
Od dawna była znana w matematyce metoda rozwiązywania równania x=f(x), polegająca na tworzeniu ciągu kolejnych przybliżeń rozwiązania:
Twierdzenie Banacha o odwzorowaniach zwężajacych (podstawowe twierdzenie analizy funkcjonalnej) podaje ogólne założenia, przy których ten ciąg jest zbieżny do rozwiazania równania. Rozpatrzmy teraz nie jedno, ale układ dwóch równań dla dwóch zmiennych: x=f(x,y) i y=g(x,y). Dla funkcji liniowych mamy:
x' = a*x + b*y + c Można uważać, ze punktowi (x,y) na płaszczyźnie przyporządkowaliśmy nowy punkt (x',y'). Jeśli każdy odcinek przekształcony w ten sposób ma długość mniejszą od pierwotnego, Do konstruowania fraktali wykorzystuje się kilka, powiedzmy k takich układów równań. Losujemy jeden z numerów: 1,2, ...k, przekształcamy współrzędne (x,y) punktu według wybranego układu równań i rysujemy na ekranie nowy punkt. Każdy następny punkt jest obrazem poprzedniego punktu, przekształconego przez jedno z wylosowanych odwzorowań. Kolejne położenia punktu nie są zbieżne do żadnego granicznego punktu, lecz błądzą "w sposób chaotyczny" po pewnym zbiorze punktów zwanym atraktorem tego układu przekształceń. Ten atraktor wykazuje cechy samopodobieństwa. PRZYKŁADY:
Oto program w Delphi, który wyświetli takiego smoka (podaję tylko deklaracje zmiennych i część implementation). Na formularzu jest umieszczony przycisk Button1, którego kliknięcie kończy pracę programu.
Można sprawdzić, które z punktów obrazu powstały w wyniku odwzorowania numer 0, a które z odwzorowania numer 1 ( na przykład przyporządkować tym odwzorowaniom różne kolory pixeli). Spróbuj narysować jeden z powyższych obiektów, lub ich kombinację, lub wymyśl swój własny układ odwzorowań tworzących fraktal. Jeśli będziesz samodzielnie konstruować układy równań, to pamiętaj że w uładzie równań:
x' = a*x + b*y + c
|