Drzewo pitagorejskie (także drzewo Pitagorasa) – fraktal zbudowany z kwadratów na płaszczyźnie, swym kształtem przypominający drzewo[1][2][3][4][5][6][7]. Nazwany został od imienia greckiego matematyka i myśliciela Pitagorasa, gdyż na każdym etapie konstrukcji wymaga rysowania dwóch kwadratów opartych na odpowiednich bokach trójkąta prostokątnego, których własności stanowią ilustrację twierdzenia Pitagorasa[2][3][5][6]. Rozważane są drzewa symetryczne, w konstrukcji których występują trójkąty prostokątne równoramienne, i drzewa ogólne, w konstrukcji których występują trójkąty prostokątne z kątami ostrymi ustalonymi, ale innymi niż 45°.
Pierwszy rysunek fraktala został sporządzony (ręcznie) w roku 1942 przez holenderskiego inżyniera i nauczyciela matematyki Alberta E. Bosmana (1891–1961). Bosman opisał fraktal i jego własności w roku 1957 w swoim dziele Het wondere onderzoekingsveld der vlakke meetkunde[2].
Odpowiednio użyty, może służyć do przedstawiania informacji w postaci struktury danych drzewa[4]. Jest też bardzo łatwy w wykonaniu[2].
Konstrukcja fraktala zaczyna się od narysowania dowolnego kwadratu.
Dorysowujemy do niego trójkąt prostokątny, w którym przeciwprostokątna jest górną krawędzią tego kwadratu.
Na przyprostokątnych trójkąta budujemy kolejne kwadraty.
Powtarzamy powyższe operacje 2 i 3.
Poniżej przedstawione zostały kolejne iteracje. Możliwa jest też zmiana długości przyprostokątnych tak, że wyższe „gałęzie” zmienią kierunek, w którym powstają.
Kolejne etapy konstrukcji fraktala
Właściwości i wygląd
Drzewo Pitagorejskie można narysować tylko w przybliżeniu, gdyż pełny fraktal składa się z nieskończonej liczby coraz mniejszych trójkątów i kwadratów[2].
Pole powierzchni
Uwaga: Ta sekcja dotyczy konstrukcji wykorzystującej trójkąt prostokątny równoramienny.
Zakładając, że początkowy kwadrat jest jednostkowy, -ta iteracja w konstrukcji „dodaje” kwadratów o długości boku każdy[2][5][6]. Niektóre kwadraty mogą na siebie nachodzić[5]. Jeśli początkowy kwadrat ma wymiary to całe drzewo zmieści się w prostokącie o wymiarach [2][5][8].
Niech początkowy kwadrat będzie jednostkowy, a kolejne trójkąty prostokątne równoramienne. Dodajmy teraz do siebie długości boków kwadratów oraz długości przekątnych kwadratów, jak na ilustracji powyżej. W rezultacie tej operacji otrzymamy sumę dwóch szeregów szeregów geometrycznych. Zatem wysokość drzewa Pitagorasa wynosi:
Szerokość prostokąta, w którym zmieści się fraktal
Niech początkowy kwadrat ma długość boku a kolejne trójkąty niech będą prostokątne i równoramienne. Weźmy pod uwagę jedynie kwadraty umieszczone najniżej na pierwszej „gałęzi” fraktala odchodzącej w prawo lub w lewo.
Korzystając z symetrii, chcemy obliczyć tylko szerokość kwadratów przechodzących w prawo. Nie uwzględniamy początkowego kwadratu. Sumujemy odpowiednie długości przekątnych kwadratów i długości boków kwadratów. Zatem szerokość połowy fraktala wyrażamy wzorem:
Specjalną właściwością fraktala jest możliwość znajdywania konkretnych kwadratów po przypisaniu im liczb określoną metodą.
Oznaczmy początkowy kwadrat numerem 1. Dla dowolnej liczby naturalnej nad kwadratem o numerze skonstruowanym dwóm kwadratom przypiszemy numery i
Jeżeli kwadraty zostaną oznakowane w powyższy sposób, możemy użyć dwójkowego systemu liczbowego, by znaleźć konkretny kwadrat.
Zapiszmy liczby w systemie dziesiętnym systemem dwójkowym. Niech 1 odpowiada skrętowi w prawo (do prawego kwadratu), a zero w lewo (do lewego sąsiadującego kwadratu).
Przykład:
45 = 1011012, z czego wynika, że by dostać się do kwadratu oznaczonego numerem 45, musimy skręcić w prawo, w lewo, dwa razy w prawo, w lewo i w prawo.
Pokrewieństwo z innymi fraktalami
Jeśli początkowy trójkąt fraktala będzie prostokątny i równoramienny, to po kilkunastu iteracjach „korona” drzewa będzie krzywą Lévy’ego[2][5].
Wybierając kwadraty o indeksach (zdefiniowanych tak jak w sekcji powyżej) stanowiących potęgi liczby dwa uzyskamy spiralę logarytmiczną; działa to jednak także z dowolnie wybranym kwadratem, pod warunkiem, że kolejne będą zawsze kwadratami po jego prawej lub lewej stronie[2][10]. Liczba możliwych do utworzenia w ten sposób spiral jest więc nieskończona[2][10].
↑ abcdF. Beck, M. Burch, T. Munz, L. Di Silvestro, D. Weiskopf Generalized Pythagoras Trees: A Fractal Approach to Hierarchy Visualization, [w:] Battiato S., Coquillart S., Pettré J., Laramee R., Kerren A., Braz J. (eds) Computer Vision, Imaging and Computer Graphics – Theory and Applications. Communications in Computer and Information Science, vol 550. Springer, Cham, 2015.