Spotlight #68: Генеративне мистецтво і чиста математика — спірографи, Пенроуз і Аполлоній

Чотири теореми, з якими більшість людей ніколи не стикається в школі — та кожна з них породжує зображення настільки вражаючі, що виглядають комп'ютерно згенерованими, навіть коли намальовані вручну. Мозаїка Пенроуза, гаскет Аполлонія, гіпотрохоїдні криві та дерево Штерна-Броко — усі вони чекають у вкладці браузера, без жодного встановлення.

Існує особлива категорія математичних об'єктів, що з однаковою силою вражає і геометра, і графічного дизайнера: структури, настільки обмежені чистою логікою, що вони породжують красу як побічний ефект. Чотири симуляції в цьому spotlight саме такого роду. Кожна кодує теорему — строге, доведене твердження про числа чи геометрію — проте результат нічим не відрізняється від навмисного візуального мистецтва. Це не збіг. Так відбувається, коли самі правила прекрасні.

I. Мозаїка Пенроуза — дефляція та квазіперіодичність

Мозаїка Пенроуза — алгоритм дефляції та квазіперіодичні візерунки

Проходьте ітерації дефляції; перемикайтеся між наборами "повітряний змій/дротик" і "товстий/тонкий ромб"; розфарбовуйте за типом плитки чи стрілками правил відповідності; збільшуйте кластери з п'ятикратною симетрією.

У 1974 році Роджер Пенроуз відкрив пару фігур, здатних замостити нескінченну площину, ніколи не повторюючись. Це було надзвичайним відкриттям, оскільки воно спростувало поширену інтуїцію про те, що будь-який скінченний набір плиток, здатних замостити площину, повинен вміти робити це періодично — як плитка у ванній кімнаті чи цегляна стіна. Мозаїка Пенроуза є аперіодичною: вона бездоганно вкриває площину, але жодне перенесення (зсув без обертання) не відображає мозаїку саму на себе.

Найпростіший варіант використовує два ромби: "товстий" ромб із кутами 72° і 108°, та "тонкий" ромб із кутами 36° і 144°. Правила відповідності — стрілки на краях, які мають збігатися при стиковці плиток — це те, що запобігає періодичному розташуванню. Еквівалентно, і більш зручно з обчислювальної точки зору, мозаїку можна згенерувати через дефляцію: кожен товстий ромб розділяється на один товстий і один тонкий; кожен тонкий ромб розділяється на один товстий і один тонкий, за фіксованими правилами геометричного поділу. Повторення дефляції породжує дедалі щільніші мозаїки, пропорції яких постійно керуються золотим перерізом.

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)

Мозаїка має приховану п'ятикратну симетрію, помітну в скупченні плиток навколо центральної точки. Придивившись, ви знайдете "зірки" (п'ять тонких ромбів, що сходяться в точці), "тузи" (товстий ромб, оточений тонкими), "сонця" (п'ять товстих ромбів, що сходяться в точці) та кластери "deuce" — усі повторювані мотиви, які ніколи повністю не повторюються. Ця п'ятикратна симетрія зазвичай несумісна з періодичністю у двовимірному просторі, і саме тому мозаїка не може бути періодичною. Симуляція дозволяє покроково проходити ітерації дефляції та спостерігати, як візерунок розгортається від жменьки плиток до десятків тисяч, причому кожен рівень відкриває нові кластери, вкладені всередину попередніх.

У 1984 році матеріалознавець Дан Шехтман відкрив реальний алюмінієво-марганцевий сплав, дифракційна картина якого показувала десятикратну симетрію — неможливу для періодичного кристала. Спочатку його висміяли, а потім виправдали. Матеріал виявився квазікристалом: тривимірним аналогом мозаїки Пенроуза. Шехтман отримав Нобелівську премію з хімії у 2011 році.

II. Гаскет Аполлонія — теорема кіл Декарта

Гаскет Аполлонія — теорема Декарта і фрактальна розмірність

Задайте три взаємно дотичні кола; спостерігайте, як гаскет заповнюється колами Аполлонія до заданої глибини; показуйте кривини; обчислюйте оцінку розмірності Хаусдорфа в реальному часі.

Почнімо з трьох взаємно дотичних кіл. Існує рівно два кола, дотичні до всіх трьох одночасно: одне, вписане в криволінійний трикутник між ними, і одне, що охоплює всі три ззовні. Тепер повторимо: у кожному новоствореному криволінійному трикутнику впишемо ще одне дотичне коло. Отриманий фрактал — це гаскет Аполлонія, і він керується однією з найелегантніших тотожностей класичної геометрії — теоремою кіл Декарта, опублікованою у 1643 році.

Визначимо кривину кола як k = 1 / r, де r — радіус. Для зовнішнього охоплюючого кола, внутрішня частина якого спрямована назовні відносно упаковки, кривина береться від'ємною. Декарт довів, що для будь-яких чотирьох взаємно дотичних кіл із кривинами 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)

Що робить теорему Декарта чудовим генеративним інструментом, так це те, що вона зберігає цілочисельність: якщо чотири вихідні кривини є цілими числами, кожне коло, породжене рекурсією, також має цілу кривину. Гаскет Аполлонія, засіяний кривинами −1, 2, 2, 3, породжує нескінченну сім'ю кіл, чиї кривини є винятково додатними цілими числами, причому кожне ціле число з'являється нескінченну кількість разів. Теоретики чисел витратили десятиліття на вивчення того, які цілі числа з'являються (глибока проблема, що торкається діофантових рівнянь), тоді як гаскет одночасно кодує фрактал із розмірністю Хаусдорфа приблизно 1.3057 — строго між кривою та заповненою областю.

Обчислення точки дотику

Знайти точку, де дотикаються два кола, доволі просто: якщо два кола мають центри C₁ і C₂ та радіуси r₁ і r₂, точка дотику лежить на відрізку, що з'єднує їхні центри, на відстані r₁ від C₁. Правильне розташування кола Аполлонія вимагає одночасного розв'язання системи з трьох рівнянь відстані, що зводиться до обчислення формули Декарта, а потім обчислення нового центру за допомогою зваженої комбінації трьох наявних центрів. Симуляція візуалізує це на кожному кроці рекурсії, розфарбовуючи кола за глибиною та показуючи їхні кривини при наведенні курсора.

III. Гіпотрохоїдні спірографи — шестерні, відношення та кузени фігур Лісажу

Спірограф — гіпотрохоїдні та епітрохоїдні криві

Задайте зовнішній радіус R, внутрішній радіус r та зміщення пера d; оберіть гіпотрохоїду чи епітрохоїду; спостерігайте, як крива замикається, коли r/R раціональне; експортуйте у SVG.

Іграшка "Спірограф", винайдена Денісом Фішером у 1965 році та продана в понад 30 країнах, являє собою фізичний обчислювач для сім'ї параметричних кривих, що звуться гіпотрохоїдами. Мале коло радіусом r котиться всередині нерухомого кола радіусом R, а перо, закріплене на відстані d від центру рухомого кола, малює криву. Рівняння оманливо прості:

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)

Кількість пелюсток або петель у завершеній кривій дорівнює p — чисельнику r/R у нескоротному вигляді. Це безпосередньо пов'язано з теорією неперервних дробів: "найпростіші" відношення (ті, чисельник і знаменник яких не мають спільних дільників і обидва малі) породжують найбільш візуально регулярні візерунки. Ірраціональні відношення — коли r/R не можна виразити як p/q — породжують криві, які ніколи не замикаються, щільно заповнюючи область кільця з ростом t.

Пара Тусі та зв'язок із фігурами Лісажу

Коли R = 2r, а перо розташоване на краю рухомого кола (d = r), гіпотрохоїда вироджується у пряму лінію, що коливається туди-сюди — пару Тусі, описану перським астрономом XIII століття Насір ад-Діном ат-Тусі як модель лінійного планетарного руху, що виникає з кругових шестерень. Саме тому фігури Лісажу (фігури, породжені двома перпендикулярними синусоїдальними коливаннями) виглядають як окремі випадки спірографів: обидві виникають із тієї самої базової параметричної структури сум кругових рухів.

IV. Неперервні дроби та дерево Штерна-Броко

Неперервні дроби та дерево Штерна-Броко

Введіть будь-яке дійсне число; спостерігайте, як будується його розклад у неперервний дріб; навігуйте по дереву Штерна-Броко; візуалізуйте найкращі раціональні наближення та швидкість їхньої збіжності.

Кожне дійсне число можна записати як неперервний дріб: ціле число плюс одиниця, поділена на ціле число плюс одиниця, поділена на ціле число, і так далі. Раціональні числа обриваються; алгебраїчні ірраціональні числа, такі як φ та √2, повторюються; трансцендентні числа, такі як π, тривають без візерунка. Але структура неперервного дробу кодує найглибші арифметичні властивості числа, і дерево Штерна-Броко робить цю структуру видимою як геометрію.

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

Дерево Штерна-Броко — це двійкове дерево, що містить кожне додатне раціональне число рівно один раз, у нескоротному вигляді, породжене процесом, який зветься медіантою: маючи два дроби p/q і r/s, їхня медіанта дорівнює (p+r)/(q+s). Починаючи з 0/1 та 1/0 і беручи медіанти на кожному кроці, ми будуємо все дерево. Позиція кожного раціонального числа в дереві кодує його розклад у неперервний дріб: ліві гілки відповідають нулям (або парним за позицією неповним частним), а праві гілки — одиницям (або непарним за позицією неповним частним) у точному кодуванні.

Зв'язок зі спірографами прямий: передавальне відношення шестерень r/R визначає симетрію кривої, а розклад r/R у неперервний дріб підказує, які раціональні наближення дають найвиразніші візерунки. Золотий переріз φ = [1; 1, 1, 1,…] має найгірші раціональні наближення серед усіх ірраціональних чисел — саме тому насіння соняшника, розташоване з кутовим кроком 360°/φ, упаковується максимально ефективно: жодне раціональне передавальне відношення не може апроксимувати φ достатньо добре, щоб утворити видимі ряди, доки знаменник не стане дуже великим.

Спробуйте самі

Усі чотири симуляції працюють у вашому браузері без встановлення. Ось три відправні точки, які варті дослідження:

Мозаїка Пенроуза — почніть з рівня дефляції 4

Увімкніть "показувати стрілки відповідності" та збільшіть кластер із п'ятикратною зіркою. Потім піднімітеся ще на два рівні дефляції та знайдіть ту саму зірку, вкладену всередину більшого візерунка.

Гаскет Аполлонія — спробуйте вихідні кривини −1, 2, 2, 3

Цей засіяний цілими числами гаскет породжує лише цілочисельні кривини. Наведіть курсор на кола, щоб зчитати їхні кривини; зауважте, що з часом з'являється кожне ціле число.

Спірограф — задайте R=120, r=77, d=90

Відношення 77/120 близьке, але не дорівнює простому дробу: крива довго не замикається і щільно заповнює кільце, перш ніж це зробити. Потім спробуйте R=100, r=40 для чистої п'ятипелюсткової троянди.

Заключна думка

Спільне для цих чотирьох систем те, що їхнє багатство не закладене вручну. Мозаїка Пенроуза визначається двома фігурами та правилом відповідності. Гаскет Аполлонія визначається трьома колами та однією теоремою. Крива спірографа визначається трьома числами. Дерево Штерна-Броко визначається однією операцією, застосованою рекурсивно. Складність — нескінченна деталізація, несподівані візерунки, естетична сила — постає повністю з логіки. Це, мабуть, головний урок генеративного мистецтва, закоріненого в математиці: не потрібно бути креативним у звичайному сенсі. Потрібно знайти правильні правила, а потім не заважати їм працювати.

← Spotlight #65: Спортивна фізика, робототехніка та графіка Усі дописи →