Можно ли создавать искусство на основе Netlogo и Processing?

Я прошу прощения, если моя тема немного размыта. У меня возникают проблемы с выбором сайта для публикации.

Несколько лет назад у меня появилась идея, когда я шел по улице. Я читал о компьютерном языке обработки в Интернете и о том, как его можно использовать для создания искусства (и, в частности, генеративного искусства). Я понимаю, что порождающее искусство довольно много заимствует из теории сложности. Существует также компьютерный язык Netlogo, который можно использовать для моделирования естественных, социальных и инженерных систем, в том числе с использованием теории сложности.

Моя идея состояла в том, чтобы создать искусство, которое сделало бы модели, основанные на сложности, более доступными для общественности для взаимодействия и понимания (в частности, как происходит появление, термин из теории сложности). Я заинтересован в изучении того, как и если Netlogo и Processing могут быть связаны для этой цели. Оба основаны на Java, поэтому взаимодействие может быть упрощено в этом отношении.

Мне было бы интересно начать диалог о моей идее. Кто-нибудь пробовал или хотел бы попробовать?

2 ответа

Лучший пример, который я знаю об агентных моделях, используемых в качестве искусства, - " Эдем" Джона МакКормака. Хотя я не думаю, что это было реализовано с помощью Processing или NetLogo, оно было выставлено в музеях. Описание этого начинается

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

Это интересный вопрос; к сожалению, он не очень подходит для Stackru. При этом я постараюсь ответить на ваш вопрос в общих чертах:

Я заинтересован в изучении того, как и если Netlogo и Processing могут быть связаны для этой цели. Оба основаны на Java, поэтому взаимодействие может быть упрощено в этом отношении.

Именно так. Обработка и NetLogo могут быть использованы в качестве API. Итак, чтобы создать интерфейс между ними, вы просто:

  • Создайте новый проект Java, возможно, в IDE, например, eclipse.
  • Скачать Обработка и добавление core.jar к пути к классу вашего Java-проекта. Инструкции по использованию обработки от затмения можно найти здесь. Примечание: это руководство было написано для старой версии Processing, поэтому некоторые вещи могли измениться с Processing 3.
  • Загрузите NetLogo и добавьте его jar-файлы в classpath вашего Java-проекта. Инструкции для этого можно найти здесь.
  • Напишите код Java, который использует NetLogo API в качестве модели и API обработки для рисования этой модели. Специфика этого полностью зависит от того, что вы пытаетесь сделать.

В общем, я бы рекомендовал начинать с малого и делать маленькие шаги к конечной цели. Я не уверен, насколько у вас есть опыт программирования, но сначала попробуйте запустить обработку, затем запустить NetLogo, затем создать приложение Java и только затем попытаться установить интерфейс между ними.

Если вы ищете примеры того, что можно сделать в разделе "Обработка", посетите страницу их выставки или страницы CreativeApplications.Net, OpenProcessing, Vimeo или Flickr. Лично мне также нравится работа Аарона Коблина.

Если что-то из этого помогает, возможно, попробуйте опубликовать более конкретные вопросы с реальным кодом: легче ответить на такие вопросы, как "Я пробовал X, ожидал Y, но вместо этого получил Z. Что происходит?" чем ответить на общие вопросы типа "как мне это сделать".

Бесстыдная самореклама: я написал серию учебных пособий по обработке, доступных здесь, и если вы ищете место, чтобы поговорить об этом в более общем смысле, чем поддерживает Stackru, у меня есть форум здесь. Вы также можете попробовать форум по обработке.

Удачи и счастливого кодирования!

Изменить: Кроме того, ознакомьтесь с примерами, которые поставляются с обработкой, либо посетив эту страницу или перейдя в Файл -> Примеры... из вашего редактора обработки. Эти примеры включают в себя клеточные автоматы и флокирующие программы, которые могут вас заинтересовать.

Другие вопросы по тегам