齣版者的話
譯者序
緻謝
前言
第一節課 開始
第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
· · · · · · (
收起)