本書基于Python編程,實現(xiàn)了15個有趣的互動場景,循序漸進(jìn)地向讀者展示了這些場景的實現(xiàn)過程,幫助讀者掌握Python編程。全書共16章,講解了Python基本語句、算術(shù)運算符、字符串、循環(huán)、全局變量、選擇判斷、隨機(jī)函數(shù)、列表、函數(shù)、復(fù)合運算符、遞歸、面向?qū)ο缶幊痰热腴T知識,同時涉及Processing軟件的配置、繪制、幀率、鼠標(biāo)鍵盤互動、字符串處理、文字處理、音視頻處理等使用方法。此外還簡要介紹了RGB顏色模型、HSB顏色模型、圖像、人臉檢測的基本概念,方便讀者利用自己的創(chuàng)意來進(jìn)行進(jìn)一步的發(fā)揮和創(chuàng)造。附錄A給出了書中練習(xí)題的參考答案,附錄B給出了書中基本概念的索引。
本書基于Python編程,實現(xiàn)了15個有趣的互動場景,幫助讀者從零開始學(xué)習(xí)Python編程。
在逐步搭建場景的過程中引入運算符、字符串、全局變量、函數(shù)、列表等Python基本知識和選擇判斷、循環(huán)、遞歸等算法思想。
1.為初學(xué)者量身打造;
2.趣味性強(qiáng);
3.提升可拓展性強(qiáng);
4.提供配套資源代碼和素材、書中程序演示視頻、書中習(xí)題答案;
5.全彩印刷。
本書帶領(lǐng)讀者搭建的互動場景包括:
·轉(zhuǎn)動眼珠的圓臉
·催眠的同心圓
·旋轉(zhuǎn)的圓弧
·簡易毛筆字
·旋轉(zhuǎn)的方塊
·隨機(jī)扭動的曲線
·隨風(fēng)飄動的粒子
·互相作用的圓球
·隨機(jī)山水畫
·遞歸分形樹
·粒子同心圓
·圖像像素采樣
·定制字符畫
·音樂可視化
·堅持一百秒
童晶,浙江大學(xué)計算機(jī)專業(yè)博士,河海大學(xué)計算機(jī)系副教授、碩士生導(dǎo)師,中科院兼職副研究員,主要研究方向為計算機(jī)圖形學(xué)、數(shù)字化藝術(shù)、虛擬現(xiàn)實、三維打印等,曾發(fā)表學(xué)術(shù)論文30余篇。具有15年的一線編程教學(xué)經(jīng)驗,被評為河海大學(xué)優(yōu)秀主講教師。開設(shè)課程在校內(nèi)廣受好評,在知乎、網(wǎng)易云課堂、中國大學(xué)MOOC等線上平臺已有上百萬次的閱讀量。積極投身教學(xué)與學(xué)生創(chuàng)新,曾指導(dǎo)學(xué)生獲得英特爾嵌入式比賽全國一等獎、“挑戰(zhàn)杯”全國三等獎、“中國軟件杯”全國一等獎、中國大學(xué)生服務(wù)外包大賽全國一等獎等眾多獎項。
第 1 章 Python與Processing介紹 1
1.1 什么是Python 1
1.2 Processing下載與配置 2
1.3 小結(jié) 4
第 2 章 轉(zhuǎn)動眼珠的圓臉 5
2.1 顯示一個圓 6
2.2 整數(shù)與算術(shù)運算符 9
2.3 顯示多個圓 10
2.4 變量 12
2.5 設(shè)置背景和圓的亮度 16
2.6 跟隨鼠標(biāo)移動的圓圈 18
2.7 轉(zhuǎn)動的眼珠 20
2.8 轉(zhuǎn)動眼珠的圓臉 24
2.9 小結(jié) 26
第3 章 催眠的同心圓27
3.1 變大的圓圈 28
3.2 圓圈重復(fù)變大 29
3.3 繪制同心圓 31
3.4 利用for循環(huán)語句繪制同心圓 33
3.5 同心圓逐漸變大的動畫效果 37
3.6 小結(jié) 40
第4 章 旋轉(zhuǎn)的圓弧 41
4.1 繪制圓弧 42
4.2 圓弧的旋轉(zhuǎn) 43
4.3 利用全局變量實現(xiàn)圓弧變長 44
4.4 if語句實現(xiàn)圓弧長度重復(fù)變化 47
4.5 邏輯運算符 49
4.6 圓弧同時旋轉(zhuǎn)與長度變化 50
4.7 多層圓弧效果 51
4.8 小結(jié) 52
第5章 簡易毛筆字 53
5.1 鼠標(biāo)畫圓 54
5.2 鼠標(biāo)畫線 55
5.3 改變畫線粗細(xì) 57
5.4 粗細(xì)平滑過渡 59
5.5 一條線段上粗細(xì)插值 59
5.6 繪制分叉線 61
5.7 小結(jié) 63
第6 章 旋轉(zhuǎn)的方塊 64
6.1 繪制方塊 65
6.2 方塊旋轉(zhuǎn) 67
6.3 方塊縮放 68
6.4 繪制一行方塊 68
6.5 繪制方塊陣列 71
6.6 方塊陣列旋轉(zhuǎn)縮放 74
6.7 文字表情包 76
6.8 小結(jié) 78
第7 章 隨機(jī)扭動的曲線 79
7.1 圓圈上的點 80
7.2 random隨機(jī)函數(shù) 81
7.3 noise隨機(jī)函數(shù) 82
7.4 連續(xù)變化的隨機(jī)點 85
7.5 將點連接成曲線 86
7.6 處理首尾不連續(xù)的問題 88
7.7 彩色曲線效果 89
7.8 清屏與保存圖片 93
7.9 小結(jié) 94
第8 章 隨風(fēng)飄動的粒子 95
8.1 逐漸消失的軌跡 96
8.2 隨機(jī)運動的圓點 98
8.3 列表的概念 100
8.4 利用列表實現(xiàn)多個粒子 104
8.5 隨機(jī)速度場 105
8.6 彩色效果 107
8.7 小結(jié) 108
第9 章 互相作用的圓球 109
9.1 多個隨機(jī)圓球 110
9.2 圓球間的作用力 111
9.3 鼠標(biāo)交互添加圓球 114
9.4 不同半徑的圓球 114
9.5 無參數(shù)的函數(shù) 116
9.6 小結(jié) 118
第 10 章 隨機(jī)山水畫 119
10.1 HSB顏色模型 120
10.2 天空顏色漸變 122
10.3 繪制彩色云朵 123
10.4 繪制山脈 125
10.5 鼠標(biāo)點擊更新畫面 128
10.6 帶參數(shù)的函數(shù) 130
10.7 小結(jié) 133
第 11 章 遞歸分形樹 134
11.1 遞歸 135
11.2 繪制分形樹 139
11.3 鼠標(biāo)交互的分形樹 142
11.4 添加隨機(jī)性 143
11.5 小結(jié) 145
第 12 章 粒子同心圓 146
12.1 類的成員變量 147
12.2 類的成員函數(shù) 149
12.3 面向?qū)ο蟀姹镜倪\動粒子 151
12.4 粒子移向同心圓 152
12.5 小結(jié) 155
第 13 章 圖像像素采樣 156
13.1 圖像文件的讀取與顯示 157
13.2 像素顏色的獲取 158
13.3 生成馬賽克圖像 159
13.4 隨機(jī)采樣畫圓 160
13.5 均勻采樣畫圓 161
13.6 葉序采樣畫圓 165
13.7 小結(jié) 168
第 14 章 定制字符畫 169
14.1 均勻采樣圖片顯示文字 170
14.2 均勻采樣顯示一段文字 171
14.3 調(diào)整均勻采樣位置 173
14.4 添加隨機(jī)性 175
14.5 小結(jié) 178
第 15 章 音樂可視化 179
15.1 利用Minim庫播放音樂 180
15.2 繪制音樂波形 181
15.3 繪制音樂頻譜波形 185
15.4 圓圈射線頻譜顯示 186
15.5 射燈連線 190
15.6 變大變小的眼睛 191
15.7 小結(jié) 192
第 16 章 堅持一百秒 193
16.1 反彈的小球 194
16.2 添加飛碟 196
16.3 背景音樂和得分顯示 197
16.4 攝像頭視頻獲取與處理 200
16.5 人臉控制飛碟移動 203
16.6 游戲效果的改進(jìn) 207
16.7 小結(jié) 208
附錄A 練習(xí)題參考答案 209
附錄B 語法知識索引 225