🐉 Krzywa smoka
O tej symulacji
Krzywa smoka Heighwaya to jeden z najbardziej znanych fraktali powstałych ze składania papieru: złóż pasek papieru na pół wielokrotnie, zawsze w tym samym kierunku, a następnie rozłóż każde zagięcie do kąta prostego — kontur wykreśli tę krzywą. Badali ją fizycy NASA w latach 60. XX wieku, a później spopularyzował ją Martin Gardner; należy do szerszej rodziny samopodobnych fraktali sekwencji skrętów wykorzystywanych do badania krzywych wypełniających przestrzeń i teselacji.
Jak to działa
- Sekwencja skrętów L i R jest generowana przez rekurencję podwajającą, zaczynając od pustej sekwencji.
- Żółw przechodzi krok naprzód o stałej długości, następnie skręca w lewo (−90°) lub w prawo (+90°) zgodnie z kolejnym symbolem sekwencji, po czym znów idzie naprzód.
- Powtórzenie tego dla wszystkich 2n segmentów łączy je w złożony kształt smoka.
- Ponieważ rekurencja podwaja sekwencję w każdej iteracji, krzywa staje się wykładniczo bardziej szczegółowa z każdym krokiem n.
Kluczowe równania
seq(0) = "" (puste)
seq(n) = seq(n-1) + R + reverse(complement(seq(n-1))) — complement zamienia każde L na R i każde R na L; reverse odwraca kolejność ciągu. Powstała sekwencja ma długość 2n−1 i opisuje skręt przed każdym z 2n jednostkowych segmentów.
Sterowanie
- Iteracja n — ustala, ile razy podwaja się sekwencja skrętów, od pojedynczego segmentu (n=0) do 217 segmentów (n=17).
- Prędkość rysowania — kontroluje, ile segmentów jest ujawnianych na klatkę animacji podczas stopniowego rysowania.
- Kolor według głębokości — cieniuje każdy segment odcieniem zmieniającym się wzdłuż ścieżki zamiast jednolitego koloru.
- Reset / Wyśrodkuj — przelicza krzywą na nowo i dopasowuje ją do płótna, centrując i skalując tak, by wypełnić dostępną przestrzeń.
Czy wiesz, że...?
Ponieważ rekurencja sekwencji skrętów tylko dodaje symbole i nigdy ich nie usuwa, sekwencja dla iteracji n zawsze zaczyna się od sekwencji dla iteracji n−1 — dokładnie matematyczna sygnatura sekwencji składania papieru.