写在前面
生成的艺术,指尖上的艺术,通过键盘上韵律般的敲敲打打,一幅幅美轮美奂的艺术作品便跃然于屏,这样的画作,包含了无穷的创意,糅合了现代计算机科技与传统绘画艺术,于我看来,难道还有比这更令人陶醉的美事吗?
用代码进行艺术创作,其过程与在画纸上进行绘画大同小异。当某个灵感创意突然在头脑中闪过的时候,例如地理刊物上的一个轮廓图案或是科学杂志上的某个函数图形,我会马上在画纸上打草稿,并记录下若干重要的描述字眼,力求最大限度地把想法留下。而后,我会通过编程(一般是通过Python和Nodebox)这个笔刷来进行画画。经过不断的细化处理,一步步调整形状、颜色、透明度等属性,最后在屏幕上得出我心中的作品。而这一切,都是透过修改相关绘图包或函数参数来实现的。例如,下面这个PY代码段里,我定义了一个用于绘制波形图的调色板。
之后,调用一个波形绘图函数,来进行具体的图形绘制:
随机参数的鬼斧神工
尽管多数情况下,我会把相关参数设置为静态变量,但是,若果在某些场合适当地使用随机动态参数,可能会收到意想不到的奇妙效果。甚至有时候,在看到最后的作品前,我都不能确定它会是什么样子。除了这种不可预知的奇妙,更为珍贵的是因为随机它更是不可复制的,是唯一的。
代码就是艺术家
计算机图形学是基于一定的数学逻辑的,在用代码进行创作的过程中,我能领略到一般情况下不能体会到,藏于数理中的结构之美、抽象之美以及复合之美。例如,以下的这个海啸海浪作品,这六幅作品都是通过同一函数来绘制的,这里使用了一个Nodebox绘图类-Cornu Curve(角度与曲线)。透过不同颜色、透明度、图层等参数的搭配,如此可爱的作品就出来了。
无限可能 图形复合
请先看以下这个作品—心眼
怎么样?还不错吧。如果你让我用画笔一笔笔地画出来,真的不知要画到猴年马月。这就是运用代码创作的另外一个重要用途—图形复合。只需执行一个多重循环或递归,把上百万不同颜色、透明度、纹理的线条交由计算机进行绘制,如此复杂的作品便能在弹指间迅速完成。记住,请把复杂的事情交给计算机。
其核心代码分别是,一个定义了笔刷和一个描述了绘制过程:
实用的创意设计
除了上述看似天马行空的作品,在实际生活中如衣物、雕塑、家居用品等的设计,代码创作也能大显身手。例如以下这个我们IDEO公司的Logo:
具体的代码,请看这里:
写在最后
计算机为我们的生活带来了不计其数的变化,现在,我们不妨也把它与艺术结合起来,去从机器的角度来为生活增添活力与色彩,开拓一个无限可能的艺术创作新境界。
注:本文所有示例的完整代码请点击这里进行下载,可以在安装了Nodebox的环境下运行
原文出自:labs.ideo.com