Можно ли создавать искусство на основе 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, у меня есть форум здесь. Вы также можете попробовать форум по обработке.
Удачи и счастливого кодирования!
Изменить: Кроме того, ознакомьтесь с примерами, которые поставляются с обработкой, либо посетив эту страницу или перейдя в Файл -> Примеры... из вашего редактора обработки. Эти примеры включают в себя клеточные автоматы и флокирующие программы, которые могут вас заинтересовать.