随着计算机的普及和互联网数字化的发展,不同职业的人在各自的领域中开始通过编程来解决问题,探索各种可能性,甚至是发展出新的理论体系。编程也变得像是现实世界与数字世界沟通的通用语言,因此掌握编程语言成为信息时代的一种必要技能。
在艺术和设计领域,有很多艺术家、设计师、程序员和教育工作者,他们通过不断探索编程在艺术和设计中的应用,创造出了专门供艺术家、设计师及相关专业学生等使用的创意编程工具,如Processing、openFrameworks、Cinder、p5.js和TouchDesigner等。这些工具在生成艺术、视听艺术、数据可视化、交互艺术等各个领域得到了充分的应用和发展,其理论与技术也成为很多艺术院校的必修课程。
在这个数字媒介的时代,Processing这样的开源软件对于艺术家和设计师来说有着突破性的意义,它超越了既定的运算处理规则,让用户可以更自由地使用计算机语言,利用计算机的性能去表现自己对数字媒介的理解和创意。
Processing是一门具有革命性和前瞻性的新兴计算机语言,它使应用编程实现交互图形变得更加容易。该语言是以数字艺术为背景的程序设计语言,是Java语言的延伸,支持许多现有的Java语言架构,但语法更加简单。它具有跨平台的特点(支持Windows、iOS和Android),对OpenNI、OpenCV和Kinect有良好的支持,除了可以很方便地创作震撼的视觉效果和互动媒体作品外,还可以实现诸如图形处理和人工智能等高级应用。
本书适合零基础的人学习,内容包含图形生成篇和交互设计篇两部分。第一部分是图形生成篇,从基本的语法开始讲解,再到绘图的数学基础知识,循序渐进。每一章的扩展练习,通过实例综合运用前述的知识,绘制各种动画或展现独特的艺术视觉效果。学习该部分知识,能够帮助读者创造出各种令人惊艳的图案,或者定制自己的软件界面。第二部分是交互设计篇,该篇内容包括鼠标、键盘的互动及串口通信,通过实例展示Processing和Arduino的互动,包括传感器读取等的控制程序,让读者掌握两者的交互方式,还展示了如何用Kinect和Leap Motion进行互动编程,读者可以在此基础上自行扩展,创建更多的体感互动效果。
为便于读者学习和训练,以及教师教学,本书附赠全部程序代码源文件、教学课件,扫描右侧二维码即可获取。由于本书为双色印刷,所以部分图片效果无法完全呈现,读者可扫描书中二维码,查看效果。
本书作者在生成艺术、数据可视化和声音可视化领域探索多年,在学习Processing的过程中,通过大量的动手实践,汇集了一些经验和编程实例,创作了很多有趣的作品,希望通过本书呈现给读者朋友。
作 者
2021.10