世界从根本上是生成性的,因为它是由物理、生物和化学过程创造的。但它并非由干净的数学线条组成;相反,它是数学模式和熵之间的斗争。生成艺术反映了现实的这两个方面,提供了对世界独特的视角。
在本文中,我将使用流行的开源图形库 Processing 来演示一种生成艺术的方法。我喜欢这个软件,因为它拥有丰富的编码员、艺术家、文档和相关的开源库生态系统(例如 Quil,一个 Clojure 包装器)。
我喜欢研究绘画,因为它简单、干净,并且能产生一系列引人入胜的图案和效果。在我的速写本中用水彩作画时,颜料涂在潮湿纸张上的效果总是吸引我的眼球。我决定看看是否可以使用生成过程捕捉这些效果。我的目标不一定是制作照片般逼真的渲染图,而只是捕捉使其在视觉上有趣的东西。因为目标是获得过程的本质而不是图像,所以这项技术可以以多种方式使用。这就是生成方法的威力。
让我们从真实的事物开始看看:拿一张纸,稍微弄湿,然后在纸上涂上一点红色水彩颜料。你会看到类似这样的东西

在潮湿的纸上涂上一点红色颜料会产生类似这样的效果。
仔细观察:请注意颜料的边缘非常柔和。但它们的柔和方式非常特殊——它们不是直的。它们让我想起海岸线——曲折蜿蜒,带有一种分形性质。这些图案与尺度无关,就像分形一样:放大后,您会看到与较大尺度相同的变化。
假设您用一笔画一个圆圈。会发生什么?颜料从圆圈内部向外流动,沿着阻力最小的路径流动。如果您从一个基本多边形开始,那么该多边形会随着部分向外延伸而发生变形。
从概念上讲,制作一个简单的模型很容易:取多边形的每一条边并向外拉伸。正如颜料扩散的程度存在差异一样,多边形的边变形的程度也需要存在随机变化。在自然界中,高斯分布通常非常适合这种类型的方差,因此让我们使用它来选择三个变量来控制每条边的变形:变形从原始多边形扩散的程度、突出的角度以及扩散的点。有了这些规则,如果您让一个十边形经过一轮变形,您将得到类似这样的东西

经过一轮变形后,您的十边形将看起来像这样。
这很粗糙,但它是整个过程的基础。要添加更多细节,请递归地应用此变形:从变形后的多边形中取出每个新的、较小的边,并将其向外扩展,远离多边形的内部。只要变形幅度按正在变形的边的长度缩放,递归应该可以工作,而无需进行额外的更改。经过六轮递归后,多边形看起来像这样

经过六轮递归后,您的十边形将看起来与此类似。
它开始捕捉到水彩画的海岸线状边缘。现在缺少的是柔和度。大多数水彩颜料的边缘都从纯颜料到纯纸张平缓过渡——几乎没有硬边。我创建这种柔和度的标准方法是使用许多非常透明的图层,并使用某种随机变化来使每个图层略有不同。
幸运的是,已经使用的相同变形函数在这里也运行良好。与其预先完成所有六轮递归,不如先只做三轮,然后将部分变形的多边形用作所有透明图层的基底。对于每个图层,从基底重新开始,并使其再经过三轮变形。
请记住,变形函数按边的长度缩放,并且到最后一轮,边已经非常短,因此最后三轮只会产生微小的变化。如果将每个图层的不透明度设置为 5%,总共 50 个图层,则结果如下

通过添加许多透明图层来增加图像的柔和度。
这很好地捕捉到了柔和的边缘。有些区域具有渐变过渡;另一些区域则更突然地结束。为了进一步改进它,通过为每个起始边缘分配不同的平均变形来夸大这种差异。当该边缘被分割时,生成的子边缘会继承具有方差的平均值。这可能大致对应于纸张在不同区域更湿或更不湿,这使得颜料在某些部分比其他部分更容易流动。通过最后的更改,我们的水彩效果看起来像这样

这是应用所有“水彩效果”后的最终图像。
在这一点上,“水彩过程”可以从仅仅是一项研究转变为成为创作艺术品的工具。您可以调整参数以创建新的效果,这些效果保留了水彩的精髓,但不一定逼真地模仿它。您可以根据您想在特定艺术作品中表达的内容,将这种生成过程偏向数学或随机化的一侧。
如果您对这篇文章感兴趣,我建议您尝试类似的研究并编写自己的工具。此外,还可以查看现有的开源工具,例如优秀的 HYPE 框架。最后一步是简单地使用这些引人入胜的新工具来创作艺术。
要了解更多信息,请参加 Tyler 的演讲,如何破解一幅画,在 Strange Loop 大会上,大会将于 9 月 28 日至 30 日在美国密苏里州圣路易斯举行。

这是另一个使用生成艺术方法创建的类似水彩的图像示例。
评论已关闭。