《Processing编程学习指南》详解了Processing编程的基本概念,本书分成十节课共23章,包含了建立最前沿的图形程序运行比如互动交流造型艺术、实时视频解决和数据可视化所必须的基本知识。除此之外,做为一本试验设计风格的指南,书里用心选择了一部分非常好技术性开展详细表述。能够 让图形和网页设计师、艺术大师及平面设计大师迅速了解Processing编程自然环境。
目录
- 出版者的话
- 译者序
- 致谢
- 前言
- 节课 开始
- 章 像素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、elseif51
- 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.101001个Zoog137
- 第四节课的项目139
- 第五节课 融会贯通
- 0章 算法142
- 10.1 我们现在在哪里?我们将要去哪里142
- 10.2 算法:跟着你自己的节奏跳舞143
- 10.3 从概念到部分144
- 10.4 部分:雨水采集器145
- 10.5 第2部分:相交147
- 10.6 第3部分:计时器152
- 10.7 第4部分:雨滴154
- 10.8 整合157
- 10.9 为下一步做好准备164
- 第五节课的项目165
- 1章 调试166
- 11.1 建议1:休息一下166
- 11.2 建议2:让另外一个人参与进来166
- 11.3 建议3:简化167
- 11.4 建议4:println()是你的朋友168
- 2章 库171
- 12.1 库概述171
- 12.2 内置库172
- 12.3 第三方库172
- 12.4 手动安装库173
- 第六节课 你周围的世界
- 3章 数学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
- 4章 三维平移和旋转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
- 第七节课 显微镜下的像素
- 5章 图像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
- 6章 视频244
- 16.1 视频直播244
- 16.2 已录制的视频249
- 16.3 软件镜像251
- 16.4 视频作为传感器和计算机视觉256
- 16.5 背景消除260
- 16.6 运动检测263
- 16.7 计算机视觉库266
- 第七节课的项目267
- 第八节课 外面的世界
- 7章 文本270
- 17.1 字符串从哪来270
- 17.2 什么是字符串271
- 17.3 显示文字273
- 17.4 文字的动态效果275
- 17.5 文字马赛克278
- 17.6 旋转文字280
- 17.7 按字符逐一显示文字281
- 8章 数据输入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
- 9章 数据流323
- 19.1 网络通信323
- 19.2 创建服务器324
- 19.3 创建客户端327
- 19.4 广播329
- 19.5 多用户通信,部分:服务器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 探索JavaAPI389
- 23.4 其他有用的Java类:ArrayList390
- 23.5 其他有用的Java类:Rectangle396
- 23.6 异常(错误)处理398
- 23.7 Processing之外的Java400
- 附录A 常见错误402