目录
出版者的话
译者序
致谢
前言
第一节课 开始
第1章 像素2
1.1 坐标纸2
1.2 绘制基本图形3
1.3 灰度模式7
1.4 RGB颜色9
1.5 颜色透明度10
1.6 自定义颜色取值范围11
第2章 Processing13
2.1 让Processing来拯救你13
2.2 如何下载Processing14
2.3 Processing应用程序14
2.4 速写本15
2.5 Processing中的代码16
2.6 错误提示18
2.7 Processing参考文档20
2.8 “运行”按钮21
2.9 你的第一个草图22
第3章 交互24
3.1 程序的运行流程24
3.2 我们的好朋友:setup()和draw()25
3.3 跟随鼠标移动27
3.4 鼠标点击和键盘操作30
第一节课的项目33
第二节课 你所需要知道的一切
第4章 变量36
4.1 什么是变量36
4.2 变量的声明和初始化37
4.3 使用变量39
4.4 多种变量42
4.5 系统变量43
4.6 随机:多样化为生活增加趣味性44
4.7 使用变量来创建Zoog46
4.8 坐标平移48
第5章 条件语句50
5.1 布尔表达式50
5.2 条件语句:if、else、else if51
5.3 草图中的条件语句54
5.4 逻辑运算符56
5.5 多个鼠标翻转效果的实现58
5.6 布尔变量59
5.7 弹力球62
5.8 物理学基础66
第6章 循环69
6.1 什么是迭代69
6.2 while循环:你唯一真正需要的循环71
6.3 “退出”条件73
6.4 for循环75
6.5 局域变量与全局变量77
6.6 draw()循环内部的循环80
6.7 长出胳膊的Zoog82
第二节课的项目84
第三节课 结构化
第7章 函数86
7.1 将代码分解86
7.2 用户自定义函数87
7.3 定义函数88
7.4 简单的模块化89
7.5 实参91
7.6 传递副本95
7.7 返回类型97
7.8 重新整理Zoog100
第8章 对象103
8.1 掌握面向对象编程103
8.2 使用对象104
8.3 编写饼干模具的程序105
8.4 使用一个对象的具体步骤107
8.5 使用标签进行组合109
8.6 构造函数参数112
8.7 对象也是数据类型115
8.8 面向对象的Zoog116
第三节课的项目119
第四节课 重复性
第9章 数组122
9.1 数组的作用122
9.2 数组是什么124
9.3 声明和创建数组125
9.4 初始化数组126
9.5 数组运算127
9.6 简单的数组示例:蛇129
9.7 对象数组131
9.8 交互式对象133
9.9 Processing的数组函数136
9.10 1001个Zoog137
第四节课的项目139
第五节课 融会贯通
第10章 算法142
10.1 我们现在在哪里?我们将要去哪里142
10.2 算法:跟着你自己的节奏跳舞143
10.3 从概念到部分144
10.4 第1部分:雨水采集器145
10.5 第2部分:相交147
10.6 第3部分:计时器152
10.7 第4部分:雨滴154
10.8 整合157
10.9 为下一步做好准备164
第五节课的项目165
第11章 调试166
11.1 建议1:休息一下166
11.2 建议2:让另外一个人参与进来166
11.3 建议3:简化167
11.4 建议4:println()是你的朋友168
第12章 库171
12.1 库概述171
12.2 内置库172
12.3 第三方库172
12.4 手动安装库173
第六节课 你周围的世界
第13章 数学176
13.1 数学和编程176
13.2 模数177
13.3 随机数178
13.4 概率回顾179
13.5 代码中的事件概率179
13.6 Perlin噪声181
13.7 map()函数184
13.8 角度185
13.9 三角学186
13.10 振荡188
13.11 递归190
13.12 二维数组193
第14章 三维平移和旋转198
14.1 z坐标轴198
14.2 P3D究竟是什么202
14.3 顶点形状203
14.4 自定义三维图形205
14.5 简单的旋转207
14.6 围绕不同的轴旋转209
14.7 scale()函数211
14.8 pushMatrix()和popMatrix()函数212
14.9 用Processing模拟太阳系218
14.10 PShape类220
第六节课的项目222
第七节课 显微镜下的像素
第15章 图像224
15.1 图像入门224
15.2 图像的动画效果226
15.3 我的第一个图像处理滤镜228
15.4 图像数组229
15.5 像素,像素,更多的像素231
15.6 图像处理简介235
15.7 另外一个图像处理滤镜:制作属于你自己的tint()函数236
15.8 写入另外一个PImage对象的像素237
15.9 第二阶段:像素组处理239
15.10 具有创意的可视化242
第16章 视频244
16.1 视频直播244
16.2 已录制的视频249
16.3 软件镜像251
16.4 视频作为传感器和计算机视觉256
16.5 背景消除260
16.6 运动检测263
16.7 计算机视觉库266
第七节课的项目267
第八节课 外面的世界
第17章 文本270
17.1 字符串从哪来270
17.2 什么是字符串271
17.3 显示文字273
17.4 文字的动态效果275
17.5 文字马赛克278
17.6 旋转文字280
17.7 按字符逐一显示文字281
第18章 数据输入286
18.1 字符串的操作286
18.2 拆分和组合288
18.3 处理数据290
18.4 处理文本文件291
18.5 表格数据293
18.6 非标准化格式的数据297
18.7 文本分析302
18.8 XML305
18.9 使用Processing的XML类307
18.10 JSON312
18.11 JSONObject和JSONArray315
18.12 线程318
18.13 API320
第19章 数据流323
19.1 网络通信323
19.2 创建服务器324
19.3 创建客户端327
19.4 广播329
19.5 多用户通信,第1部分:服务器331
19.6 多用户通信,第2部分:客户端333
19.7 多用户通信,第3部分:组合335
19.8 串行通信336
19.9 使用信号交换的串行通信338
19.10 使用字符串的串行通信339
第八节课的项目342
第九节课 制造噪音
第20章 声音344
20.1 基础的声音播放344
20.2 关于声音播放的更多内容348
20.3 声音合成350
20.4 声音分析353
20.5 声音阈值355
20.6 频谱分析358
第21章 导出361
21.1 导出至Web361
21.2 独立的应用程序362
21.3 高分辨PDF文件363
21.4 图像和saveFrame()367
21.5 录制视频367
第九节课的项目370
第十节课 超越Processing
第22章 高级的面向对象编程372
22.1 封装372
22.2 继承374
22.3 一个继承的示例:图形378
22.4 多态性381
22.5 重载384
第23章 Java386
23.1 揭开Processing魔法386
23.2 如果不使用Processing,代码看上去会是什么样子387
23.3 探索Java API389
23.4 其他有用的Java类:ArrayList390
23.5 其他有用的Java类:Rectangle396
23.6 异常(错误)处理398
23.7 Processing之外的Java400
附录A 常见错误402
译者序
致谢
前言
第一节课 开始
第1章 像素2
1.1 坐标纸2
1.2 绘制基本图形3
1.3 灰度模式7
1.4 RGB颜色9
1.5 颜色透明度10
1.6 自定义颜色取值范围11
第2章 Processing13
2.1 让Processing来拯救你13
2.2 如何下载Processing14
2.3 Processing应用程序14
2.4 速写本15
2.5 Processing中的代码16
2.6 错误提示18
2.7 Processing参考文档20
2.8 “运行”按钮21
2.9 你的第一个草图22
第3章 交互24
3.1 程序的运行流程24
3.2 我们的好朋友:setup()和draw()25
3.3 跟随鼠标移动27
3.4 鼠标点击和键盘操作30
第一节课的项目33
第二节课 你所需要知道的一切
第4章 变量36
4.1 什么是变量36
4.2 变量的声明和初始化37
4.3 使用变量39
4.4 多种变量42
4.5 系统变量43
4.6 随机:多样化为生活增加趣味性44
4.7 使用变量来创建Zoog46
4.8 坐标平移48
第5章 条件语句50
5.1 布尔表达式50
5.2 条件语句:if、else、else if51
5.3 草图中的条件语句54
5.4 逻辑运算符56
5.5 多个鼠标翻转效果的实现58
5.6 布尔变量59
5.7 弹力球62
5.8 物理学基础66
第6章 循环69
6.1 什么是迭代69
6.2 while循环:你唯一真正需要的循环71
6.3 “退出”条件73
6.4 for循环75
6.5 局域变量与全局变量77
6.6 draw()循环内部的循环80
6.7 长出胳膊的Zoog82
第二节课的项目84
第三节课 结构化
第7章 函数86
7.1 将代码分解86
7.2 用户自定义函数87
7.3 定义函数88
7.4 简单的模块化89
7.5 实参91
7.6 传递副本95
7.7 返回类型97
7.8 重新整理Zoog100
第8章 对象103
8.1 掌握面向对象编程103
8.2 使用对象104
8.3 编写饼干模具的程序105
8.4 使用一个对象的具体步骤107
8.5 使用标签进行组合109
8.6 构造函数参数112
8.7 对象也是数据类型115
8.8 面向对象的Zoog116
第三节课的项目119
第四节课 重复性
第9章 数组122
9.1 数组的作用122
9.2 数组是什么124
9.3 声明和创建数组125
9.4 初始化数组126
9.5 数组运算127
9.6 简单的数组示例:蛇129
9.7 对象数组131
9.8 交互式对象133
9.9 Processing的数组函数136
9.10 1001个Zoog137
第四节课的项目139
第五节课 融会贯通
第10章 算法142
10.1 我们现在在哪里?我们将要去哪里142
10.2 算法:跟着你自己的节奏跳舞143
10.3 从概念到部分144
10.4 第1部分:雨水采集器145
10.5 第2部分:相交147
10.6 第3部分:计时器152
10.7 第4部分:雨滴154
10.8 整合157
10.9 为下一步做好准备164
第五节课的项目165
第11章 调试166
11.1 建议1:休息一下166
11.2 建议2:让另外一个人参与进来166
11.3 建议3:简化167
11.4 建议4:println()是你的朋友168
第12章 库171
12.1 库概述171
12.2 内置库172
12.3 第三方库172
12.4 手动安装库173
第六节课 你周围的世界
第13章 数学176
13.1 数学和编程176
13.2 模数177
13.3 随机数178
13.4 概率回顾179
13.5 代码中的事件概率179
13.6 Perlin噪声181
13.7 map()函数184
13.8 角度185
13.9 三角学186
13.10 振荡188
13.11 递归190
13.12 二维数组193
第14章 三维平移和旋转198
14.1 z坐标轴198
14.2 P3D究竟是什么202
14.3 顶点形状203
14.4 自定义三维图形205
14.5 简单的旋转207
14.6 围绕不同的轴旋转209
14.7 scale()函数211
14.8 pushMatrix()和popMatrix()函数212
14.9 用Processing模拟太阳系218
14.10 PShape类220
第六节课的项目222
第七节课 显微镜下的像素
第15章 图像224
15.1 图像入门224
15.2 图像的动画效果226
15.3 我的第一个图像处理滤镜228
15.4 图像数组229
15.5 像素,像素,更多的像素231
15.6 图像处理简介235
15.7 另外一个图像处理滤镜:制作属于你自己的tint()函数236
15.8 写入另外一个PImage对象的像素237
15.9 第二阶段:像素组处理239
15.10 具有创意的可视化242
第16章 视频244
16.1 视频直播244
16.2 已录制的视频249
16.3 软件镜像251
16.4 视频作为传感器和计算机视觉256
16.5 背景消除260
16.6 运动检测263
16.7 计算机视觉库266
第七节课的项目267
第八节课 外面的世界
第17章 文本270
17.1 字符串从哪来270
17.2 什么是字符串271
17.3 显示文字273
17.4 文字的动态效果275
17.5 文字马赛克278
17.6 旋转文字280
17.7 按字符逐一显示文字281
第18章 数据输入286
18.1 字符串的操作286
18.2 拆分和组合288
18.3 处理数据290
18.4 处理文本文件291
18.5 表格数据293
18.6 非标准化格式的数据297
18.7 文本分析302
18.8 XML305
18.9 使用Processing的XML类307
18.10 JSON312
18.11 JSONObject和JSONArray315
18.12 线程318
18.13 API320
第19章 数据流323
19.1 网络通信323
19.2 创建服务器324
19.3 创建客户端327
19.4 广播329
19.5 多用户通信,第1部分:服务器331
19.6 多用户通信,第2部分:客户端333
19.7 多用户通信,第3部分:组合335
19.8 串行通信336
19.9 使用信号交换的串行通信338
19.10 使用字符串的串行通信339
第八节课的项目342
第九节课 制造噪音
第20章 声音344
20.1 基础的声音播放344
20.2 关于声音播放的更多内容348
20.3 声音合成350
20.4 声音分析353
20.5 声音阈值355
20.6 频谱分析358
第21章 导出361
21.1 导出至Web361
21.2 独立的应用程序362
21.3 高分辨PDF文件363
21.4 图像和saveFrame()367
21.5 录制视频367
第九节课的项目370
第十节课 超越Processing
第22章 高级的面向对象编程372
22.1 封装372
22.2 继承374
22.3 一个继承的示例:图形378
22.4 多态性381
22.5 重载384
第23章 Java386
23.1 揭开Processing魔法386
23.2 如果不使用Processing,代码看上去会是什么样子387
23.3 探索Java API389
23.4 其他有用的Java类:ArrayList390
23.5 其他有用的Java类:Rectangle396
23.6 异常(错误)处理398
23.7 Processing之外的Java400
附录A 常见错误402
【展开】
【收起】
内容简介
在视觉化界面中学习电脑编程的基本原理!
本书介绍了编程的基本原理,涵盖了创建最前沿的图形应用程序(例如互动艺术、实时视频处理和数据可视化)所需要的基础知识。作为一本实验风格的手册,本书精心挑选了部分高级技术进行详尽解释,可以让图形和网页设计师、艺术家及平面设计师快速熟悉Processing编程环境。
从算法设计到数据可视化,从计算机视觉到3D图形,在有趣的互动视觉媒体和创意编程的背景之下,本书对面向对象的编程进行了彻底的阐述。此外,读者可以从本书的配套网站(www.learningprocessing.com)下载本书所有的源代码、章节练习以及如下的简短教程:
基础知识(学习Processing中的简单图形和坐标系统)
RGB颜色(学习数位色彩的基础知识)
Eclipse中的Processing(Java开发者在IDE中编写Processing代码)
第三方库文件(如何安装第三方Processing库文件)
本书主要特色包括
对编程经验零要求。本书适用于真正的编程初学者!
循序渐进的案例、详尽的解释、习题、示例代码,实现学习曲线的最优化。
Processing的快速上手指南。Processing免费且开源,是那些昂贵、令人生畏的编程语言的最佳替代者。
【展开】
【收起】
下载说明
1、追日是作者栎年创作的原创作品,下载链接均为网友上传的的网盘链接!
2、相识电子书提供优质免费的txt、pdf等下载链接,所有电子书均为完整版!
下载链接
热门评论
-
叶梓涛的评论【2017.8 读2/3 补标】诶编程是难以纸上谈兵的,书很好,后半部分较为零散的展示,展现出processing的强大丰富性,但是用不到的话也忘光光,数学的部分需要自我驱动的探索,而前文或许真的是对很多人来说最好的编程入门之一。其实我真的很好奇对于文科生来说,编程式的思考与人文式的写作之间是一个怎样的关系,逻辑/论证/诗/艺术等等这样的交缠一定是很有意思的。
-
莫小白的评论processing确实很厉害,可以做很多事
-
米田的评论可视化入门指南
-
徐犇鑫的评论很好的书,特别是第六节及之后,适合所有做cg的人 而且还附了代码链接
-
DreamAndDead的评论内容示例浅显 下载了processing尝试下,值得深入再理解应用的工具
-
Mewithoutdog的评论对不会编程的超友好!
-
闹闹的评论如果英文版看得懂还是建议看英文原版,中文版每一章都有一些小错,不借助原版会耽误事,稍微有点失望。 编程的书少一个标点都是错,所以苛刻一点是肯定的。但毕竟还是要感谢有人愿意翻译出来这本经典。