Processing創意編程與交互設計
內容描述
Processing是以數字藝術為背景的程序設計語言,語法簡潔易學,使用它可以很方便地創作震撼的視覺表現及互動媒體作品。本書重點引導讀者學習Processing的入門基礎知識,同時介紹Processing如何與Arduino進行通信,以及如何通過與Kinect和Leap Motion等體感系統互動創作作品。
本書包含兩個部分:第一部分為圖形生成篇,通過大量的編程示例,帶領讀者從入門的圖形生成方法開始,從基本的語法再到程序繪圖,直到創作出各種令人驚艷的圖案,或者定製自己的UI界面;第二部分為交互設計篇,重點講解鼠標、鍵盤的互動及串口通信,通過實例展示Processing和Arduino的互動,以及如何與Kinect和Leap Motion進行互動編程,幫助讀者創作更多的體感互動效果。
為便教利學,書中附贈教學課件及全部程序代碼源文件,讀者可掃描前言中的二維碼獲取。
本書既可作為新媒體、藝術設計等相關專業學生的學慣用書,也可供設計師、程序員和藝術工作者等閱讀參考。
目錄大綱
目 錄
圖形生成篇
第1章 初識圖形交互設計 2
1.1 瞭解交互設計 2
1.2 Processing的功能與特性 3
1.3 開啟第一個繪圖程序 5
1.4 擴展練習 7
第2章 繪制圖形 8
2.1 畫布 8
2.2 基本圖形 9
2.3 自定義形狀 15
2.4 創建文字 17
2.5 繪圖順序 20
2.6 顏色填充 21
2.7 描邊屬性 23
2.8 擴展練習 25
第3 章 變量與語法 27
3.1 瞭解變量 27
3.2 創建變量 29
3.3 系統變量 30
3.4 簡單運算 32
3.5 條件語句 34
3.6 for 循環 37
3.7 註釋 41
3.8 映射 42
3.9 擴展練習 43
第4 章 動畫與幾何變換 45
4.1 移動 45
4.2 函數 48
4.3 隨機 50
4.4 平移 56
4.5 旋轉 57
4.6 縮放 59
4.7 隔離 60
4.8 緩動 62
4.9 擴展練習 64
第5 章 函數和對象 67
5.1 函數 67
5.2 面向對象編程 73
5.3 提前下雪 80
5.4 擴展練習 82
第6 章 數組 84
6.1 數組的概念 84
6.2 創建數組 86
6.3 對象數組 89
6.4 數組函數 91
6.5 擴展練習 93
第7 章 3D 圖形 95
7.1 3D 坐標系 95
7.2 三維燈光 100
7.3 材質 103
7.4 攝像機 105
7.5 擴展練習 107
第8 章 粒子系統 108
8.1 粒子基礎 108
8.2 粒子運動 111
8.3 互動粒子 114
8.4 連續粒子流 116
8.5 擴展練習 119
第9 章 媒體處理 122
9.1 加載圖片 122
9.2 加載濾鏡與蒙版 129
9.3 加載視頻 131
9.4 像素化效果 135
9.5 加載音頻 138
9.6 擴展練習 144
第10 章 使用庫創作 146
10.1 擴展庫概述 146
10.2 庫的安裝和調用 147
10.3 庫的應用範例 149
10.4 擴展練習 155
交互設計篇
第11 章 互動響應 160
11.1 鼠標響應 160
11.2 鍵盤響應 165
11.3 聲音交互 169
11.4 時間觸發 171
11.5 擴展練習 174
第12 章 Arduino 互動基礎 175
12.1 Arduino 入門 175
12.2 互動裝置解析 177
12.3 Processing 與Arduino 通信 181
12.4 擴展練習 186
第13 章 Arduino 互動編程實例 188
13.1 Arduino 程序架構 188
13.2 Arduino 編程語法 190
13.3 光敏控制粒子 197
13.4 距離控制視頻 200
13.5 紅外感應控制電機 204
13.6 擴展練習 206
第14 章 Kinect 與體感互動 208
14.1 Kinect 簡介 209
14.2 Kinect 相關驅動 210
14.3 多維圖像信息 211
14.4 實時圖像處理 214
14.5 身體追蹤 216
14.6 擴展練習 218
第15 章 Leap Motion 手勢互動 220
15.1 Leap Motion 簡介 220
15.2 安裝與調試Leap Motion 221
15.3 手勢捕捉基礎操作 224
15.4 手勢互動 226
15.5 擴展練習 228