新書推薦:
《
英国简史(刘金源教授作品)
》
售價:HK$
101.2
《
便宜货:廉价商品与美国消费社会的形成
》
售價:HK$
77.3
《
读书是一辈子的事(2024年新版)
》
售價:HK$
79.4
《
乐道文库·什么是秦汉史
》
售價:HK$
82.8
《
汉娜·阿伦特与以赛亚·伯林 : 自由、政治与人性
》
售價:HK$
109.8
《
女性与疯狂(女性主义里程碑式著作,全球售出300万册)
》
售價:HK$
112.7
《
药食同源中药鉴别图典
》
售價:HK$
68.8
《
设计中的比例密码:建筑与室内设计
》
售價:HK$
89.7
|
編輯推薦: |
Processing语言是麻省理工大学的Casey Reas和Ben
Fry两人原创,如今已经风靡世界。随着学习的人越来越多,简单的代码教程已经无法满足大家的需要。本书是Casey Reas和Ben
Fry关于Processing的集大成之作,加入了更多实践案例,让读者学习得更加深入。
|
內容簡介: |
本书介绍了可视化艺术中的计算机编程概念,对开源编程语言Processing
做了非常详尽的阐述。学生、艺术家、设计师、建筑师、研究者,以及任何想编程实现绘画、动画和互动的人都可以使用它。书中的大部分章节是短小的单元,介绍Processing
的语法和基本概念(变量、函数、面向对象编程),涵盖与软件相关的图像处理、绘制,并且给出了大量简短的原型程序,配以相应的过程图像与注释。书中还有一些访谈文章,与动画制作、表演、产品原型等领域的几位创作者们讨论了与他们作品相关的话题。本书的“扩展”部分对更多研究领域做了简短的介绍,包括计算机视觉、声音、电子制作等。Processing
软件以及书中的所有代码均可以在网站下载,并且在这些代码的基础上做进一步的开发。
|
目錄:
|
序xix
前言xxi
Processing
使用Processing
结构一:代码要素
形状一:坐标与基本图形
数据一:变量
数学一:算术与函数
控制一:判断
控制二:重复
形状二:顶点
数学二:曲线
色彩一:用数字定义颜色
图像一:显示与染色
数据二:文本
数据三:转换与对象
字体设计一:显示
数学三:三角学
数学四:随机
变换一:平移与矩阵
变换二:旋转与缩放
开发一:草图与技术
综合一:形式与代码
访谈一:印刷
结构二:连续运行
结构三:函数
形状三:参数与递归
输入一:鼠标一
绘图一:静态形式
输入二:键盘
输入三:事件
输入四:鼠标二
输入五:时间与日期
开发二:迭代与调试
综合二:输入与响应
访谈二:软件与网页
运动一:直线与曲线
运动二:机械与有机体
数据四:数组
图像二:动画
图像三:像素
字体设计二:运动
字体设计三:响应
色彩二:分量
图像四:滤波、融合、复制与蒙板
图像五:图像处理
输出一:图像
综合三:运动与数组
访谈三:动画与录像
结构四:对象一
绘图二:动态形式
输出二:文件导出
输入六:文件导入
输入七:界面
结构五:对象二
模拟一:生物
模拟二:物理
综合四:结构与接口
访谈四:演出与装置
扩展一:继续……
扩展二:三维
扩展三:视觉
扩展四:网络
扩展五:声音
扩展六:印刷品
扩展七:移动平台
扩展八:电子器件
附录A:运算顺序
附录B:保留字
附录C:ASCII 与Unicode
附录D:比特、二进制与十六进制
附录E:优化
附录F:编程语言
附录G:代码对比
相关媒介
术语表
代码索引
索引
分类目录
序xix
前言xxi
Processing
使用Processing
色彩一:用数字定义颜色
色彩二:分量
控制一:判断
控制二:重复
数据一:变量
数据二:文本
数据三:转换与对象
数据四:数组
开发一:草图与技术
开发二:迭代与调试
绘图一:静态形式
绘图二:动态形式
图像一:显示与染色
图像二:动画
图像三:像素
图像四:滤波、融合、复制与蒙板
图像五:图像处理
输入一:鼠标一
输入二:键盘
输入三:事件
输入四:鼠标二
输入五:时间与日期
输入六:文件导入
输入七:界面
数学一:算术与函数
数学二:曲线
数学三:三角学
数学四:随机
运动一:直线与曲线
运动二:机械与有机体
输出一:图像
输出二:文件导出
形状一:坐标与基本图形
形状二:顶点
形状三:参数与递归
模拟一:生物
模拟二:物理
结构一:代码要素
结构二:连续运行
结构三:函数
结构四:对象一
结构五:对象二
综合一:形式与代码
综合二:输入与响应
综合三:运动与数组
综合四:结构与接口
变换一:平移与矩阵
变换二:旋转与缩放
字体设计一:显示
字体设计二:运动
字体设计三:响应
访谈一:印刷
访谈二:软件与网页
访谈三:动画与录像
访谈四:演出与装置
扩展一:继续……
扩展二:三维
扩展三:视觉
扩展四:网络
扩展五:声音
扩展六:印刷品
扩展七:移动平台
扩展八:电子器件
附录A:运算顺序
附录B:保留字
附录C:ASCII 与Unicode
附录D:比特、二进制与十六进制
附录E:优化
附录F:编程语言
附录G:代码对比
相关媒介
术语表
代码索引
索引
详细目录
序xix
前言xxi
本书内容xxi
如何阅读本书xxii
关于我们——Casey xxiii
关于我们——Benxxiv
致谢xxv
Processing
软件
软件素养
开放
教育
网络
上下文
使用Processing
下载与安装
环境
导出
范例浏览
Reference
结构一:代码要素
注释
, * *函数
表达式与语句
“;”, “,”大小写敏感
空格
控制台
print, println形状一:坐标与基本图形
坐标
size基础图形
point, line, trianglequad, rect,
ellipsebezier绘图顺序
灰度值
background, fillstroke, noFillnoStroke绘图属性
smooth, noSmoothstrokeWeight,
strokeCapstrokeJoin绘图模式
ellipseMode, rectMode数据一:变量
数据类型
int, float, Boolean true, false变量
=Processing 变量
width, height数学一:算术与函数
算术
+, -, *, , %操作符优先级与组
简便方法
++, --, +=, -=, *=, =, -限制数值范围
ceil, floor, roundmin, max控制一:判断
关系表达式
, , =, =, ==, !=条件语句
if, else, {}逻辑运算符
||, , !控制二:重复
重复
嵌套循环
格式化代码块
形状二:顶点
顶点
beginShape, endShapevertex点与线
形状
曲线
curveVertexbezierVertex数学二:曲线
指数运算与开方
sq, sqrt, pow正规化与映射
norm, lerp, map简单曲线
色彩一:用数字定义颜色
设置颜色
颜色数据
color, colorRGB 与HSB
colorMode十六进制
图像一:显示与染色
显示
PImage, loadImageimage图像颜色与透明度
tint, noTint数据二:文本
字符
char单词、句子
String数据三:转换与对象
数据转换
boolean, byte, char,int, float, str对象
“”, PImagewidth PImageheight Stringlength StringstartsWith
StringendsWith
StringcharAtStringtoCharArrayStringsubStringStringtoLowerCaseStringtoUpperCaseStringequals字体设计一:显示
加载字体与绘制文本
PFont, loadFonttextFont, text文字属性
textSize, textLeadingtextAlign, textWidth数学三:三角学
角度与波形
PI, QUARTER_PI, HALF_PI,TWO_PI, sin, cosradians,
degrees圆、弧与螺旋
arc数学四:随机
随机数
random, randomSeed随机噪声
noise, noiseSeed变换一:平移与矩阵
平移
translate控制变换矩阵
pushMatrix, popMatrix变换二:旋转与缩放
旋转与缩放
rotate, scale组合式变换
新坐标
开发一:草图与技术
画出软件的草图
编程技术
综合一:形式与代码
拼贴引擎
瑞利波
威尔森网络
曼德勃罗集合
访谈一:印刷
FractalInvader,Substrate(采访Jared Tarbell)
Shape of Song(Martin Wattenberg访谈)
The Objectivity Engine(采访James Paterson)
RandomFont Beowolf(采访Erik van Blokland)
结构二:连续运行
连续的计算
draw, frameRateframeCount控制程序流
setup, noLoop变量的作用域
结构三:函数
抽象
创建函数
void函数重载
计算并返回结果
return形状三:参数与递归
参数化造型
递归
输入一:鼠标一
鼠标数据
mouseX, mouseY pmouseX, pmouseY鼠标按键
mousePressed mouseButton鼠标图标
cursor, noCursor绘图一:静态形式
简单的工具
利用图像绘画
输入二:键盘
键盘数据
keyPressed, key编码键
keyCode输入三:事件
鼠标事件
mousePressedmouseReleasedmouseMovedmouseDragged键盘事件
keyPressedkeyReleased控制程序流
loop, redraw输入四:鼠标二
限制
constrain距离
dist缓动
abs速度
方向
atan2输入五:时间与日期
时、分与秒
second, minutehour, millis日期
day, month, year开发二:迭代与调试
迭代
调试
综合二:输入和响应
Pong
光标
文字输入
条纹钟
访谈二:软件与网页
Sodaconstructor(采访Ed Burton)
They Rule(采访Josh On)
Hektor 与Scriptographer(采访Jürg Lehni)
The Endless Forest(采访Auriea Harvey 与Micha?l Samyn)
运动一:直线与曲线
控制运动
沿着曲线运动
通过转换制造运动效果
运动二:机械与有机体
机械运动
有机运动
数据四:数组
使用数组
Array, []new, Arraylength存储鼠标数据
数组函数
append, shortenexpand, arraycopy二维数组
图像二:动画
序列图像
运动的图像
图像三:像素
读取像素
get写入像素
set字体设计二:运动
动态的单词
动态的字母
字体设计三:响应
会响应的单词
会响应的字母
色彩二:分量
提取颜色
red, blue, greenalpha, hue,saturation,
brightness动态色彩调色板
图像四:滤波、融合、复制与蒙板
滤波与融合
filter, blendblendColor复制像素
copy蒙板
mask图像五:图像处理
像素
pixels[], loadPixelsupdatePixelscreateImage像素分量
卷积
图像作为数据
输出一:图像
保存图像
save保存图像序列
saveFrame练习
综合三:运动与数组
蜈蚣
漫长的绘画
AmoebaAbstract_03
机器人先生
访谈三:动画、录像
REM “Animal”(采访Mathew Cullen 和Grady Hall)
Waking life(采访Bob Sabiston)
Eye Catching(采访Jennifer Steinkamp)
The Mini-Epoch series(采访Semiconductor)
结构四:对象一
面向对象编程
使用类和对象
class, Object对象的数组
多个文件
绘图二:动态形式
主动的工具
主动的绘图
输出二:文件导出
对数据进行格式化
nf导出文件
saveStringsPrintWriter
createWriterPrintWriterflushPrintWritercloseexit输入六:文件导入
读取数字
loadStrings, splitsplitTokens读取字符
WHITESPACE输入七:界面
翻转、按钮与拖动
复选框与单选按钮
滚动条
结构五:对象二
多个构造函数
组合对象
继承
extends, super模拟一:生物
细胞自动机
自主代理
模拟二:物理
运动模拟
粒子系统
弹簧
综合四:结构与接口
无题
池塘
摇摆树
SodaProcessing
访谈四:演出与装置
Mini Movies(采访SUEC)
DJ I, Robot Sound System(采访Chris Csikszentmihályi)
Messa di Voce(采访Golan Levin和Zachary Lieberman)
Listening Post(采访Mark Hansen)
扩展一:继续……
扩展Processing
Processing 与Java
其他编程语言
扩展二:三维
简单回顾三维软件的历史
三维形态
摄像机
材质与灯光
三维工具
小结
代码
资源
扩展三:视觉
互动艺术中的计算机视觉
基础的计算机视觉技术
真实世界中的计算机视觉
计算机视觉的工具
小结
代码
资源
扩展四:网络
互联网和艺术
网络协议及其概念
网络工具
小结
代码
资源
扩展五:声音
在艺术中的音乐和声音编程
声音与音乐信息
声音和音乐的数码表现
作为信息的音乐
声音编程工具
小结
代码
资源
扩展六:印刷品
印刷与计算机
高分辨率文件输出
生产
小结
代码
资源
扩展七:移动平台
手机软件应用
手机平台
手机编程
手机编程平台
小结
代码
资源
扩展八:电子器件
艺术中的电子器件
电
电子器件
电路
微控制器和输入输出面板
传感器和通信
控制物理媒介
小结
代码
资源
附录A:运算顺序
附录B:保留字
附录C:ASCII 与Unicode
附录D:比特、二进制与十六进制
附录E:优化
附录F:编程语言
附录G:代码对比
相关媒介
术语表
代码索引
索引
|
內容試閱:
|
本书写作的目的是介绍视觉艺术相关的计算机编程的概念。它面向的是理解计算机的读者——他们对于通过编程创建互动的视觉作品很感兴趣,但是经验甚少。我们十分惊讶于软件竟然也可以成为交流和表达的媒介,同时希望此书能使更多的人看到软件的力量。这本Processing
书籍来自于作者六年来的软件开发和授课经历。书中阐述的概念已经在课堂、计算机实验室、大学地下室、艺术与设计学校、艺术机构等地方得到验证。作者在加利福尼亚大学洛杉矶分校(UCLA)、艾丽维尔交互设计学院(the
Interaction Design Institute
Ivrea)、哈佛大学及卡耐基?梅隆大学教授过相关课程,并且在全球各地就此课题举办过无数的研讨课及讲座。本书的内容在学生和教育界同仁反馈的帮助下,不断改进。精简后的课程在此书中得到展现,期望将这份结果贡献给更大、更多的社区。本书内容本书中讲解了四个方面的内容。大部分章节是一个个小单元,讨论编程中的某几个元素以及它们与艺术设计的关系。这些单元介绍编程的语法及概念,包括变量、函数以及面向对象编程,并讨论了摄像、绘图与软件编程之间的联系。这些章节的例子都很简短,只用于阐述用法,同时附上运行时图像及解释。对于动画、演出及字体设计等高级专业设计项目,在本书中是以创作者访谈的形式展现的(见第155页、第261
页、第377 页、第501 页)。“扩展”部分(见第519
页)则简要介绍了更多可深入探索的领域,如计算机视觉、声音及电子器件。“附录”(见第661
页)提供参考表格以及更多详细的技术领域介绍。“相关媒介”部分(见第693
页)则提供了相关话题的补充材料。书中使用到的术语在术语表中定义(见第699 页)。
本书提供了很多Processing 范例程序,因为这门语言就是由作者开发的。Processing
是一个免费、开源的编程语言及环境,被学生、艺术家、设计师、建筑师、研究者、爱好者们用于学习、制作原型及产品开发。艺术家和设计师们不断完善Processing,使其可以替代同类的付费软件工具。这个项目将编程语言、开发环境以及教学方法论,整合成为统一的结构,可用于学习和研究。
该软件学习起来并不难,用户很容易从初学者晋升为高级程序员,同时Processing
语言也是未来学习的良好基础,因为它的技术部分以及书中介绍的高级编程概念可用于其他编程语言,尤其是那些在艺术领域被频繁使用的语言。
书中大部分范例有着简单的视觉风格。这并不表示Processing
只能制作出此类风格的作品,而是因为作者希望代码可以尽量精简。我们希望简单的代码可以给读者更多的空间,在此基础上扩展他们自己的视觉风格。
如何阅读本书
你可以从头至尾通读本书,也可以根据自身情况选择任意章节阅读。在文前你可以看到两个目录(xiii 页及xviii
页),它们将本书内容按不同要素排序列了出来。按照每个分类的顺序(例如,输入、形状、结构)从头开始通读本书,事实上更有逻辑。读者也可以根据自己已有的知识和兴趣点来选择阅读顺序。例如,可以阅读所有关于图像的章节,而略过关于数学的内容,反之亦可。你会发现后续章节的知识需要用到先前讨论过的概念。如果你对此感到陌生,不妨回到前面的章节进行阅读。
要想理解本书光靠阅读是不够的。必须运行、修改书中的代码,并与之交互。正如不进厨房学不会做菜,不亲手写点代码是不可能学会编程的。许多例子只有你在使用鼠标与键盘看到实际的运行结果后才能充分理解。Processing
软件以及书中所有的代码都可以下载。Processing 可以从www.processing.orgdownload
下载,而范例可以从www.processing.orglearning 下载。
代码、图表及图像可以辅助理解文本。由于本书面向的是关注视觉效果的人,因此我们认为你也会仔细阅读图表和图像,就如同阅读文字一样。字体以及视觉的转换是辅助阅读的。文本中的代码元素以等宽字体表示,以示差别。每段代码范例都以数字编号,方便检索。这些编号都在页面右侧,每个例子的第一行。编号“15-02”指向第15
章的第2 个例子(见第128 页)。许多范例在修改变量的值后运行结果截然不同。如果在图片的左侧(见第200
页)有数字,则表示图片是用这些数字生成的。如果代码中鼠标的位置十分重要,则会用粗线条暗示图片生成时的鼠标位置(见代码23-02)。在一些例子中,只有鼠标的纵坐标是重要的,因此只用一根垂直的线来表示位置(代码23-03)。
关于我们——Casey
从孩童时代起我便接触计算机。我在家中的Apple IIe 上玩游戏,并用BASIC和Logo
编写小程序。我花了很多年研究它,但我更喜欢画画,因此对计算机的兴趣就消散了。20 世纪90
年代早期我在辛辛那提大学(University of Cincinnati)学设计,一年级时我开始使用Adobe 的Photoshop
和Illustrator,但是直到三年级我才被允许在设计课上使用它们。头两年的时间全部用于训练自己通过眼和手来构造视觉结构。我花了大量精力学习用铅笔绘制图标和字母,并用Plaka
这种亚光的黑颜料进行上色。这其实是很繁重的体力劳动。为了得到一张满意的图画,我通常要用掉上百页的草稿纸。后来我开始将精力放在印制品上,如书本、杂志及信息图表。在这些作品中我使用软件作为构思与最终结果的过渡工具。
后来,我从制作印制品转到了软件上。当多媒体CD-ROM 出现时,我使用这种媒介将声音、视频、图像与信息设计相结合。随着20
世纪90
年代中期互联网的崛起,我开始专注于构建大型的、基于数据库的网站。我的工作对象从纸张迁移到屏幕,从静态的网格和信息层级进化为动态的、分辨率和结构皆可变的模块化系统。而我关注的重点亦从材料细节与静态构成转变为运动与响应中的细节。我对实时产生图形、定义行为以及控制交互十分感兴趣。为了在更高的层面追求这种兴趣,我意识到必须学会编程。在孩童时期用计算机娱乐,以及多年的使用它们进行专业工作之后,我走向了一条新的道路。
在1997 年,我遇到John
Maeda,他向我介绍了麻省理工学院美学与运算小组的实验性软件作品。他的学生们通过组合传统艺术理念与计算机科学,创建了一种新的作品形式。当我体验到这种作品时,我知道自己有新方向了。于是在1998
年我开始认真学习计算机编程。第二年我成为麻省理工学院的研究生。我整个人生都被改变了,从软件的消费者成为了软件的生产者。我拓展了自己的技术事业,将它与文化和艺术史联系起来。
作为麻省理工学院媒体实验室的研究生,我接触到一群身怀各种绝技的人。他们共有的技能是计算机,但是各自都有其他的背景,包括建筑、艺术、数学、设计以及音乐。在那时,很少有软件能同时具备高级的编程语言与创建精美图像的能力,所以我在麻省理工学院的前辈和同仁们创建了他们自己的软件以满足自己的需求。在这个过程中,一种独特的文化出现了,它将视觉文化的知识和计算机科学的知识融合在一起。我们想把这种信息带给技术领域以及学院之外的人,于是我把这六年都贡献给了Processing
的开发。我希望这本书能够作为催化剂,提升艺术圈的编程能力。
关于我们——Ben
和很多人一样,我总是喜欢拆卸物件搞清楚它们的工作原理。一开始我拆解家里的电器,比较它们内部的组件,找出相同的组件。后来我厌烦了拆装电话机和收音机,对软件产生了兴趣。计算机为我提供了无穷的空间,就好像那里面有无数等待拆卸的电话机。凭着一本烧过的黄色装订本“IBM
BASIC by Microsoft”,父亲教会了我for
循环,而我也开始自学编程——大多是通过阅读他人的代码,不时加以修改以实现其他功能。一段时间以后,对从头开始编写软件我也驾轻就熟了。
另外,我对图形设计也感兴趣,对于字体、排版与样式设计也很好奇。我的一位亲戚开了一家设计公司,我觉得那简直是地球上最有趣的工作。后来我申请到了设计学校,学习用户界面设计与创建“互动的多媒体CD-ROM”,这可以说是满足我人生两大兴趣的唯一途径。就读于设计学校对我十分重要,因为它教会了我思考和创意,而这些方法在别处也适用,比如我热爱的软件领域。
在1997 年,也就是我本科阶段的最后一年,John Maeda
举办了一次讲座。他演示的内容让我们都惊呆了,当时坐在后排时我的一位朋友一边看一边喃喃自语:“哇,讲慢点,讲慢点……”。在演讲中我终于看到了设计与计算的交集,之前我从未如此想象过。这是截然不同的观点,既不是普通的制作工具,也不是构造界面。一年后我有幸在麻省理工学院与Maeda
教授一起工作。
在媒体实验室与John 共事的六年期间,教育学是一个永恒的主题。我、Casey以及其他学生投入到了Design By
Numbers
项目中,从中学习如何教设计师进行运算,同时也获得了大量的真实需求的反馈。当时我们有一个位于“草图”阶段的项目,Casey
和我看到了二者的相似之处,于是我们开始讨论如何连接这两者,最终开发出Processing。
我们希望Processing
可以包含大量代码,用户可以阅读、修改及测试它们,这其实就是我学习编程的过程。但是更重要的是围绕着这个项目的社区,社区成员乐于分享代码,帮助解决他人的问题。同样的,Processing
本身的代码也是开放的,对我而言,这是为了回报上一代开发者,因为他们分享自己的代码,并解答了我的问题。
对于这个项目,我个人的一个目标是帮助设计师控制自己的工具。自桌面出版在20 世纪80 年代中期推动设计的发展以来,已经过去20
多年了,我们需要更多的创新。虽然设计师有很多可用的工具,通过编程以及写脚本能够填补设计师的想法与软件能力之间的鸿沟。大多数的Processing
用户只会将它应用在自己的工作上,但是我希望更多新颖的工具是由设计师设计出来的,而不是完全依赖软件公司与计算机科学家。
致谢
本书是我们对视觉设计与软件进行超过十五年研究的成果。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,Rebeca Mendez,Vasa
Mihich,Christian Moeller,Jennifer Steinkamp 及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 的。
本书的想法和结构在近六年的授课过程中得到不断改善,授课的学校包括UCLA、卡内基?梅隆、艾丽维尔交互设计学院、麻省理工学院及哈佛大学。我们尤其感谢Casey
的DESMA 28, 152A 及152B 班上的学生,你们的想法、努力和作品都太棒了。Casey 在UCLA
的研究生提供了极有价值的回馈: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,Amit
Pitaru 及Dan Shiffman 在早期的采纳和推广。
Processing 软件是社区共同努力的成果。在过去的五年中,软件不断得到完善。而本书以及Processing
的目标根据大家的宝贵建议和讨论有所调整。要想列出所有参与者以及贡献者的名单是不可能的,再此仅列出该软件的核心贡献者,他们是:Karsten
Schmidt,Ariel Malka,Martin Gomez,Mikkel Crone Koser,Koen
Mostert,Timothy Mohn,Dan Mosedale,Jacob Schwartz,Sami Arola,Dan
Haskovec 以及Jonathan Feinberg。官方网站www.processing.org 得到Lenny
Burdette,Florian Jenett,Cem Uzunoglu,Dara Kilicoglu 以及Kevin Cannon
的修缮。Processing 参考手册(网站中可查询)被翻译成其他语言,感谢Willian Ngan,Tori Tan,Mei
Yu,Widianto Nugroho,Tetsu Kondo,Tai-Kyung Kim,Julien
Gachadoat,Pedro Alpera,Alessandro Capozzo 以及Burak
Arikan。感谢以下这些人士对代码库的慷慨贡献:Brendan Berg,Jeffrey Traer
Bernstein,Michael Chang,Stephane Cousot,Jeff Crouse,Kristian Linn
Damkjer,Daniel Dihardja,Julien Gachadoat,Simon Greenwold,Mark
Hill,Florian Jenett,JohnG,Jesse Kriss,Ariel Malka,Markavian,Allan
William Martin,Josh Nimoy,Krister Olsson,Amit Pitaru,Christian
Riekoff,RSG,Carl-Johan Rosén,Tatsuya Saito,Andreas Schlegel,Karsten
Schmidt,Daniel Shiffman,Taka 以及Marius Watz。Tom Carden
创建了www.processingblogs.org , 并与Karsten Schmidt
一起创建了www.processinghacks.com。
我们还要感谢开源软件 Jikes,JEdit,ORO Matcher 以及ANTLR 的作者们。Processing
从这些软件中获益良多。
本书在过去的两年中经过了无数次的重写和重新设计。我们亏欠Shannon
Hunt太多了,他阅读并编辑了本书初稿,同时校对了终稿。Karsten Schmidt 和Larry
Cuba阅读了早期章节,并提供反馈。Tom Igoe 和David Cuartielles
提供了关于电子器件扩展部分的重要反馈,Drew Trujillo 则帮助我们制作了附录G。Rajorshi Ghosh 和Mary
Huang 在本书的制作过程中提供了极大的帮助。感谢Chandler McWilliams 对终稿进行彻底的技术评审。
与MIT 出版社员工们共事的日子十分快乐,感谢他们对本书的辛勤付出。Doug Sery
指导我们顺利走过出版的每个环节,使这本书成为可能。感谢Katherine
Almeida以及编辑部的员工修正我们的拼写错误,感谢Terry Lamoureux 和Jennifer Flint
在制作中的智慧。匿名读者对初稿的评论提供了极大的价值,帮助精简了本书的结构。
我们感谢许多做出贡献的艺术家和作者。他们慷慨提供他们的时间,本书因他们参与而更有价值。
最最重要的还有,Casey 要感谢Cait,Molly,Bob 及Deanna。Ben
要感谢Shannon,Chief,Rose,Mimi,Jamie,Leif,Erika 及Josh。
|
|