В начале 2021 года я участвовал в мероприятии по творческому кодированию под названием генуарий. Каждый день вы получаете подсказку, например, не повторять или без цикла. Я понял, что эти подсказки - именно то, что мне нужно - внешние стимулы, которые могут побудить меня изучить техники и темы, которые обычно не были у меня в голове.

Я погрузился в первый день с летающими пончиками в p5.js.

Затем я попробовал под запросом «сделайте что-нибудь человечное» алгоритм, который меня некоторое время интересовал, - деревья, заполняющие пространство. Это происходит из области вычислительной ботаники. Когда вы читаете оригинал статьи, вы понимаете, насколько серьезно люди рисуют дерево. Сначала я создал границы формы, а затем вырастил дерево, если оно находится внутри этой границы.

Первые несколько дней были довольно тяжелыми. После этого моя работа сосредоточилась вокруг нескольких основных тем.

Случайность

Случайность - это противоядие от форм, которые выглядят механически. Он может добавить немного хаоса.

Используя случайное блуждание с круговой симметрией, я сделал эту куполообразную структуру.

Для подсказки «увеличить случайность в определенном направлении» я сделал треугольную сетку.

В ответ на подсказку только кривая я использовал случайность в полях потока (вот более подробная запись о поле потока). Я хотел создать архитектурную плавность, напоминающую здания Захи Хадид - Королевы кривой. Еще не совсем так, но меня всегда очаровывали органические формы.

Фракталы

Исследуя эту тему, я наткнулся на книгу Барнсли Фракталы везде и видео threeblue1brown, посвященное широкому определению фракталов, не требующему самоподобия.

Мой первый рекурсивный визуал - создать этот цветок, определив функцию формы, а затем сдвинув ее в направлениях x и y.

Затем я вырастил лес L-системы, используя набор правил, чтобы определить, в каком направлении растут ветви.

Аттракторы

Я также познакомился с различными формами странных аттракторов помимо обычных, таких как Де Йонг или Клиффорд. Играя с этими формами, я был загипнотизирован, увидев бесконечные возможности форм, созданных из разных параметров.

Картинки

Еще один инструмент, с которым я играл, - изображения. Пиксели несут настолько обширную информацию, что служат отличной отправной точкой для холста - в зависимости от того, рассматриваете ли вы их как палитру, данные или что-то еще. Я использовал сортировку пикселей, чтобы превратить пейзаж в абстрактную картину.

Я также использовал яркость пикселей как высоту в трехмерном пространстве (трюк из книги Кейси Риаса Form + Code).

Процессы

Некоторые из моих процессов и размышлений:

  • Мне очень нравятся ремиксы. Комбинирование разных техник мгновенно порождает новые методы или потусторонние эффекты.
  • Математика и алгоритмы - находка для дизайна. Такие алгоритмы, как рекурсия, подразделение, случайный шум и т. Д., Могут генерировать очень выразительные, сложные визуальные эффекты.
  • Некоторые концепции, такие как симметрия или движение во времени, могут быть фундаментально связаны.
  • Существует так много разных способов выразить одну и ту же концепцию и так много разных ручек, которые можно повернуть, даже используя одну и ту же технику.
  • Я начал ценить косвенные стратегии Ино. Одна из скрытых жемчужин, которую я получил от этого, - это взглянуть на старые техники в новом свете. Даже чрезмерно используемые методы могут иметь редко используемую цель.

Есть и другие техники, которые меня интересуют, но пока я не нашел времени для изучения и практики, такие как жеода, дизеринг или то, как заставить что-либо таять.

В целом мне нравилось учиться и творить в виртуальном сообществе. Наблюдение за выпуском новых работ каждый день мотивировало меня продолжать работу.

Хотя часть кода можно найти в моем репозитории творческого кодирования, у меня нет конкретного кода только для этой серии. Возможно, лучший способ создать уникальную работу - это обратиться к книге Дэна Шиффмана Coding Train, которая охватывает большинство тех алгоритмов, которые можно придумать с помощью видео и шаблонов кода, и дать волю своему воображению.