注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計Python極客項目編程(第2版)

Python極客項目編程(第2版)

Python極客項目編程(第2版)

定 價:¥69.80

作 者: [美] 馬赫什·文基塔查拉姆(Mahesh Venkitachalam)
出版社: 人民郵電出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787115642363 出版時間: 2024-07-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  Python是一種解釋型、面向?qū)ο?、動態(tài)數(shù)據(jù)類型的高級程序設(shè)計語言,通過Python編程能夠解決現(xiàn)實生活中的很多問題。本書并不介紹Python語言的基礎(chǔ)知識,而是通過一系列有趣的項目,展示如何用Python解決各種實際問題,以及如何使用一些流行的Python庫。本書共15章,每章講解一個有趣的Python項目,這些項目可以分成5個部分:第一部分是熱身,包括科赫雪花、繁花曲線;第二部分是模擬生命,包括康威生命游戲、使用Karplus-Strong算法生成泛音、群體行為模擬;第三部分是好玩的圖形,包括文本圖形、照片馬賽克、裸眼立體畫;第四部分是走進三維,包括理解OpenGL、圓環(huán)面上的康威生命游戲、體渲染;第五部分是玩轉(zhuǎn)硬件,包括在樹莓派Pico上實現(xiàn)Karplus-Strong算法、樹莓派激光音樂秀、物聯(lián)網(wǎng)花園、樹莓派音頻機器學(xué)習(xí)。此外,本書還通過附錄介紹如何安裝Python和設(shè)置樹莓派。本書適合已經(jīng)了解了基本的Python語法和編程知識、想要嘗試和探索通過Python編程解決實際問題的讀者閱讀,也可作為Python初學(xué)者練習(xí)項目開發(fā)的參考用書。

作者簡介

  馬赫什·文基塔查拉姆(Mahesh Venkitachalam)是一名計算機圖形學(xué)和嵌入式系統(tǒng)顧問,擁有二十余年從業(yè)經(jīng)驗。他是Electronut Labs的創(chuàng)始人,該公司以開發(fā)充滿創(chuàng)意的開源硬件著稱。他經(jīng)常撰寫有關(guān)編程和電子技術(shù)的博客。

圖書目錄

第 一部分 熱身
第 1 章 科赫雪花 2
1.1 工作原理 2
1.1.1 使用遞歸 2
1.1.2 構(gòu)建科赫雪花 3
1.1.3 使用海龜繪圖法繪圖 6
1.2 需求 8
1.3 代碼 8
1.3.1 計算點的坐標(biāo) 8
1.3.2 遞歸 8
1.3.3 繪制片段 9
1.3.4 編寫函數(shù) main() 9
1.4 運行程序 10
1.5 小結(jié) 10
1.6 實驗 11
1.7 完整代碼 11
第 2 章 繁花曲線 13
2.1 工作原理 13
2.1.1 理解參數(shù)方程 13
2.1.2 使用海龜繪圖法繪制曲線 15
2.2 需求 16
2.3 代碼 17
2.3.1 繪制繁花曲線 17
2.3.2 協(xié)調(diào)動畫 20
2.3.3 保存曲線 22
2.3.4 分析命令行參數(shù)及初始化 23
2.4 運行程序 24
2.5 小結(jié) 25
2.6 實驗 26
2.7 完整代碼 26
第二部分 模擬生命
第 3 章 康威生命游戲 32
3.1 工作原理 32
3.2 需求 34
3.3 代碼 34
3.3.1 顯示網(wǎng)格 34
3.3.2 設(shè)置初始狀態(tài) 35
3.3.3 實現(xiàn)邊界條件 36
3.3.4 實現(xiàn)規(guī)則 37
3.3.5 向程序傳遞命令行參數(shù) 37
3.3.6 初始化 38
3.4 運行程序 38
3.5 小結(jié) 40
3.6 實驗 40
3.7 完整代碼 40
第 4 章 使用 Karplus-Strong 算法生成泛音 43
4.1 工作原理 442
4.1.1 模擬 45
4.1.2 WAV 文件格式 46
4.1.3 小調(diào)五聲音階 47
4.2 需求 48
4.3 代碼 48
4.3.1 使用 deque 實現(xiàn)環(huán)形緩沖區(qū) 48
4.3.2 實現(xiàn) Karplus-Strong算法 48
4.3.3 寫入 WAV 文件 50
4.3.4 使用 PyAudio 播放 WAV文件 50
4.3.5 創(chuàng)建音符及分析參數(shù) 52
4.4 運行彈撥樂器模擬程序 53
4.5 小結(jié) 54
4.6 實驗 54
4.7 完整代碼 54
第 5 章 群體行為模擬 58
5.1 工作原理 58
5.2 需求 59
5.3 代碼 59
5.3.1 初始化模擬 59
5.3.2 設(shè)置邊界條件 60
5.3.3 繪制個體 62
5.3.4 應(yīng)用群體行為規(guī)則 63
5.3.5 影響模擬 67
5.3.6 分步模擬 68
5.3.7 分析參數(shù)及實例化Boids 類 69
5.4 運行群體行為模擬程序 69
5.5 小結(jié) 69
5.6 實驗 70
5.7 完整代碼 70
第三部分 好玩的圖形
第 6 章 文本圖形 74
6.1 工作原理 75
6.2 需求 76
6.3 代碼 76
6.3.1 定義灰度標(biāo)尺和網(wǎng)格 76
6.3.2 計算平均亮度 77
6.3.3 根據(jù)圖像生成 ASCII 內(nèi)容 77
6.3.4 定義命令行參數(shù) 78
6.3.5 將表示文本圖形的字符串寫入文本文件 79
6.4 運行文本圖形生成程序 79
6.5 小結(jié) 80
6.6 實驗 80
6.7 完整代碼 80
第 7 章 照片馬賽克 83
7.1 工作原理 83
7.1.1 分割目標(biāo)圖像 84
7.1.2 計算平均 RGB 值 84
7.1.3 匹配圖像 85
7.2 需求 87
7.3 代碼 87
7.3.1 讀入輸入圖像 87
7.3.2 計算圖像的平均 RGB 值 88
7.3.3 將目標(biāo)圖像分割為網(wǎng)格 88
7.3.4 查找與分片最匹配的圖像 89
7.3.5 創(chuàng)建圖像網(wǎng)格 90
7.3.6 創(chuàng)建照片馬賽克 91
7.3.7 編寫函數(shù) main() 93
7.4 運行照片馬賽克生成程序 94
7.5 小結(jié) 95
7.6 實驗 95
7.7 完整代碼 95
第 8 章 裸眼立體畫 101
8.1 工作原理 102
8.1.1 感知裸眼立體畫中的深度 102
8.1.2 使用深度圖 103
8.1.3 平移像素 105
8.2 需求 106
8.3 代碼 106
8.3.1 創(chuàng)建由隨機圓組成的分片 106
8.3.2 重復(fù)分片 107
8.3.3 創(chuàng)建裸眼立體畫 108
8.3.4 提供命令行參數(shù) 109
8.4 運行裸眼立體畫生成程序 109
8.5 小結(jié) 110
8.6 實驗 111
8.7 完整代碼 111
第四部分 走進三維
第 9 章 理解 OpenGL 116
9.1 OpenGL 的工作原理 117
9.1.1 圖元 117
9.1.2 三維變換 118
9.1.3 著色器 120
9.1.4 頂點緩存 121
9.1.5 紋理映射 121
9.1.6 OpenGL 上下文 122
9.2 需求 122
9.3 代碼 122
9.3.1 RenderWindow 類 123
9.3.2 Scene 類 125
9.3.3 輔助函數(shù) 129
9.4 運行 OpenGL 應(yīng)用程序 130
9.5 小結(jié) 130
9.6 實驗 130
9.7 完整代碼 131
第 10 章 圓環(huán)面上的康威生命游戲 136
10.1 工作原理 136
10.1.1 計算頂點 136
10.1.2 計算光照法線 138
10.1.3 渲染 139
10.1.4 給三角形帶著色 140
10.1.5 控制相機 140
10.1.6 將網(wǎng)格映射到圓環(huán)面 141
10.2 需求 142
10.3 代碼 142
10.3.1 渲染圓環(huán)面 142
10.3.2 實現(xiàn)康威生命游戲模擬 148
10.3.3 創(chuàng)建相機 149
10.3.4 整合代碼 151
10.4 運行三維版康威生命游戲模擬 153
10.5 小結(jié) 154
10.6 實驗 155
10.7 完整的圓環(huán)面渲染代碼 155
10.8 完整的康威生命游戲模擬代碼 160
10.9 完整的相機創(chuàng)建代碼 161
10.10 RenderWindow 類的完整代碼 162
第 11 章 體渲染 166
11.1 工作原理 166
11.1.1 數(shù)據(jù)格式 167
11.1.2 生成光線 167
11.1.3 OpenGL 窗口 169
11.2 需求 169
11.3 代碼 169
11.3.1 生成三維紋理 170
11.3.2 生成光線 171
11.3.3 實現(xiàn)體光線投射算法 176
11.3.4 顯示二維切片 180
11.3.5 整合代碼 183
11.4 運行程序 185
11.5 小結(jié) 185
11.6 實驗 185
11.7 完整的三維紋理生成代碼 186
11.8 完整的光線生成代碼 187
11.9 完整的體光線投射算法代碼 192
11.10 顯示二維切片的完整代碼 195
11.11 完整的主文件代碼 198
第五部分 玩轉(zhuǎn)硬件
第 12 章 在樹莓派 Pico 上實現(xiàn)Karplus-Strong 算法 202
12.1 工作原理 203
12.1.1 輸入和輸出 203
12.1.2 I2S 協(xié)議 204
12.2 需求 205
12.2.1 組裝硬件 205
12.2.2 安裝 MicroPython 207
12.3 代碼 207
12.3.1 設(shè)置 207
12.3.2 生成音符 208
12.3.3 播放音頻 210
12.3.4 編寫函數(shù) main() 211
12.4 運行程序 212
12.5 小結(jié) 213
12.6 實驗 213
12.7 完整代碼 214
第 13 章 樹莓派激光音樂秀 218
13.1 工作原理 218
13.1.1 使用激光生成圖案 219
13.1.2 使用快速傅里葉變換分析音頻 222
13.2 需求 224
13.2.1 在樹莓派上安裝系統(tǒng)和軟件 224
13.2.2 搭建激光秀裝置 225
13.2.3 連接硬件 226
13.3 代碼 228
13.3.1 設(shè)置 228
13.3.2 控制硬件 229
13.3.3 處理音頻 230
13.3.4 測試電機 233
13.3.5 整合代碼 234
13.4 運行激光音樂秀程序 235
13.5 小結(jié) 236
13.6 實驗 236
13.7 完整代碼 237
第 14 章 物聯(lián)網(wǎng)花園 242
14.1 工作原理 242
14.1.1 低功耗藍牙 243
14.1.2 Web 框架 Bottle 245
14.1.3 SQLite 數(shù)據(jù)庫 246
14.2 需求 247
14.2.1 在樹莓派上安裝系統(tǒng)和軟件 247
14.2.2 安裝 CircuitPython 247
14.2.3 設(shè)置 IFTTT 服務(wù) 248
14.3 代碼 249
14.3.1 CircuitPython 代碼 249
14.3.2 BLE 掃描器代碼 252
14.3.3 Web 服務(wù)器代碼 258
14.3.4 主程序文件 264
14.4 運行物聯(lián)網(wǎng)花園程序 266
14.5 小結(jié) 267
14.6 實驗 267
14.7 完整的 CircuitPython 代碼 268
14.8 完整的 BLE 掃描器代碼 270
14.9 完整的 Python Web 服務(wù)器代碼 273
14.10 完整的主程序代碼 275
第 15 章 樹莓派音頻機器學(xué)習(xí) 277
15.1 機器學(xué)習(xí)概述 277
15.2 工作原理 278
15.2.1 聲譜圖 280
15.2.2 在樹莓派上推斷 281
15.3 需求 283
15.4 代碼 284
15.4.1 在 Colab 中訓(xùn)練模型 284
15.4.2 在樹莓派上使用模型 293
15.5 運行語音識別系統(tǒng) 301
15.6 小結(jié) 302
15.7 實驗 303
15.8 完整代碼 303
附錄 A 安裝 Python 309
A.1 獲取本書項目的源代碼 309
A.2 安裝 Python 和 Python 模塊 309
A.2.1 Windows 309
A.2.2 macOS 310
A.2.3 Linux 311
附錄 B 設(shè)置樹莓派 312
B.1 安裝操作系統(tǒng) 312
B.2 測試連接 314
B.3 使用 SSH 登錄樹莓派 315
B.4 安裝 Python 模塊 316
B.5 遠程使用 Visual Studio Code 316

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號