Довідник

Алгоритми генеративного мистецтва

Стислий довідник основних алгоритмів, що застосовуються в генеративному та процедурному мистецтві — шум, самоподібність, реакція-дифузія, атрактори та емерджентні системи.

Алгоритми шуму

Алгоритм Теги Ключові властивості
Value Noise (шум значень) 2D3D Інтерполяція випадкових значень у кутах ґратки. Простий, з незначними сітковими артефактами, дешевий
Градієнтний шум (Перліна) 2D3D Інтерполяція скалярних добутків випадкових градієнтних векторів. Гладший за шум значень. Кен Перлін, 1983
Simplex Noise 2D3D Варіант шуму Перліна на симпліційній ґратці. Менше спрямованих артефактів, швидший у високих вимірностях. Перлін, 2001
Worley (клітинний) шум 2D3D Відстань до найближчої випадкової точки. Утворює клітинний/вороноївський візерунок. Варіанти F1, F2-F1, F2
fBm (фрактальний броунівський рух) Проц Сума шуму на кількох частотах (октавах). fBm = Σ amplitude * noise(pos * freq)
Domain Warping (спотворення області) Проц Спотворення вхідних координат шумом перед вибіркою шуму. Техніка Інго Кілеза для органічних форм
Blue Noise (синій шум) 2D Спектрально рівномірний розподіл — уникає низькочастотного скупчення. Застосовується в дизерингу та вибірці
Curl Noise (роторний шум) 2D3D Бездивергентне поле швидкостей із градієнта шуму — фізично правдоподібна течія, схожа на рідину

Фрактали та самоподібність

Алгоритм Теги Ключові властивості
Множина Мандельброта 2D Алгоритм часу втечі: ітеруйте z = z² + c. Нескінченна деталізація на межі
Множина Жюліа 2D Та сама ітерація, фіксований параметр c на зображення. Кожна точка Мандельброта породжує множину Жюліа
Burning Ship («Палаючий корабель») 2D Варіант: z = (|Re(z)| + i|Im(z)|)² + c. Форма, схожа на корабель
L-системи 2D3D Граматика переписування рядків для розгалужених структур. Рослини, фрактали, криві, що заповнюють простір
IFS (системи ітерованих функцій) 2D Папороть Барнслі: випадкові афінні перетворення, застосовані багаторазово. Збігається до атрактора
Трикутник / килим Серпінського 2D Фрактал поділу. Гра хаосу: випадкові середини. Розмірність ≈ 1.585
Сніжинка / крива Коха 2D Замініть середню третину кожного відрізка рівностороннім виступом. Периметр → ∞, площа скінченна
Фрактальний рельєф (Diamond-Square) 2D3D Зміщення середніх точок на сітці висот. Утворює природні на вигляд гори

Клітинні та реакційні системи

Алгоритм Теги Ключові властивості
«Гра життя» Конвея 2DСим 4 правила на двійковій сітці. B3/S23. Тюрінг-повна, глайдери, осцилятори
Загальні клітинні автомати 2D Елементарні 1D Вольфрама: 256 правил. 2D-узагальнення: нотація B/S (наприклад, B36/S23 = HighLife)
Реакція-дифузія 2DСим Модель Грея-Скотта: дві речовини, швидкості подачі/знищення керують плямами, смугами, лабіринтами
Згладжений частинковий КА 2D Lenia: неперервна «Гра життя». Згортка з гладким ядром, багаті живоподібні візерунки
Морфогенез Тюрінга 2D Модель активатор-інгібітор для біологічних візерунків (смуги, плями на шкірі тварин). Алан Тюрінг, 1952
Білоусова-Жаботинського 2DСим Осцилювальна хімічна реакція. Спіральні хвилі, обертові мішенеподібні візерунки

Просторові алгоритми

Алгоритм Теги Ключові властивості
Діаграма Вороного 2D3D Розбиття простору за найближчою опорною точкою. Двоїстий граф = тріангуляція Делоне
Тріангуляція Делоне 2D Критерій описаного кола: максимізує мінімальні кути. Інкрементний алгоритм Бойера-Ватсона
Релаксація Ллойда 2D Ітеративно зсуває опорні точки Вороного до центроїда їхньої клітинки → рівномірний розподіл (схожий на синій шум)
Вибірка диском Пуассона 2D3D Обмеження мінімальної відстані між точками. Швидкий алгоритм Бридсона: O(N)
Криві, що заповнюють простір 2D Крива Гільберта, Z-порядок (крива Мортона): відображають 2D у 1D зі збереженням локальності
Генерація лабіринтів 2D DFS-рекурсивний backtracker, Прима, Еллера, Вілсона (випадкове блукання зі стиранням петель)

Системи на основі фізики

Алгоритм Теги Ключові властивості
Boids (зграйна поведінка) 2D3DСим 3 правила: розділення, вирівнювання, згуртування (Крейг Рейнольдс, 1987). Емерджентна мурмурація
Рідина SPH 2D3DСим Нестислива рідина на основі частинок. Нав'є-Стокс через інтерполяцію ядром
Ґратковий метод Больцмана (LBM) 2DСим Мезомасштабна рідина: дискретні розподіли ймовірностей на сітці. Варіанти D2Q9, D3Q19
Тканина Верле 2D3DСим Обмеження відстані між частинками. Динаміка на основі позицій Якобсена
Дивні атрактори 3D Атрактори Лоренца, Рьосслера, Томаса: хаотичні ОДР, простежені як траєкторії частинок
DLA (агрегація, обмежена дифузією) 2D Частинки, що випадково блукають, прилипають до кластера. Утворює розгалужений фрактал (сніжинка, корал)

Алгоритми форми та обрисів

Алгоритм Теги Ключові властивості
Функції знакових відстаней (SDF) 2D3D Фігура як поле відстаней. Компонується через min/max/smoothstep. Ray marching для рендерингу
Marching Cubes / Squares 2D3D Видобування ізоповерхні зі скалярного поля. 256 випадків (куби), 16 випадків (квадрати)
Спірографи (гіпотрохоїди) 2D Параметричні: коло, що котиться всередині/зовні кола. Відношення радіусів керує кількістю пелюсток
Фігури Хладні 2D Власні моди пластин, що вібрують: cos(m·x)·cos(n·y) = 0 вузлові лінії
Суперфігури (суперформула) 2D3D Суперформула Гіліса з 6 параметрами генерує квіти, морські зірки, спіралі
Черепашача графіка Ліндемаєра 2D Рядки L-системи, інтерпретовані як команди черепашки (F=вперед, +=поворот, [=зберегти)