Коротка історія генеративного мистецтва та як його робити

Місячний обсяг продажів NFT на fxhash сягає $5 млн і лише трохи відстає від Objkt.com. При цьому на Objkt торгується все, а на fxhash — лише генеративне мистецтво.
Розповідаємо, чим генеративне мистецтво відрізняється від звичайного, з чого воно почалося і як його робити.
Коротка історія генеративного мистецтва
Генеративне мистецтво — це коли художник використовує механічні пристрої, комп’ютери або інші інструменти для створення чогось за заданою процедурою. Наприклад, маятник, який малює лінії на піску, — уже генератор мистецтва.
Першим проривним прикладом таких пристроїв-генераторів вважаються автоматони. Це ляльки з годинниковим механізмом, які за заданим алгоритмом писали речення, малювали прості малюнки або грали на струнних інструментах.

Наступним кроком стала поява комп’ютерів. Програмісти Майкл Нолл і Бела Жулез навчилися генерувати патерни з випадкових точок і навіть провели виставку генеративного мистецтва в 1965.

Інші художники оцінили їхні роботи. Сальвадор Далі надихався комп’ютерами і малював квадрати від душі, Елсворт Келлі малював ті ж квадрати, але за власноручк складеним алгоритмом, а архітектор Целестино Содду в 1987 році генерував 3D-моделі середньовічних міст за «штучно створеним ДНК міста».

З популяризацією комп’ютерів, у генеративне мистецтво вливалося дедалі більше людей. З’явилася демосцена — вміння написати програму, яка за мінімального обсягу займаного місця згенерує зображення, відео чи музику.

Вершиною демосцени стала гра .kkrieger. 3D-моделі, текстури, звуки, шейдери — все генерується з алгоритму загальним обсягом 98 КБ.

Сучасне генеративне мистецтво — симбіоз математики, програмування та бачення художника. Найчастіше це випадкові комбінації геометричних форм, але є й ті, хто з допомогою алгоритмів робить сотні варіацій однієї ідеї.
Як робити генеративне мистецтво? З чого почати?
По-перше, потрібно розібратися з JavaScript або будь-якою іншою мовою програмування. Освоїти цикли, трансформацію координат, тригонометричні функції та роботу з Canvas. А потім експериментувати.
Варто розпочати з Acrylicode’s Drawing Tool. У ньому можна намалювати будь-яку лінію, а потім за допомогою повзунків перетворити її на щось цікавіше.

Потім розібратися як створювати лінії та криві за допомогою JS, а потім виводити їх на екран через Canvas. Для цього є багато туторіалів, ось один із них.
Далі потрібно вивчати цикли та випадкові числа. Спочатку, щоб генерувати різні зображення з одного алгоритму по випадковому зерну, потім — щоб працювати з кольорами та надати їхній вибір волі випадку. Щоб краще розібратися в rand(), варто почати з повторення простих класичних робіт на кшталт Un Deux Trois Вери Мольнар.

Передостанній крок — навчитися користуватися бібліотекою p5js. Більшість тих функцій, які вам довелося б писати руками, вже в ній реалізовано. На вебсайті бібліотеки багато навчальних матеріалів.

І нарешті — зібрати свій проєкт за гайдом fxhash, щоб інші користувачі змогли його змінтити.
Підписуйтесь на соціальні мережі Tezos Ukraine, щоб нічого не пропустити:
- Telegram-канал
- Facebook.
- Twitter російською та українською мовами
- Twitter англійською мовою
- YouTube-канал
- hub на ForkLog


