Spotlight #68: Sztuka generatywna i czysta matematyka — spirografy, Penrose i Apolloniusz

Cztery twierdzenia, z którymi większość ludzi nigdy się nie zetknie w szkole — a mimo to każde z nich generuje obrazy tak uderzające, że wyglądają na zaprojektowane komputerowo, nawet gdy są rysowane ręcznie. Mozaika Penrose'a, uszczelka Apolloniusza, krzywe hipotrochoidalne i drzewo Sterna-Brocota czekają w karcie przeglądarki, bez żadnej instalacji.

Istnieje osobliwa kategoria obiektów matematycznych, która z równą siłą trafia zarówno do geometry, jak i do grafika: struktury tak ograniczone czystą logiką, że produkują piękno jako efekt uboczny. Cztery symulacje w tym spotlight są właśnie tego rodzaju. Każda koduje twierdzenie — rygorystyczne, dowodliwe stwierdzenie o liczbach lub geometrii — a jednak wynik jest nie do odróżnienia od celowej sztuki wizualnej. To nie przypadek. Tak się dzieje, gdy same reguły są piękne.

I. Mozaika Penrose'a — inflacja i quasiokresowość

Mozaika Penrose'a — algorytm inflacji i wzory quasiokresowe

Przechodź przez iteracje inflacji; przełączaj między zestawami latawiec/strzała a grubym/cienkim rombem; koloruj według typu kafelka lub strzałek reguł dopasowania; przybliżaj klastry o pięciokrotnej symetrii.

W 1974 roku Roger Penrose odkrył parę kształtów, które mogą wyłożyć nieskończoną płaszczyznę, nigdy się nie powtarzając. Było to niezwykłe, ponieważ obaliło panującą intuicję, że dowolny skończony zbiór kafelków zdolny wyłożyć płaszczyznę musi być w stanie zrobić to okresowo — jak płytki łazienkowe czy mur z cegły. Mozaika Penrose'a jest nieokresowa: doskonale pokrywa płaszczyznę, ale żadna translacja (przesunięcie bez obrotu) nie odwzorowuje mozaiki na siebie samą.

Najbardziej poręczna wersja wykorzystuje dwa romby: „gruby” romb o kątach 72° i 108° oraz „cienki” romb o kątach 36° i 144°. Reguły dopasowania — strzałki na krawędziach, które muszą się wyrównać, gdy kafelki się stykają — to właśnie to, co zapobiega ułożeniom okresowym. Równoważnie, i bardziej użytecznie obliczeniowo, mozaikę można wygenerować poprzez inflację: każdy gruby romb dzieli się na jeden gruby i jeden cienki; każdy cienki romb dzieli się na jeden gruby i jeden cienki, według ustalonych reguł podziału geometrycznego. Powtarzana inflacja daje coraz gęstsze mozaiki, których proporcje są przez cały czas rządzone złotym podziałem.

Golden ratio: phi = (1 + sqrt(5)) / 2 ≈ 1.6180339887...

Thick rhombus angles: 72° and 108°
Thin  rhombus angles: 36° and 144°

Ratio of thick to thin tiles after n deflation steps:
  N_thick / N_thin → phi  (as n → ∞)

Deflation rules (thick rhombus T, thin rhombus t):
  T → T + t       (one thick, one thin)
  t → T + t       (same counts, different geometry)

After k deflations starting from 1 tile:
  N_total ≈ phi^(2k)  (tile count grows as the square of the golden ratio)

Mozaika ma ukrytą pięciokrotną symetrię widoczną w skupianiu się kafelków wokół punktu centralnego. Przyjrzyj się uważnie, a znajdziesz „gwiazdy” (pięć cienkich rombów spotykających się w punkcie), „asy” (gruby romb otoczony cienkimi), „słońca” (pięć grubych rombów spotykających się w punkcie) oraz klastry „deuce” — wszystkie powtarzające się motywy, które nigdy się dokładnie nie powtarzają. Ta pięciokrotna symetria jest zwykle niezgodna z okresowością w dwóch wymiarach, i właśnie dlatego mozaika nie może być okresowa. Symulacja pozwala przechodzić przez iteracje inflacji i obserwować, jak wzór rozwija się od garści kafelków do dziesiątek tysięcy, przy czym każdy poziom odkrywa nowe klastry zagnieżdżone wewnątrz wcześniejszych.

W 1984 roku materiałoznawca Dan Shechtman odkrył prawdziwy stop aluminiowo-manganowy, którego wzór dyfrakcyjny wykazywał dziesięciokrotną symetrię — niemożliwą dla kryształu okresowego. Był wyśmiewany, a potem usprawiedliwiony. Materiał okazał się kwazikryształem: trójwymiarowym odpowiednikiem mozaiki Penrose'a. Shechtman otrzymał Nagrodę Nobla w dziedzinie chemii w 2011 roku.

II. Uszczelka Apolloniusza — twierdzenie Kartezjusza o okręgach

Uszczelka Apolloniusza — twierdzenie Kartezjusza i wymiar fraktalny

Zasiej trzy wzajemnie styczne okręgi; obserwuj, jak uszczelka wypełnia się okręgami Apolloniusza do konfigurowalnej głębokości; wyświetlaj krzywizny; oblicz na żywo szacunkowy wymiar Hausdorffa.

Zacznij od trzech wzajemnie stycznych okręgów. Istnieją dokładnie dwa okręgi styczne do wszystkich trzech jednocześnie: jeden wpisany w krzywoliniowy trójkąt między nimi, drugi obejmujący wszystkie trzy z zewnątrz. Teraz powtórz: w każdym nowo powstałym krzywoliniowym trójkącie wpisz kolejny styczny okrąg. Powstały fraktal to uszczelka Apolloniusza, rządzona jedną z najbardziej eleganckich tożsamości geometrii klasycznej — twierdzeniem Kartezjusza o okręgach, opublikowanym w 1643 roku.

Zdefiniujmy krzywiznę okręgu jako k = 1 / r, gdzie r to promień. Dla zewnętrznego okręgu obejmującego, którego wnętrze jest skierowane na zewnątrz względem upakowania, krzywizna przyjmowana jest jako ujemna. Kartezjusz udowodnił, że dla dowolnych czterech wzajemnie stycznych okręgów o krzywiznach k₁, k₂, k₃, k₄:

Descartes Circle Theorem:
  (k1 + k2 + k3 + k4)^2 = 2 * (k1^2 + k2^2 + k3^2 + k4^2)

Rearranged to find the fourth curvature given three:
  k4 = k1 + k2 + k3 ± 2 * sqrt(k1*k2 + k2*k3 + k3*k1)

Special case — starting configuration with outer circle of curvature k0 < 0:
  If three inner circles all have the same curvature k:
    k0 = k * (2*sqrt(3) - 3) / (2*sqrt(3) + 3)   (approximately -0.1547 * k)

Hausdorff dimension of the residual set:
  D_f ≈ 1.3057  (the circles never fill the plane; the gaps form a fractal set)

Twierdzenie Kartezjusza jest niezwykłym narzędziem generatywnym, ponieważ zachowuje liczby całkowite: jeśli cztery początkowe krzywizny są liczbami całkowitymi, każdy okrąg wygenerowany przez rekurencję ma również całkowitą krzywiznę. Uszczelka Apolloniusza zasiana krzywiznami −1, 2, 2, 3 generuje nieskończoną rodzinę okręgów, których krzywizny są wyłącznie dodatnimi liczbami całkowitymi, przy czym każda liczba całkowita pojawia się nieskończenie wiele razy. Teoretycy liczb spędzili dziesięciolecia, badając, które liczby całkowite się pojawiają (głęboki problem dotykający równań diofantycznych), podczas gdy uszczelka jednocześnie koduje fraktal o wymiarze Hausdorffa wynoszącym w przybliżeniu 1,3057 — ściśle między krzywą a wypełnionym obszarem.

Obliczanie punktu styczności

Znalezienie miejsca, w którym dwa okręgi są styczne, jest proste: jeśli dwa okręgi mają środki C₁ i C₂ oraz promienie r₁ i r₂, punkt styczności leży na odcinku łączącym ich środki, w odległości r₁ od C₁. Prawidłowe umieszczenie okręgu Apolloniusza wymaga jednoczesnego rozwiązania układu trzech równań odległości, co sprowadza się do obliczenia wzoru Kartezjusza, a następnie obliczenia nowego środka za pomocą ważonej kombinacji trzech istniejących środków. Symulacja wizualizuje to na każdym kroku rekurencji, kolorując okręgi według głębokości i wyświetlając ich krzywizny po najechaniu kursorem.

III. Spirografy hipotrochoidalne — przekładnie, stosunki i kuzyni figur Lissajous

Spirograf — krzywe hipotrochoidalne i epitrochoidalne

Ustaw promień zewnętrzny R, promień wewnętrzny r i przesunięcie pióra d; wybierz hipotrochoidę lub epitrochoidę; obserwuj, jak krzywa się zamyka, gdy r/R jest wymierne; eksportuj do SVG.

Zabawka Spirograf, wynaleziona przez Denysa Fishera w 1965 roku i sprzedawana w ponad 30 krajach, jest fizycznym komputerem do obliczania rodziny krzywych parametrycznych zwanych hipotrochoidami. Małe koło o promieniu r toczy się wewnątrz nieruchomego koła o promieniu R, a pióro zamocowane w odległości d od środka toczącego się koła kreśli krzywą. Równania są zwodniczo proste:

Hypotrochoid (inner rolling circle):
  x(t) = (R - r) * cos(t) + d * cos((R - r) * t / r)
  y(t) = (R - r) * sin(t) - d * sin((R - r) * t / r)

Epitrochoid (outer rolling circle):
  x(t) = (R + r) * cos(t) - d * cos((R + r) * t / r)
  y(t) = (R + r) * sin(t) - d * sin((R + r) * t / r)

The curve closes when r/R is rational:
  r/R = p/q  (in lowest terms)
  → curve closes after q revolutions of the rolling circle
  → the pattern has p-fold symmetry (p inner petals or loops)

Special cases:
  d = r           → hypocycloid (pen on the rim): rose-like cusps
  R = 2r, d = r   → straight line (Tusi couple)
  R/r = 5/3, d = r → five-pointed star with rounded points
  d > r           → outer loops ("prolate" trochoid)

Liczba płatków lub pętli w ukończonej krzywej równa się p, licznikowi r/R w postaci nieskracalnej. Jest to bezpośrednio powiązane z teorią ułamków łańcuchowych: „najprostsze” stosunki (te, których licznik i mianownik nie mają wspólnych czynników i są oba małe) dają najbardziej regularne wizualnie wzory. Stosunki niewymierne — gdy r/R nie można wyrazić jako p/q — dają krzywe, które nigdy się nie zamykają, gęsto wypełniając obszar pierścienia w miarę wzrostu t.

Para Tusiego i związek z figurami Lissajous

Gdy R = 2r, a pióro znajduje się na obrzeżu toczącego się koła (d = r), hipotrochoida degeneruje się do prostej linii oscylującej tam i z powrotem — pary Tusiego, opisanej przez perskiego astronoma z XIII wieku Nasira al-Din al-Tusiego jako model liniowego ruchu planetarnego wynikającego z kołowych przekładni. To także powód, dla którego figury Lissajous (figury powstające z dwóch prostopadłych oscylacji sinusoidalnych) wyglądają jak szczególne przypadki spirografów: obie powstają z tej samej leżącej u podstaw struktury parametrycznej sum ruchów kołowych.

IV. Ułamki łańcuchowe i drzewo Sterna-Brocota

Ułamki łańcuchowe i drzewo Sterna-Brocota

Wprowadź dowolną liczbę rzeczywistą; obserwuj budowanie się jej rozwinięcia w ułamek łańcuchowy; nawiguj po drzewie Sterna-Brocota; wizualizuj najlepsze przybliżenia wymierne i szybkość ich zbieżności.

Każdą liczbę rzeczywistą można zapisać jako ułamek łańcuchowy: liczbę całkowitą plus jeden przez liczbę całkowitą plus jeden przez liczbę całkowitą, i tak dalej. Liczby wymierne się kończą; niewymierne liczby algebraiczne, takie jak φ i √2, są okresowe; liczby przestępne, takie jak π, ciągną się bez wzorca. Ale struktura ułamka łańcuchowego koduje najgłębsze właściwości arytmetyczne liczby, a drzewo Sterna-Brocota czyni tę strukturę widoczną jako geometrię.

Continued fraction notation:
  x = a0 + 1/(a1 + 1/(a2 + 1/(a3 + ...)))
  Written: x = [a0; a1, a2, a3, ...]

Examples:
  phi = [1; 1, 1, 1, 1, ...]      (golden ratio: all 1s — hardest to approximate)
  sqrt(2) = [1; 2, 2, 2, 2, ...]  (repeating 2s)
  pi = [3; 7, 15, 1, 292, 1, ...]  (irregular; 292 gives excellent approximation 355/113)
  e = [2; 1, 2, 1, 1, 4, 1, 1, 6, 1, 1, 8, ...]  (elegant pattern)

Convergents (best rational approximations):
  p_{-1} = 1,  p_0 = a0,  p_n = a_n * p_{n-1} + p_{n-2}
  q_{-1} = 0,  q_0 = 1,   q_n = a_n * q_{n-1} + q_{n-2}
  convergent: h_n / k_n = p_n / q_n

Error bound:
  |x - p_n/q_n| < 1 / (k_n * k_{n+1})
  → large partial quotients a_{n+1} mean the previous convergent is exceptionally good

Drzewo Sterna-Brocota to drzewo binarne zawierające każdą dodatnią liczbę wymierną dokładnie raz, w postaci nieskracalnej, generowane przez proces zwany mediantą: mając dwa ułamki p/q i r/s, ich medianta to (p+r)/(q+s). Zaczynając od 0/1 i 1/0 i biorąc medianty na każdym kroku, budujemy całe drzewo. Pozycja każdej liczby wymiernej w drzewie koduje jej rozwinięcie w ułamek łańcuchowy: lewe gałęzie odpowiadają zerom (lub ilorazom częściowym na parzystych pozycjach), a prawe gałęzie jedynkom (lub ilorazom częściowym na nieparzystych pozycjach), w precyzyjnym kodowaniu.

Związek ze spirografami jest bezpośredni: przełożenie przekładni r/R determinuje symetrię krzywej, a rozwinięcie r/R w ułamek łańcuchowy podpowiada, które przybliżenia wymierne dają najbardziej charakterystyczne wizualnie wzory. Złoty podział φ = [1; 1, 1, 1,…] ma najgorsze przybliżenia wymierne spośród wszystkich liczb niewymiernych — dlatego nasiona słonecznika, ułożone w przyrostach kątowych 360°/φ, upakowują się tak wydajnie, jak to możliwe: żadne wymierne przełożenie przekładni nie może przybliżyć φ wystarczająco dobrze, by utworzyć widoczne rzędy, dopóki mianownik nie stanie się bardzo duży.

Wypróbuj sam

Wszystkie cztery symulacje działają w Twojej przeglądarce bez instalacji. Oto trzy punkty startowe, które warto zbadać:

Mozaika Penrose'a — zacznij od poziomu inflacji 4

Włącz „pokaż strzałki dopasowania” i przybliż klaster gwiazdy o pięciokrotnej symetrii. Następnie przejdź o dwa kolejne poziomy inflacji i znajdź tę samą gwiazdę zagnieżdżoną wewnątrz większego wzoru.

Uszczelka Apolloniusza — wypróbuj początkowe krzywizny −1, 2, 2, 3

Ta zasiana liczbami całkowitymi uszczelka generuje wyłącznie całkowite krzywizny. Najedź kursorem na okręgi, by odczytać ich krzywizny; zauważ, że każda liczba całkowita w końcu się pojawia.

Spirograf — ustaw R=120, r=77, d=90

Stosunek 77/120 jest bliski, ale nie równy prostemu ułamkowi: krzywa długo się zamyka i gęsto wypełnia pierścień, zanim to zrobi. Następnie wypróbuj R=100, r=40 dla czystej pięciopłatkowej róży.

Myśl na zakończenie

Wspólne dla tych czterech systemów jest to, że ich bogactwo nie jest wprowadzone ręcznie. Mozaika Penrose'a jest zdeterminowana przez dwa kształty i regułę dopasowania. Uszczelka Apolloniusza jest zdeterminowana przez trzy okręgi i jedno twierdzenie. Krzywa spirografu jest zdeterminowana przez trzy liczby. Drzewo Sterna-Brocota jest zdeterminowane przez jedną operację zastosowaną rekurencyjnie. Złożoność — nieskończony szczegół, nieoczekiwane wzory, siła estetyczna — wyłania się całkowicie z logiki. To być może centralna lekcja sztuki generatywnej zakorzenionej w matematyce: nie trzeba być kreatywnym w zwykłym sensie. Trzeba znaleźć właściwe reguły, a potem zejść im z drogi.

← Spotlight #65: Fizyka sportu, robotyka i grafika Wszystkie wpisy →