Processing语言权威指南(第2版)
  • 推荐0
  • 收藏0
  • 浏览496

Processing语言权威指南(第2版)

Casey Reas(凯西·瑞斯), Ben Fry(本·弗莱) (作者)  王学昭 , 刘端阳 , 弓箭峰 (译者) 石悦 (责任编辑)

  • 书  号:978-7-121-36175-3
  • 出版日期:2019-07-01
  • 页  数:628
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 原书名: Processing: A Programming Handbook for Visual Designers and Artists,second edition
  • 原书号:9780262028288
  • 维护人:林瑞和
本书作者就是开源编程语言Processing的创作者,因此本书是学习Processing的权威教程。
本书介绍了可视化艺术中的计算机编程概念,对Processing做了非常详尽的阐述。学生、艺术家、设计师、建筑师、研究者,以及任何想通过编程实现绘画、动画和互动的人都可以使用它。本书的大部分章节是短小的单元,介绍了Processing的语法和基本概念(变量、函数、面向对象编程),涵盖了与软件相关的图像处理、绘制,给出了大量简短的原型程序,并配以相应的过程图像与注释。本书还有一些访谈文章,与动画制作、表演、产品原型等领域的几位创作者们讨论了与他们作品相关的话题。Processing软件以及书中的所有代码均可以在网站上下载,并可以在这些代码的基础上做进一步的开发。
本书第1版出版于2013年,面世后受到了行业内广泛关注和好评。第2版在第1版的基础上,根据Processing语言的发展和应用环境的变化,进行了整合与提炼,让读者更有效率地学习Processing。
Processing语言的创始人Casey Reas 和 Ben Fry关于Processing语言的经典作品。
王学昭:英语和西班牙语翻译,主要从事翻译及翻译项目管理工作。
刘端阳:莫比嗨客公司创始人兼CEO,国际资深创客。12岁入选中国科学技术大学少年班,获清华大学硕士学位、美国斯坦福大学博士学位。
弓箭峰:开源爱好者,多年大数据和区块链从业经验,专注于数据众包策略研究、深度学习模型数据采集与标定方案咨询及优化。
前言
本书写作的目的是介绍与视觉艺术语境相关的计算机编程概念。它面向的是理解计算机的读者——他们对于通过编程创建互动的视觉作品很感兴趣,但是经验甚少。我们十分惊讶软件竟然拥有成为交流和表达媒介的潜力,同时希望此书能使更多的人看到软件的力量。
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 Maeda 在我们的编程课上进行了演讲。他演讲的内容把我们都惊呆了,当时在后排,我的一位朋友一边看一边喃喃自语:“哇,慢点,慢点……”在演讲中,我终于看到了设计与计算的交集,在此之前从未如此想象过。这是截然不同的观点,既不像普通的制作工具这么平淡无奇,又不像构造界面那样让人意犹未尽。一年后,我有幸在麻省理工学院与John Maeda一起工作。
在媒体实验室与John 共事的6 年期间,教育学是一个永恒的主题。我、Casey以及其他学生参与了Design By Numbers 项目,这个项目使我们在如何教设计师计算的问题上获益良多,同时我们也获得了大量真实需求的反馈。当时,我们有一个尚处于“草创”阶段的项目,Casey 和我发现了两者的相似之处,于是我们开始讨论如何衔接这两者,最终开发出Processing。
我们希望Processing 可以包含大量代码,供阅读、修改及测试——这其实就是我自己学习编程的过程。但是更重要的是这个社区是围绕着这个项目开展的,社区成员乐于分享代码,帮助他人解决问题。同样的,Processing 本身的代码也是开源的,对我而言,这是对上一代开发者的回报,因为他们分享自己的代码,并解答了我的问题。
就该项目而言,我的个人目标之一是帮助设计师们掌控自己的工具。自从桌面出版(desktop publishing)在20 世纪80 年代中期推动设计的发展以来,已经过去30 多年了,我们早就需要更多的创新。随着设计师可以使用的工具越来越多,编码和编写脚本已经开始填补设计师心中所思与他们购买的软件的能力之间的差距了。
尽管大多数Processing 用户只会将它应用在自己的工作中,但是我希望Processing将促进设计师创造出新颖的设计工具,而不再依赖软件公司与计算机科学家创造。
致谢
本书是我们对视觉设计与软件超过20 年的研究成果。John Maeda 是对Processing和本书的问世贡献最多的人。作为麻省理工学院媒体实验室美学与运算小组(ACG)的顾问,他的指点以及在Design By Numbers 项目中的创新是这里所展现的理念的基石。1999—2004 年,Processing 的发展也得到了ACG 的研究生们极大的帮助。我们感谢合作者Peter Cho、Elise Co、Megan Galbraith、Simon Greenwold、Omar Khan、Axel Kilian、Reed Kram、Golan Levin、Justin Manor、Nikita Pashenkov、Jared Schiffman、David Small 及Tom White。同时,我们要感谢ACG 以及视觉语言工作坊(Visual Language Workshop)的前辈所做出的贡献。
Processing 诞生于麻省理工学院,但它的成长离不开其他院校的支持,包括加利福尼亚大学洛杉矶分校(UCLA)、艾丽维尔交互设计学院、博德研究所(the Broad Institute)以及卡耐基·梅隆大学。Casey 在UCLA 及艾丽维尔交互设计学院的同事为本书许多想法的不断演化提供了环境。感谢UCLA 的教员Rebecca Allen、Mark Hansen、Erkki Huhtamo、Robert Israel、Willem Henri Lucas、Peter Lunenfeld、Rebeca Mendez、Vasa Mihich、Christian Moeller、Jennifer Steinkamp、Eddo Stern 及Victoria
Vesna。感谢艾丽维尔交互设计学院的教员及创始人Gillian Crampton-Smith、Andrew Davidson、Dag Svanaes、Walter Aprile、Michael Kieslinger、Stefano Mirti、Jan-Christoph Zoels、Massimo Banzi、Nathan Shedroff、Bill Moggridge、John Thackara 及Bill Verplank。
我们还要感谢博德研究所的教员Eric Lander,他资助了Ben Fry 的可视化研究,其中很大一部分也是基于Processing 的。
本书的想法和结构在近10 年的授课过程中得到不断改善,授课的学校包括UCLA、卡耐基·梅隆大学、艾丽维尔交互设计学院、麻省理工学院及哈佛大学。我们尤其感谢Casey 的DESMA 28 班、152A 班及152B 班上的学生所贡献的想法、努力和热情。Casey 在UCLA 的研究生Gottfried Haider、Rhazes Spell、Eric Parren、Lauren McCarthy、David Wicks、Pete Hawkes、Andres Colubri、Michael Kontopoulos、Christo Allegra、Tyler Adams、Aaron Siegel、Tatsuya Saito、Krister Olsson、Aaron Koblin、
John Houck、Zai Chang,以及Andrew Hieronomi 提供了珍贵的回馈。
Processing 最初以工作坊的形式介绍给学生。我们尤其感谢在2001 年及2002 年第一批尝试这款软件的学院,包括武藏野美术大学(日本东京)、国立高等工业设计学院(法国巴黎)、HyperWerk 后工业设计学院(瑞士巴塞尔)以及皇家音乐学院(荷兰海牙)。许多大学都将Processing 融入课程中,我们感谢这些先锋教育者及学生。
因为人数众多,无法在此一一列举。特别感谢纽约大学的交互式通信项目(Interactive Telecommunication Program,ITP),尤其感谢Dan O’Sullivan、 Josh Nimoy、Tom Igoe、Josh Nimoy、Amit Pitaru 及Dan Shiffman 在早期的采纳和推广。
Processing 软件是社区共同努力的成果。在过去的10 年中,通过不断的交流,软件日趋完善。而本书以及Processing 的目标也根据大家的宝贵建议和讨论有所调整。2.0 版本的发布与下列诸位的贡献密不可分:Andres Colubri、Dan Shiffman、Florian Jenett、Elie Zananiri、Patrick Hebron、Peter Kalauskas、David Wicks、Scott Murray、
Philippe Lhoste、Cedric Kiefer、Filip Visnjic,以及Jer Thorp。
本书无法列出所有协作者以及贡献者的名单,在此仅列出该软件的核心贡献者,他们是Andreas Schlegel、Jonathan Feinberg、Chris Lonnen、 Eric Jordan、Simon
Greenwold、Karsten Schmidt、Ariel Malka、Martin Gomez、Mikkel Crone Koser、Koen Mostert、Timothy Mohn、Dan Mosedale、Jacob Schwartz、Sami Arola 以及Dan Haskovec。
本书的文字内容经过了无数次的重写和重新设计。我们亏欠Shannon Hunt 太多了,他阅读并编辑了本书的初稿,同时审校了终稿。Karsten Schmidt 和Larry Cuba 阅读了早期章节,并提供了反馈。Tom Igoe 和David Cuartielles 提供了关于电子器件扩展的重要反馈。Rajorshi Ghosh 和Mary Huang 在本书第1 版的编辑中提供了极大的帮助。Anna Reutinger、Philip Scott 和Cindy Chi 直接帮助了第2 版的编辑。Chandler McWilliams 对本书第1 版的手稿内容进行了全面的技术评阅。Gottfried Haider 详细审阅并提升了第2 版手稿的内容质量。第2 版中添加的3D 绘画章节源自第1 版中Simon Greenwold 的3D 扩展章节部分。
与MIT 出版社员工们共事的日子十分快乐,感谢他们对本书的辛勤付出。Doug Sery 指导我们整个出版的每个环节,使本书的出版成为可能。感谢在第1 版出版过程中Katherine Almeida 以及编辑同事的细心修正;感谢Terry Lamoureux 和Jennifer Flint 在编辑中展现的智慧。匿名读者对初稿的评论具有极大的价值,他们帮助精简了本书的结构。我们感谢Doug Sery、Katherine Almeida、Susan Buckley 及Mary Reilly对第2 版持续的支持。
我们感谢许多做出贡献的艺术家和作者。他们花费了大量时间,本书因他们参与而更有价值。
最重要的是,Casey 要感谢Cait、Ava、Julian、Molly、Bob 以及Deanna。Ben要感谢Shannon、Augusta、Chief、Rose、Mimi、Jamie、Leif、Erika 以及Josh。

目录

详细目录
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
缓动 ................................................. 265
角度,波形 ..................................... 268
圆,螺旋 ......................................... 276
方向 ................................................. 278
21 随机 ........................................281
随机数 ............................................. 281
概率分布 ......................................... 284
随机种子 ......................................... 287
随机噪声 ......................................... 287
22 运动 ....................................... 291
控制运动 ......................................... 291
沿曲线的运动 ................................. 296
机械运动 ......................................... 299
有机运动 ......................................... 303
动态版式 ......................................... 306
23 时间 ........................................ 311
时,分与秒 ..................................... 311
毫秒 ................................................. 314
日期 ................................................. 315
24 函数 ....................................... 317
抽象 ................................................. 318
为何使用函数 ................................. 319
创建函数 ......................................... 322
函数重载 ......................................... 329
计算并返回结果 ............................. 330
参数化 ............................................. 331
递归 ................................................. 336
25 对象 ....................................... 341
面向对象编程 ................................. 341
类和对象 ......................................... 343
多个文件 ......................................... 353
多个构造函数 ................................. 355
组合对象 ......................................... 356
继承 ................................................. 357
26 综合三 ................................... 361
模块化、可重用性 ......................... 361
算法 ................................................. 361
示例 ................................................. 362
27 访谈:运动与演出 ..................375
Calculated Movements (采访Larry Cuba) ........................ 377
Waking Life (采访Bob Sabiston) ..................... 381
Messa di Voce(采访Golan Levin 和Zachary Lieberman) ................. 385
Mini Movies(采访SUE.C) ........ 389
28 数组 ........................................393
数组定义 ......................................... 395
读取数组元素 ................................. 396
存储数据 ......................................... 398
数组函数 ......................................... 400
对象数组 ......................................... 403
二维数组 ......................................... 405
29 动画 ........................................407
数组图像 ......................................... 408
动画格式和分辨率 ......................... 411
保存连续图像 ................................. 412
30 动态绘制 .................................415
简单的工具 ..................................... 416
利用图像绘画 ................................. 418
速度 ................................................. 419
方向 ................................................. 421
动态绘制 ......................................... 422
主动的工具 ..................................... 423
31 模拟 ........................................429
运动模拟 ......................................... 429
粒子系统 ......................................... 433
弹簧 ................................................. 438
细胞自动机 ..................................... 445
自主代理 ......................................... 453
32 数据 ....................................... 461
对数据进行格式化 ......................... 462
导出文件 ......................................... 463
数据结构 ......................................... 466
字符串 ............................................. 467
表 ..................................................... 469
XML ................................................ 471
JSON ................................................ 476
33 界面 ....................................... 481
翻转与按钮 ..................................... 482
拖动和放下 ..................................... 488
复选框 ............................................. 489
单选按钮 ......................................... 492
滚动条 ............................................. 495
34 图像处理 ................................ 501
读取像素 ......................................... 501
写入像素 ......................................... 505
复制像素 ......................................... 506
颜色分量 ......................................... 507
像素数组 ......................................... 511
像素分量 ......................................... 515
35 渲染技术 ................................ 519
渲染器 ............................................. 519
另一个绘图表面 ............................. 520
OpenGL 表面 .................................. 524
结合表面 ......................................... 525
36 综合四 ................................... 531
拼接引擎 ......................................... 531
纹理曲线 ......................................... 534
3D 字母 ........................................... 538
噪声景观 ......................................... 541
网络 ................................................. 545
37 访谈:环境 .............................549
Listening Post(采访Mark Hansen) ..................... 551
访谈:Hektor 和 Scriptographer(采访Jürg Lehni) ......................... 555
访谈:Madame Curie(采访Jennifer Steinkamp) ........... 559
访谈:Origin(采访Ash Nehru) ......................... 563
38 继续…… .................................567
扩展Processing ............................... 567
Processing 与Java ........................... 569
其他编程语言 ................................. 569
附录A 运算顺序 ......................... 571
附录B 保留字 ............................. 573
附录C ASCII 与Unicode ............ 574
附录D 比特、二进制与十六进制 .. 579
附录E 优化 ................................ 582
附录F 编程语言 ......................... 588
相关媒介 ....................................... 595
词汇表 ........................................... 601

读者评论