0

I apologize if my topic is a bit fuzzy. I am having trouble deciding what site to post to.

A few years ago, I had an idea when I was walking down the street. I had been reading about the Processing computer language on the Internet and how it can be used to create art (and generative art in particular). I understand that generative art borrows quite a bit from complexity theory. There is also a computer language named Netlogo that can be used to create simulations of natural, social, and engineered systems, among others, employing complexity theory.

My idea was to create art that would make the workings of complexity based models easier for the public to interact with and understand (in particular, how emergence, a term from complexity theory, takes place). I am interested in exploring how and if Netlogo and Processing could be interfaced for this purpose. Both are Java based, so interfacing may be simplified in that regard.

I would be interested in initiating a dialog about my idea. Has anyone tried it or would like to try it?

user9885
  • 129
  • 3
  • It probably depends on what aspects of NetLogo you want to use, and what aspects of Processing you want to use. Processing has better graphics; NetLogo has better built-in support for mobile agents and networks. Interfacing them sounds ambitious; it would probably require in-depth technical knowledge of the internals of both systems, and would probably also require writing Java code. – Seth Tisue Sep 25 '15 at 02:58
  • If this question gets closed for being too broad for Stack Overflow, try https://groups.yahoo.com/neo/groups/netlogo-users/info. – Seth Tisue Sep 25 '15 at 02:58
  • CLARIFICATION - as a starting point, here are two links to web sites that talk about integrating (as opposed to interfacing) NetLogo and Processing (or Java): https://scientificgems.wordpress.com/2013/12/11/integrating-netlogo-and-java-part-1/ AND http://forum.processing.org/one/topic/netlogo-processing-interaction.html – user9885 Sep 25 '15 at 18:31

2 Answers2

2

The best example I know of agent-based models used as art is John McCormack's Eden. While I don't think it was implemented using Processing or NetLogo it was exhibited in museums. The description of it starts

"Eden is an interactive, self-generating, artificial ecosystem. A cellular world is populated by collections of evolving virtual creatures. Creatures move about the environment, making and listening to sounds, foraging for food, encountering predators and possibly mating with each other. Over time, creatures evolve to fit their landscape."

ToonTalk
  • 448
  • 3
  • 10
1

This is an interesting question; unfortunately it's not very suited for StackOverflow. That being said, I'll try to answer your question in general terms:

I am interested in exploring how and if Netlogo and Processing could be interfaced for this purpose. Both are Java based, so interfacing may be simplified in that regard.

Exactly. Both Processing and NetLogo can be used as an API. So to create an interface between them, you'd just:

  • Create a new Java project, probably in an IDE like eclipse.
  • Download Processing and add core.jar to your Java project's classpath. Instructions on using Processing from eclipse can be found here. Note: this tutorial was written for an old version of Processing, so some things might have changed with Processing 3.
  • Download NetLogo and add its jars to your Java project's classpath. Instructions for that can be found here.
  • Write Java code that uses the NetLogo API as a model and the Processing API to draw that model. The specifics of that depend entirely on what you're trying to do.

In general, I'd recommend starting small and taking small steps towards your end goal. I'm not sure how much programming experience you have, but try getting Processing working first, then get NetLogo working, then create your Java application, and only then try interfacing between them.

If you're looking for examples of what can be done in Processing, check out their exhibition page, or their CreativeApplications.Net, OpenProcessing, Vimeo, or Flickr pages. Personally, I also enjoy the work of Aaron Koblin.

If any of this helps, maybe try posting more specific questions with actual code: it's easier to answer questions like "I tried X, expected Y, but got Z instead. What's going on?" than it is to answer general "how do I do this" type questions.

Shameless self-promotion: I've written a series of Processing tutorials available here, and if you're looking for a place to talk about this in a more general way than StackOverflow supports, I have a forum here. You might also try the Processing forum.

Good luck, and happy coding!

Edit: Also, check out the examples that come with Processing either by visiting this page or by going to File -> Examples... from your Processing editor. These examples include cellular automata and flocking programs that you might be interested in.

Community
  • 1
  • 1
Kevin Workman
  • 41,537
  • 9
  • 68
  • 107