本書是Processing學(xué)習(xí)的入門書,從Processing簡(jiǎn)介、開始編程、畫圖開始講起,循序漸進(jìn)地講解了Processing的各種功能,例如變量、響應(yīng)、媒體、運(yùn)動(dòng)、對(duì)象等。本書由Processing語(yǔ)言的創(chuàng)立者所著,內(nèi)容權(quán)V,語(yǔ)言通俗易懂,即使你沒有任何Processing基礎(chǔ),也能輕松入門。
Casey Reas是UCLA設(shè)計(jì)與媒體藝術(shù)系的教授。他的大量軟件、裝置及作品都在美國(guó)、歐洲和亞洲的各大博物館與藝術(shù)展中出展。在2001年Casey和Ben Fry一起共同創(chuàng)建了Processing。
Ben Fry是Fathom公司的負(fù)責(zé)人,這是一個(gè)在波士頓的設(shè)計(jì)與軟件咨詢公司。他在MIT媒體實(shí)驗(yàn)室的美學(xué)計(jì)算組獲得了博士學(xué)位,他的研究方向是結(jié)合例如計(jì)算機(jī)科學(xué)、統(tǒng)計(jì)學(xué)、圖形設(shè)計(jì)以及數(shù)據(jù)可視化這些不同的學(xué)科,創(chuàng)造一種方式讓人更好地理解信息。Ben和Casey Reas在2001年共同創(chuàng)建了Processing。
1 簡(jiǎn)介 1
草稿化和原型化 1
靈活性 2
巨人 3
家族樹 3
加入我們 4
2 開始編程 5
第一個(gè)程序 6
示例2-1:畫一個(gè)橢圓 6
示例2-2:繪制很多圓形 7
顯示(Show) 7
保存和新建 8
分享 8
案例和引用 9
3 畫圖 11
運(yùn)行窗口 11
示例3-1:繪制一個(gè)窗口 11
示例3-2:繪制一個(gè)點(diǎn) 11
基本形狀 12
示例3-3:繪制一條線 13
示例3-4:繪制基本形狀 13
示例3-5:繪制一個(gè)長(zhǎng)方形 14
示例3-6:繪制一個(gè)橢圓 14
示例3-7:繪制橢圓的一部分 14
示例3-8:用角度繪圖 16
繪圖順序 16
示例3-9:控制繪圖的順序 16
示例3-10:改變繪圖的順序 16
形狀屬性 17
示例3-11:設(shè)置描邊粗細(xì) 17
示例3-12:設(shè)置描邊端點(diǎn)樣式 17
示例3-13:設(shè)置線段轉(zhuǎn)折的樣式 18
繪制樣式 18
示例3-14:設(shè)置左上角起始 19
色彩 19
示例3-15:用灰度值繪圖 20
示例3-16:控制填色和描邊 21
示例3-17:用色彩繪圖 21
示例3-18:設(shè)置透明度 23
自定義圖形 23
示例3-19:繪制一個(gè)箭頭 23
示例3-20:閉合圖形 24
示例3-21:創(chuàng)造一些生物 24
注釋 25
機(jī)器人1:繪制 26
4 變量 29
第一個(gè)變量 29
示例4-1:重用相同值 29
示例4-2:更改變量值 29
定義變量 30
Processing的變量 31
示例4-3:調(diào)整尺寸大小,看看會(huì)發(fā)生什么 31
一點(diǎn)小小的數(shù)學(xué)問題 32
示例4-4:基礎(chǔ)算數(shù) 32
循環(huán) 33
示例4-5:重復(fù)做一件事 33
示例4-6:使用for循環(huán) 34
示例4-7: for循環(huán)的力量 35
示例4-8:分散開的線條 36
示例4-9:折角的線條 36
示例4-10:嵌套循環(huán) 36
示例4-11:行和列 37
示例4-12:點(diǎn)和線 38
示例4-13:網(wǎng)點(diǎn) 38
機(jī)器人2:變量 39
5 響應(yīng) 41
一次與永久 41
示例5-1: draw( )函數(shù) 41
示例5-2: setup( )函數(shù) 41
示例5-3:全局變量 42
跟隨 43
示例5-4:鼠標(biāo)跟隨 43
示例5-5:跟隨你的點(diǎn) 43
示例5-6:連續(xù)繪畫 44
示例5-7:設(shè)置線條厚度 44
示例5-8:使用easing 45
示例5-9:用easing 做出平滑的曲線 46
單擊 47
示例5-10:?jiǎn)螕羰髽?biāo) 47
示例5-11:當(dāng)沒有單擊的時(shí)候進(jìn)行檢測(cè) 48
示例5-12:鼠標(biāo)不同鍵位單擊 49
定位 50
示例5-13:尋找光標(biāo) 51
示例5-14:圓形的邊界 51
示例5-15:矩形的邊界 53
類型 54
示例5-16:檢測(cè)按鍵 54
示例5-17:繪制一些字母 55
示例5-18:檢查特殊按鍵 56
示例5-19:用方向鍵移動(dòng) 57
映射 57
示例5-20:將值映射到范圍 57
示例5-21:用map( )函數(shù)做轉(zhuǎn)換 58
機(jī)器人3:響應(yīng) 59
6 平移、旋轉(zhuǎn)和縮放 61
平移 61
示例6-1:平移位置 61
示例6-2:多重變換 62
旋轉(zhuǎn) 63
示例6-3:沿角旋轉(zhuǎn) 63
示例6-4:中心旋轉(zhuǎn) 64
示例6-5:移動(dòng),然后再旋轉(zhuǎn) 64
示例6-6:旋轉(zhuǎn),然后再移動(dòng) 65
示例6-7:一個(gè)關(guān)節(jié)臂 65
縮放 66
示例6-8:縮放 67
示例6-9:保持描邊一致 67
壓棧和彈出 68
示例6-10:獨(dú)立的變換 68
機(jī)器人4:平移、旋轉(zhuǎn)和縮放 69
7 媒體 71
圖像 72
示例7-1:加載圖像 72
示例7-2:加載更多圖像 72
示例7-3:鼠標(biāo)控制圖片 73
示例7-4: GIF的透明度 74
示例7-5: PNG的透明度 74
字體 75
示例7-6:繪制字體 75
示例7-7:在方框中繪制文字 76
示例7-8:在字符串中存儲(chǔ)文字 77
圖形 77
示例7-9:繪制圖形 78
示例7-10:縮放圖形 78
示例7-11:創(chuàng)建一個(gè)新的圖形 79
機(jī)器人5:媒體 80
8 運(yùn)動(dòng) 83
幀 83
示例8-1:觀察幀頻率 83
示例8-2:設(shè)置幀頻率 83
速度和方向 84
示例8-3:移動(dòng)圖形 84
示例8-4:循環(huán) 84
示例8-5:折返 86
補(bǔ)間動(dòng)畫 86
示例8-6:計(jì)算補(bǔ)間位置 87
隨機(jī) 87
示例8-7:生成隨機(jī)數(shù) 88
示例8-8:隨機(jī)繪制 88
示例8-9:隨機(jī)移動(dòng)圖形 88
計(jì)時(shí)器 89
示例8-10:經(jīng)過時(shí)間 90
示例8-11:觸發(fā)時(shí)間事件 90
圓周 90
示例8-12:正弦波形的值 92
示例8-13:正弦波運(yùn)動(dòng) 92
示例8-14:圓周運(yùn)動(dòng) 93
示例8-15:螺旋 93
機(jī)器人6:運(yùn)動(dòng) 94
9 函數(shù) 97
函數(shù)基礎(chǔ) 97
示例9-1:擲骰子 97
示例9-2:另一個(gè)擲骰子方法 98
寫一個(gè)函數(shù) 99
示例9-3:繪制貓頭鷹 99
示例9-4:一對(duì)貓頭鷹 100
示例9-5:一個(gè)貓頭鷹函數(shù) 101
示例9-6:增加超多的貓頭鷹 103
示例9-7:不同尺寸的貓頭鷹 103
返回值 104
示例9-8:返回一個(gè)值 104
機(jī)器人7:函數(shù) 105
10 對(duì)象 109
域和方法 109
定義一個(gè)類 110
創(chuàng)建對(duì)象 114
示例10-1:創(chuàng)建一個(gè)對(duì)象 114
示例10-2:創(chuàng)建多個(gè)對(duì)象 115
標(biāo)簽 116
機(jī)器人8:對(duì)象 118
11 數(shù)組 121
從變量到數(shù)組 121
示例11-1:許多變量 121
示例11-2:太多的變量 122
示例11-3:使用數(shù)組,不需要額外的變量 123
創(chuàng)建數(shù)組 123
示例11-4:給一個(gè)數(shù)組聲明和賦值 125
示例11-5:簡(jiǎn)化數(shù)組賦值 125
示例11-6:一次性對(duì)整個(gè)數(shù)組賦值 125
示例11-7:重新審視第一個(gè)例子 125
循環(huán)和數(shù)組 126
示例11-8:在一個(gè)循環(huán)里填入一個(gè)數(shù)組 126
示例11-9。鹤粉櫴髽(biāo)移動(dòng) 127
對(duì)象數(shù)組 128
示例11-10:管理多個(gè)對(duì)象 129
示例11-11:一種管理對(duì)象的新方法 129
示例11-12:圖像序列 130
機(jī)器人 9:數(shù)組 131
12 數(shù)據(jù) 135
數(shù)據(jù)總結(jié) 135
表格 136
示例12-1:讀取表格 137
示例12-2:繪制表格 137
示例12-3: 29740個(gè)城市 139
JSON 140
示例12-4:讀取一個(gè)JSON文件 141
示例12-5:從JSON文件讀取數(shù)據(jù)并進(jìn)行可視化 142
網(wǎng)絡(luò)數(shù)據(jù)和API (應(yīng)用程序接口) 143
示例12-6:處理天氣數(shù)據(jù) 145
示例12-7:鏈?zhǔn)椒椒ā?46
機(jī)器人10:數(shù)據(jù) 146
13 延伸 149
聲音 149
示例13-1:播放一個(gè)聲音樣例 150
示例13-2:從話筒中聽取聲音 151
示例13-3:創(chuàng)建一個(gè)正弦波形 152
圖像和PDF導(dǎo)出 153
示例13-4:保存圖像 154
示例 13-5:導(dǎo)出PDF 155
你好Arduino 156
示例 13-6:讀取傳感器 157
示例13-7:從串口讀取數(shù)據(jù) 158
示例13-8:可視化數(shù)據(jù)流 159
示例11-9:看待數(shù)據(jù)的另一種方式 160
附錄A 編程小貼士 162
函數(shù)和參數(shù) 162
顏色映射 163
注釋 163
大寫與小寫 163
編程風(fēng)格 164
控制臺(tái) 164
一步一步來 164
附錄B 數(shù)據(jù)類型 165
附錄C 操作的順序 166
附錄D 變量作用域 167