审美注意事项
一些人可能会认为在 “A Sunday Afternoon on the Island of La Grand Jatte” 之类的伟大作品上运行图像过滤器应用程序是一种亵渎。我当然很赞同此观点。但我只是以这幅画为例子。我的主要目标是展示如何使用一种简单的细胞自动机器,以有趣而复杂的方式来制作图像动画,以一副熟悉的名画作为例子会比较好。
我曾在许多类型的画上运行过 Seurat,在抽象艺术和具象艺术方面都得到了有趣的结果。但是,似乎在现代艺术 — 特别是流行艺术方面效果更好。例如,当您在 Jasper Johns 的 “Flag” 画上运行 Seurat 时,会出现有趣的图案。循环空间的对角线能根据 “Flag” 画中的直线很好地工作。在 Jackson Pollock 的水滴画中,运行 Seurat 时也会产生有趣的结果。例如,随着循环空间 CA 越过 Pollock 的 “Blue Poles”,它会隐藏、显示、再隐藏这幅复杂画作的细节,让您在不同时间集中注意不同的部位。这对照片同样适用。我喜欢在 Ralph Eugene Meatyard 超现实主义的照片上运行 Seurat.
在运行 Seurat 这样的应用程序时,您有 3 种选择:2D 细胞自动机类型、过滤器和原始图像。在这篇文章中,我只使用了循环空间,但是也可以使用其他类型的 2D 细胞自动机(如 Hodgepodge)。只要发挥您的想象力,就能编写出各种过滤器程序。我主要实践了操作颜色的过滤器,但更改图像空间关系的过滤器也很有趣。例如,您可以编写一个歪曲图像表面的过滤器程序,创建类似于披头士的 Rubber Soul 专辑的封面那种效果。最后,您可以使用任意图像,比如照片。对于给定的图像,各种过滤器和 CA 类型的组合可以生成更好或更差的结果。我希望本文能鼓起您体验的欲望。
描述
名字
大小
本文的 Java 文件
j-j2D.zip
19KB
参考资料
您可以参阅本文在 developerWorks 全球网站上的 英文原文。
The Magic Machine: A Handbook of Computer Sorcery(A. K. Dewdney,W. H. Freeman,1990 年):这本书收集了 Dewdney 在 Scientific American 的 “Computer Recreations” 专栏上发表的文章,其中有一章讲循环空间,有一章讲 Hodgepodge。当 20 世纪 80 年代首次出现这个专栏时,我在我的 Amiga 500 上用 AmigaBASICI 编写了所有这些算法。
Primordial Soup Kitchen:跟 David Griffeath 学习更多有关细胞自动机的内容。循环空间就是他发现的。
Java 2D Graphics(Jonathan Knudsen,O'Reilly Media,1999 年):这本书是介绍本文主题的优秀指南。
Seurat:尝试 Seurat Java applet。
Java 2D API:查看有关 Java 2D 的文档、示例和其他参考资料。
Art: The Way It Is, 3rd ed.(John Adkins Richardson、Prentice Hall 和 Harry N. Abrams,1973 年):如果需要了解 Seurat 和其他艺术家的更多信息,可以阅读这本书。
“Java 2D 简介”(Mitch Goldstein,developerWorks,2002 年 7 月):这本教程提供一个逐步指南,介绍高级绘图、文本布局和图像操作的优点。它们是 Java 2D 给 GUI 编程带来的优点。
“在二维动画中使用基于图像的路径”(Barry Feigenbaum 和 Tom Brunet,developerWorks,2004 年 1 月):结合使用无损失图像、Swing 技术和基于 Java 的动画引擎来为 2D 动画中的固定对象生成移动序列。
“Creating Java2D composites for rollover effects”(Joe Winchester 和 Renee Schwartz,developerWorks,2002 年 9 月):了解使用 Java 2D API 创建和操作图像的更多信息。