Smoki Fraktalne (dragons fractals)

 

Zacznijmy od eksperymentu (Let’s start with the experiment)

Weźmy do prawej ręki taśmę z kartonu lub grubej karki papieru i lewą ręką zaginajmy ją do siebie tak, jak to ilustrują rysunki 1a i 1b.

  rys. 1a      rys. 1b  rys. 1c

Po rozwinięciu zagiętej taśmy otrzymujemy kształt prezentowany na rys. 1c.
Zwiniętą taśmę zwijamy ponownie do siebie – jej długość ulegnie dwukrotnemu skróceniu – rys 2a, a po rozwinięciu otrzymamy kształt zaprezentowany na rys. 2b.  Po kolejnym zawinięciu taśmy kształt ten przybierze postać z rysunku 3.

  rys. 2a      rys. 2b    rys. 3

Żółw na taśmie a L-systemy  (Turtle on tape and L-systems)

Gdyby po taśmie od dołu taśmy poruszał się żółw, to jego kolejne ruchy na taśmie moglibyśmy zapisać za pomocą kodu:
                                                                                            NP., L, NP., L, NP., P, ……
gdzie NP. oznacza ruch żółwia do przodu, zaś L lub P oznacza jego skręt w lewo lub a prawo.

Nie będą nas interesować ruchy typu NP, lecz same skręty L lub P.
Spróbujmy zapisać ciąg tych skrętów symbolami L lub P (skręt w lewo lub w prawo).
Otrzymamy:

  • dla pierwszego zagięcia (2 odcinki 21)                zapis L
  • dla drugiego zagięcia     (3 odcinki 22)                zapis LLP
  • dla trzeciego zagięcia    (4 odcinki 2 3)               zapis  LLPLLPP
  • dla czwartego zagięcia   (5 odcinków 24)           zapis LLPLLPPLLLPPLPP

itd.

Powyższe zapisy to nic innego jak kodowanie układu odcinków otrzymanych przez kolejne zagięcia taśmy.
Postawmy  problem: jaki kod będzie przysługiwał ruchowi żółwia po n-krotnym zagięciu taśmy?

Spróbujmy najpierw dostrzec wszystkie możliwe własności każdego kodu i zaobserwujmy, czy przenoszą się one na kolejne kody.
Co możemy zaobserwować?

  • liczba liter L, P  w każdym kodzie jest zawsze nieparzysta,
  • musi więc istnieć w kodzie litera środkowa – zauważmy, że jest nią zawsze L,
  • jeśli liczba użytych liter w „k-tym” kodzie jest równa k , to w kolejnym kodzie jest ich 2k+1,
  • fragment kodu przed środkową literą L jest całym kodem z poprzedniego etapu.

A jak powstaje fragment kodu po środkowej literze L?
Można to odkryć po krótkiej obserwacji tego fragmentu. Okazuje się, że litery użyte symetrycznie względem środka L są przeciwnymi literami dla tych które są przed środkową literą L. Czyli litery L zamieniają się w P a litery P w litery L.

Dlaczego tak się dzieje? Gdzie tkwi przyczyna takiego zachowania się kodu? Wróćmy w tym celu ponownie do zaginanych kartek.
Zauważmy, że kolejne zagięcie po k-tym zagięciu to obrót poprzedniego układu zagięć.

Przeanalizujmy  na poniższym aplecie kolejne zagięcia naszej taśmy jako obroty jej poprzednich zagięć w sposób dynamiczny w programie GeoGebra:


  • Smoki fraktalne

Wyobraźmy sobie, że jeden żółw porusza się od punktu START do punktu META. Pokonujemy on zakręty, kolejno: START, PPLPPLLPPPLPLL, META – rysunek 4.  Jeżeli drugi żółw powraca od META do START wykonuje te same zakręty, ale notacja każdego z nich jest przeciwna, bo przeciwne są ruchy obu żółwi. Podobnie dzieje się na drodze. My skręcając w uliczkę po lewej stronie skręcamy w nią oczywiście w lewo, ale auto jadące naprzeciw nas skręcając w tę sama uliczkę skręca w prawo.

rys. 4

Zatem aby  wyznaczyć kod po k-tym zagięciu kartki musimy:

  • zapisać pełny kod poprzedniego zagięcia,
  • następnie dopisać do niego L – to będzie środek kolejnego kodu,
  • po literze L zapisujemy kod zapisany przed tą literką zamieniając każdą literę L na P i P na L.

A1 = L
A2 = LLP
A3 = LLPLLPP
A4 = LLPLLPPL LLPPLPP
A5 = LLPLLPPL LLPPLPPLLLPLLPPPLLPPLPP
….
An+1 =An * L * An-1

Tak więc mamy do czynienie z matematyczną rekurencją (recursio = [łąc] cofać).
Jakie kształty przybiorą łamane powstałe z zagięć taśmy kartonu, gdy będziemy je zaginać w nieskończoność, co praktycznie jest niemożliwe, gdyż każdą kartkę można zagiąć tylko 9–krotnie?
Dysponując komputerem można napisać program np. w bardzo popularnym niegdyś języku LOGO który wykreśli nam kształty takich krzywych. Krzywe te zaliczamy do fraktali gdyż mają one znamiona samopodobieństwa, a te, otrzymane w opisany powyżej sposób noszą nazwę smoków (dragons).

Rysunek 9 ilustruje fraktal smoka po siedmiu zagięciach a rysunek 6 po jedenastu.

rys. 5      rys. 6