0

如果我的主题有点模糊,我深表歉意。我无法决定发布到哪个网站。

几年前,当我走在街上时,我有了一个想法。我一直在 Internet 上阅读有关 Processing 计算机语言以及如何使用它来创作艺术(尤其是生成艺术)的信息。我知道生成艺术从复杂性理论中借鉴了很多。还有一种名为 Netlogo 的计算机语言,可用于创建自然、社会和工程系统的模拟,其中包括采用复杂性理论。

我的想法是创造艺术,使基于复杂性的模型的工作更容易让公众与之互动和理解(特别是复杂性理论中的一个术语“涌现”是如何发生的)。我有兴趣探索如何以及是否可以为此目的连接 Netlogo 和 Processing。两者都是基于 Java 的,因此在这方面可以简化接口。

我有兴趣就我的想法发起对话。有没有人尝试过或想尝试一下?

4

2 回答 2

2

我所知道的将基于代理的模型用作艺术的最好例子是 John McCormack 的Eden。虽然我不认为它是使用 Processing 或 NetLogo 实现的,但它曾在博物馆展出。它的描述开始

“伊甸园是一个交互式、自我生成的人工生态系统。细胞世界由不断进化的虚拟生物的集合组成。生物在环境中移动,发出和聆听声音,觅食,遇到捕食者,并可能相互交配。随着时间的推移,生物会进化以适应它们的景观。”

于 2015-09-26T09:44:10.590 回答
1

这是个有趣的问题; 不幸的是,它不太适合 StackOverflow。话虽如此,我将尝试笼统地回答您的问题:

我有兴趣探索如何以及是否可以为此目的连接 Netlogo 和 Processing。两者都是基于 Java 的,因此在这方面可以简化接口。

确切地。Processing 和 NetLogo 都可以用作 API。因此,要在它们之间创建接口,您只需:

  • 创建一个新的 Java 项目,可能在Eclipse之类的 IDE 中。
  • 下载 Processing 并添加core.jar到您的 Java 项目的类路径中。可以在此处找到有关使用 Eclipse 处理的说明。注意:本教程是为旧版本的 Processing 编写的,因此 Processing 3 可能会发生一些变化。
  • 下载 NetLogo 并将其 jars 添加到您的 Java 项目的类路径中。可以在此处找到相关说明。
  • 编写使用 NetLogo API 作为模型并使用处理 API 绘制该模型的 Java 代码。具体细节完全取决于您要做什么。

一般来说,我建议从小处着手,朝着最终目标迈出一小步。我不确定你有多少编程经验,但先尝试让 Processing 工作,然后让 NetLogo 工作,然后创建你的 Java 应用程序,然后才尝试在它们之间进行接口。

如果您正在寻找可以在处理中完成的示例,请查看他们的展览页面,或者他们的CreativeApplications.NetOpenProcessingVimeoFlickr页面。就个人而言,我也很喜欢Aaron Koblin的作品。

如果这有任何帮助,也许可以尝试使用实际代码发布更具体的问题:更容易回答诸如“我试过 X,预期 Y,但得到 Z。这是怎么回事?”之类的问题。而不是回答一般的“我该怎么做”类型的问题。

无耻的自我推销:我在这里写了一系列处理教程,如果你正在寻找一个比 StackOverflow 支持的更通用的方式来讨论这个的地方,我在这里有一个论坛。您也可以尝试处理论坛

祝你好运,编码愉快!

编辑:另外,通过访问此页面或从处理编辑器转到文件 - > 示例...来查看处理附带的示例。这些示例包括您可能感兴趣的元胞自动机和植绒程序。

于 2015-09-26T13:02:39.040 回答