描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121361753
1 Processing…… ……………………… 1
软件 …………………………………………….. 1
软件素养 ……………………………………… 3
开放 …………………………………………….. 4
教育 …………………………………………….. 5
网络的力量 ………………………………….. 6
上下文 …………………………………………. 7
2 开始使用Processing ………………. 9
下载与安装 ………………………………….. 9
环境 …………………………………………….. 9
导出 …………………………………………… 10
示例演练 ……………………………………. 11
编程即写作 ………………………………… 16
注释 …………………………………………… 16
函数 …………………………………………… 17
表达式与语句 …………………………….. 17
大小写敏感 ………………………………… 18
空格 …………………………………………… 18
控制台 ……………………………………….. 19
参考 …………………………………………… 20
3 绘制 ……………………………………. 21
坐标 …………………………………………… 21
基本图形 ……………………………………. 23
曲线 …………………………………………… 27
绘图顺序 ……………………………………. 30
灰度值 ……………………………………….. 31
绘图属性 ……………………………………. 33
绘图模式 ……………………………………. 34
4 颜色 ……………………………………. 37
用数字定义颜色 …………………………. 38
合成 …………………………………………… 41
RGB 和HSB ………………………………. 43
十六进制 ……………………………………. 46
5 变量 ……………………………………. 49
数据类型 ……………………………………. 49
变量 …………………………………………… 50
变量名 ……………………………………….. 52
Processing 变量 …………………………… 53
算法 …………………………………………… 54
留意数据类型 …………………………….. 56
数据转换 ……………………………………. 57
运算的优先级 …………………………….. 59
快捷方式 ……………………………………. 59
6 流程 ……………………………………. 63
循环 …………………………………………… 63
控制流程 ……………………………………. 67
关系表达式 ………………………………… 69
条件语句 ……………………………………. 70
逻辑运算符 ………………………………… 75
变量的作用域 …………………………….. 77
格式化代码块 …………………………….. 79
7 交互性 ………………………………… 81
鼠标数据 ……………………………………. 82
鼠标按键 ……………………………………. 86
键盘数据 ……………………………………. 88
编码键 ……………………………………….. 90
事件 …………………………………………… 91
鼠标事件 ……………………………………. 91
键盘事件 ……………………………………. 94
事件流 ……………………………………….. 95
光标图标 ……………………………………. 96
8 重复 ……………………………………. 99
迭代 …………………………………………… 99
while 循环 ………………………………… 100
for 循环 …………………………………….. 102
循环和draw() ……………………………. 105
嵌套循环 ………………………………….. 107
9 综合一 ……………………………….. 111
画出软件的草图 ……………………….. 111
编程技术 ………………………………….. 112
示例 …………………………………………. 113
10 访谈:图像 ……………………….. 119
Une Esthétique Programmée
(采访Manfred Mohr) ………………. 121
RandomFont Beowolf
(采访Erik van Blokland) …………. 125
Fractal.Invaders, Substrate
(采访Jared Tarbell) …………………. 129
Perpetual Storytelling Apparatus
(采访Benjamin Maus) …………….. 133
11 文本 ………………………………….137
字符 …………………………………………. 138
单词与句子 ………………………………. 139
字符串是对象 …………………………… 140
12 版式 ………………………………… 143
绘制文本 ………………………………….. 144
加载媒体 ………………………………….. 145
矢量字体 ………………………………….. 146
像素字体 ………………………………….. 149
文字属性 ………………………………….. 150
键盘输入 ………………………………….. 152
排版与交互 ………………………………. 153
13 图像 ………………………………… 157
显示 …………………………………………. 158
图像颜色和透明度 ……………………. 160
滤镜 …………………………………………. 163
蒙版 …………………………………………. 166
14 变换 ………………………………… 169
平移 …………………………………………. 169
控制变换矩阵 …………………………… 170
旋转 …………………………………………. 171
缩放 …………………………………………. 172
组合式变换 ………………………………. 173
变换与交互 ………………………………. 176
新坐标 ……………………………………… 177
15 顶点 ………………………………… 179
顶点 …………………………………………. 179
点与线 ……………………………………… 181
几何形状 ………………………………….. 182
曲线 …………………………………………. 184
轮廓 …………………………………………. 187
16 3D 绘画 …………………………… 191
3D 结构 ……………………………………. 191
摄像机 ……………………………………… 196
材质与灯光 ………………………………. 197
纹理映射 ………………………………….. 202
17 图形 ………………………………….205
显示SVG 矢量图 ……………………… 205
显示OBJ 格式的图形 ……………….. 208
变换 …………………………………………. 209
创建 …………………………………………. 210
修改 …………………………………………. 213
18 综合二 ………………………………217
迭代 …………………………………………. 217
调试 …………………………………………. 218
示例 …………………………………………. 219
19 访谈:交互 ………………………..235
LORNA(采访Lynn Hershman Leeson) …. 237
路德维希·凡·贝多芬(Ludwig van Beethoven):第九交响曲(采访Robert Winter)……………….. 241
They Rule(采访Josh On) ………. 247
Eliss(采访Steph Thirion) ………. 251
20 计算 ………………………………….255
指数运算与开方 ……………………….. 255
正规化与映射 …………………………… 256
简单曲线 ………………………………….. 259
数值约束 ………………………………….. 262
传输距离 ………………………………….. 264
缓动 ………
在麻省理工学院的时候,我管理的全日制研究生工作室曾经吸引了一些极有天分的学生,在用计算机作为表达媒介时,他们往往需要面对一个基本的平衡问题:一方面,他们不希望程序代码成为设计和艺术表现的阻碍;另一方面,他们不得不编写一些复杂的代码探索新的视觉表达途径。这是无法回避的矛盾。结论其实很简单:二者兼顾。
能够将技术与艺术完美结合的复合型人才是学术体系中的一些异类。从传统意义上讲,大学培养专攻技术的学生或专攻艺术的学生,但从不将二者混在一起,以求兼具。在20 世纪90 年代,挑战这种所谓“传统规范”的复合型人才即便不来寻找我,我也会去寻找他们。把这些独特的人才聚集一堂便是我的初衷,这也让我结识了Casey Reas 和Ben Fry。
人们都说对一个教师最高的夸奖便是学生们“青出于蓝而胜于蓝”。这一点在我和他们一起工作后没多久便体会到了。后来Ben 和Casey 创造出了Processing,这时他们已经完全超越了我。凭借互联网的优势,他们显著提升了原来视觉实验的号召力,并吸引了数以千计的复合型人才参与。无论我周游到世界何处,总会有年轻的新媒体艺术家们在谈论Processing,并希望我向Casey 和Ben 传达他们的谢意。
目前,作为Kleiner Perkins Caufield & Byers 的设计合伙人,我能看到身处硅谷的许多兼具设计和工程的复合型人才对经济层面产生的影响。这些“计算机设计师”为诸如Flipboard、Pinterest、Square、AirBnB 和Nest 这些公司的产品带来了所需要的工匠技艺与感性触觉。即使不在其设计流程中直接使用Processing,这些人与他们的团队也都很感激“Processing 的伙计们”的工作。Casey 和Ben 吸纳了Daniel Shiffman这样的像素魔术师,曾经的“二人组”已经变身为“兄弟连”了。
所以在这里我要感谢你们——Ben 和Casey。我代表所有在计算机艺术与设计领域追随Processing 的人们,祝愿你们能不懈地在一个个不眠之夜里,继续完善这座将艺术思维与计算机编程连接起来的桥梁。我祝愿你们可以持续不断地影响世界各地的画廊、艺术机构和初创企业。我们都盼望你们成为引领者,使运用计算机进行艺术设计变得简单,使我们不再被背后复杂的技术内容所困扰,盼望你们引领我们迈向这个目标。
John Maeda
设计合伙人
Kleiner Perkins Caufield & Byers
前言
本书写作的目的是介绍与视觉艺术语境相关的计算机编程概念。它面向的是理解计算机的读者——他们对于通过编程创建互动的视觉作品很感兴趣,但是经验甚少。我们十分惊讶软件竟然拥有成为交流和表达媒介的潜力,同时希望此书能使更多的人看到软件的力量。
Processing 是10 余年来相关软件开发和教学经验的成果。书中阐述的想法已经在课堂、计算机实验室、艺术与设计学校、艺术机构等地方得到验证。作者在加利福尼亚大学洛杉矶分校(UCLA)、艾丽维尔交互设计学院(the Interaction Design Institute Ivrea)、哈佛大学及卡耐基·梅隆大学教授过相关课程,并且在全球各地就此话题举办过无数次研讨课及讲座。本书的内容在学生和教育界同仁慷慨反馈的帮助下,不断改进。精简后的课程在此以书本的形式得到展现,期望将这份结果贡献给更大、更多样化的社区。
本书内容
本书讲解了四个方面的内容。大部分章节是一个个小单元,讨论软件中的特定元素以及它们与艺术设计的关系。这些单元介绍软件的语法及概念,诸如变量、函数以及面向对象编程。这些章节主要配以简短、原型化的实例,附上运行时的图像及解释。对于动画、性能及安装设计等高级专业设计项目,本书是以创作者访谈的形式展现的。“附录”提供了参考文献列表以及更多涉及技术领域话题的解释。“相关媒介”部分则提供了相关话题的补充材料。书中使用的术语在“词汇表”中定义。
本书提供了很多Processing 语言的示例程序,该语言是由作者开发的。Processing是一个免费、开源的编程语言及编程环境,供学生、艺术家、设计师、建筑师、研究者、爱好者们学习和制作原型,并进行产品开发。艺术家和设计师们不断完善Processing,使其可以替代同类的付费软件工具。这个项目将编程语言、开发环境以及教学方法论整合成为用于学习和研究的体系。该软件学习起来并不难,用户很容易从初学者进阶为高级程序员。Processing 语言也为用户未来的学习奠定了良好基础,因为其技术部分以及书中介绍的高级编程概念同样适用于其他编程语言,尤其是那些在艺术领域被频繁使用的编程语言。
书中的大部分示例都采用最简洁的视觉风格,但这并不表示Processing 只能制作出此类风格的作品,而是因为作者希望代码可以尽量精简。我们希望简单的代码示例可以激发读者在此基础上扩展自己独特的视觉语言。
如何阅读本书
如果想通过本书学习编程知识,仅靠阅读文字是远远不够的,必须运行、修改书中的代码,并与之交互。正如不进厨房学不会做菜,不亲自写代码是不可能学会编程的。许多示例只有在使用鼠标与键盘看到实际的运行结果后才能被充分理解。
Processing 软件以及书中所有的代码都可以下载并且供研究使用。Processing 软件可以从www.processing.org/download 上下载,而示例则可以从www.processing.org/handbook上获取。
代码、图表及图像可以辅助理解文本。由于本书面向的是关注视觉效果的人,因此我们假定你会像阅读文字一样仔细阅览图表和图像。字体以及视觉的转换是辅助阅读的。文本中的代码元素以等宽字体表示,以示差别。每段代码都以数字编号,方便检索。这些编号都在页面右侧每个示例的第一行。编号“15-02”指向“15 顶点”的第2 个示例。许多示例在修改变量的值后运行结果截然不同。如果在图片的左侧有数字,则表示该图片是使用这些数字生成的。
关于我们——Casey
从孩童时代起我便接触计算机。我在家中的Apple IIe 上玩游戏,并用BASIC和LOGO 语言编写小程序。尽管花了很多年不断探索和测试,但我更喜欢画画,因此对计算机的兴趣逐渐褪去。20 世纪90 年代早期,我在辛辛那提大学(University of Cincinnati)学设计,在一年级时开始使用Adobe 公司的Photoshop 和Illustrator,但是直到三年级我才被允许在设计课上使用它们。开始的两年时间全部用于训练自己通过眼和手构造视觉结构和意义表达。我花了大量精力学习用铅笔绘制图标和字母,并用Plaka 这种亚光的黑颜料上色。这其实是很繁重的体力劳动。为了得到一张满意的图画,通常会耗费上百页的草图。后来我开始将精力放在印刷品上,如书本、杂志及信息图表。在这些作品中我使用了软件作为概念构思与最终的书面结果之间的过渡工具。
后来,我从制作印刷媒体转到了制作软件上。当多媒体CD-ROM 出现时,我使用这种媒介将我的兴趣与声音、视频、图像、信息设计相结合。随着20 世纪90 年代中期互联网的崛起,我开始专注于构建大型的、基于数据库集成的网站。我的工作对象从纸张迁移到屏幕,从静态的网格和信息层级进化为动态的、分辨率和结构皆可变的模块化系统。而我关注的重点亦从材料和静态构成的细节转变为运动与响应的细节,我专注于构建实时流程以生成表单、定义行为以及调解交互。为了在更高的层面追求这种兴趣,我意识到必须学会编程。在孩童时期用计算机娱乐,以及多年使用它们进行专业工作之后,我走向了一条新的道路。
1997 年,我遇到John Maeda,他向我介绍了麻省理工学院美学与运算小组的实验性软件作品。他的学生们通过组合传统艺术理念与计算机科学,创建了一种新的作品形式。当体验到这个作品时,我知道自己有新方向了。于是在1998 年我开始认真地学习计算机编程,第二年成了麻省理工学院的研究生。当我从软件的消费者转变成软件的生产者时,我的人生发生了变化。我拓展了自己的技术视野,将它与文化和艺术史联系起来。
当时作为麻省理工学院媒体实验室的研究生,我接触到一种结合多种研究领域技能的个人文化。人们的共同特点是计算机技能,同时各自拥有其他学科背景,包括建筑、艺术、数学、设计以及音乐。在那时,很少有软件能同时具备高级的编程语言与创建精美图像的能力,所以我的麻省理工学院的前辈和同仁们创建了自己的软件以满足其独特的需求。在这个过程中,一种独特的文化出现了,它将视觉文化的知识和计算机科学的知识融合在一起。因为想把这种信息带给技术领域以及学院之外的人,所以过去10 余年我一直致力于Processing 开发。我希望这本书能够作为催化剂,借此进一步提升艺术圈的软件素养。
关于我们——Ben
我总是喜欢拆卸物件弄清楚它们的工作原理。一开始我喜欢拆解家里的电器,比较它们内部的组件,找出相同的组件。后来拆装完电话机和收音机,我开始把方向转移到软件上。计算机为我提供了无穷的未知空间,就好像那里面有无数等待拆卸的电话机。借由一本被描述为“IBM BASIC by Microsoft”的焦黄色活页本,父亲教会了我for 循环,我也逐渐开始自学编程——大多数时候通过阅读他人的代码,不时加以修改以实现其他功能。经过一段时间的学习以后,对从头开始编写软件我也驾轻就熟了。
我对图形设计格外感兴趣,对字体、排版与样式设计也很好奇。我的一位亲戚开了一家设计公司,我觉得那里的工作简直是世界上最有趣的工作。后来我申请到了设计学校的录取通知书,想要学习用户界面设计,或者创建“互动的多媒体CD-ROM”,这可以说是同时满足我这两个兴趣的唯一途径。就读于设计学校对我意义重大,因为它教会了我思考和创造的方法,而这些方法在别处也适用,比如在我热爱的软件领域。
1997 年,也就是我本科阶段的最后一年,John
——苗注雨(liquid) 上海睿动多媒体科技有限公司创始人
Processing因为它便携的设计,已经成为艺术家、设计师和程序员的“瑞士军刀”,同时也成为很多院校、教育机构内新手学编程的*。随着越来越多优秀Processing作品的惊艳展示,很多人对它产生了浓厚的兴趣,但无奈国内图书市场中Processing书籍少之又少,很庆幸看到这本优秀书籍的问世。真心希望更多的人通过这本书进一步走入Processing,在它的神秘世界里,收获惊喜。
——乔宇(大Q) 新媒体技术研究人员
这是一本迟来的好书。在这里,你将会发现艺术没有文理之分。追逐内心所热爱的,当你开始能游走于代码与艺术之间的时候,会惊喜地看到一个美丽新世界。
——胡若峰 CRE Imagination CEO
作为HUDO.IT社区中*火的话题,Processing在中国延续着它的强劲上升势头,已成为各大高校新媒体艺术、交互设计等专业的*课程。Processing对程序语言的简化,以及大量成熟的范例,可以让设计师、艺术家迅速上手释放灵感,也为技术人员打开了进入艺术世界的大门。
—— Contra HUDO.IT社区管理员
我们这一代设计师、艺术家、艺术院校学生和教师们都受益于Processing。这本书不仅解释了如何利用Processing进行创作,而且大胆地揭示了这个工具广阔的前景。
——Joachim Sauter 柏林艺术大学 ART COM创立者
本书为艺术家和设计师们简洁明了地介绍了编程,概念严谨,而且讲述了很多实用的编程经验,给出的实例具有视觉震撼力。如果从事视觉设计的人想学会在设计中使用软件,或者程序员希望使用视觉或空间语言表达自己的想法,本书都是极好的入门书。
——William J. Mitchell 麻省理工学院 媒体艺术与科学小组
期待此书已久,它不仅是一本软件使用手册,还是一个探索思考、制作与实现之路的工具。自从包豪斯以后,视觉艺术家们还没有像这样以颠覆性的方式使用过技术。Ben Fry和Casey Reas帮助视觉作品制作者找到一种新的表达方式。他们证明了设计师、建筑家、音乐家和动画师也可以通过编程来实现创意,编程并不是工程师的独门武器。Processing是付费软件的替代品,它还是艺术领域的一种新现象。
——Ellen Lupton 著有《D.I.Y: Design It Yourself 》
马里兰艺术学院 平面设计系主任 MFA课程
评论
还没有评论。