Python極客項目編程

Python極客項目編程
定價:414
NT $ 360
 

內容簡介

Python是一種解釋型、面向對象、動態數據類型的高級程序設計語言。通過Python編程,我們能夠解決現實生活中的很多任務。

本書通過14個有趣的項目,幫助和鼓勵讀者探索Python編程的世界。全書共14章,分別介紹了通過Python編程實現的一些有趣項目,包括解析iTunes播放列表、模擬人工生命、創建ASCII碼藝術圖、照片拼接、生成三維立體圖、創建粒子模擬的煙花噴泉效果、實現立體光線投射算法,以及用Python結合Arduino和樹莓派等硬件的電子項目。

本書並不介紹Python語言的基礎知識,而是通過一系列不簡單的項目,展示如何用Python來解決各種實際問題,以及如何使用一些流行的Python庫。

本書適合那些想要通過Python編程來進行嘗試和探索的讀者,適合了解基本的Python語法和基本的編程概念的讀者進一步學習,對於Python程序員有一定的啟發和參考價值。

Mahesh Venkitachalam是一位擁有二十年編程經驗的軟件工程師。他從八年級就開始培養對技術的熱情,匯集成了他受歡迎的電子和編程博客:electronut. in。
 

目錄

第一部分熱身運動
第1章解析iTunes播放列表3
1.1 iTunes播放列表文件剖析 3
1.2 所需模塊 5
1.3 代碼 5
1.3.1 查找重復 5
1.3.2 提取重復 6
1.3.3 查找多個播放列表中共同的音軌 7
1.3.4 收集統計信息 8
1.3.5 繪制數據 8
1.3.6 命令行選項 9
1.4 完整代碼 10
1.5 運行程序 13
1.6 小結 14
1.7 實驗 14
第2章 萬花尺 15
2.1 參數方程 16
2.1.1 萬花尺方程 17
2.1.2 海龜畫圖 19
2.2 所需模塊 20
2.3 代碼 20
2.3.1 Spiro構造函數 20
2.3.2 設置函數 21
2.3.3 restart()方法 21
2.3.4 draw()方法 22
2.3.5 創建動畫 22
2.3.5 SpiroAnimator類 23
2.3.5 genRandomParams()方法 24
2.3.6 重新啟動程序 24
2.3.7 update()方法 25
2.3.8 顯示或隱藏光標 25
2.3.9 保存曲線 25
2.3.10 解析命令行參數和初始化 26
2.4 完整代碼 27
2.5 運行萬花尺動畫 32
2.6 小結 33
2.7 實驗 33
第二部分 模擬生命
第3章 Conway生命游戲 37
3.1 工作原理 38
3.2 所需模塊 39
3.3 代碼 40
3.3.1 表示網格 40
3.3.2 初始條件 41
3.3.3 邊界條件 41
3.3.4 實現規則 42
3.3.5 向程序發送命令行參數 43
3.3.6 初始化模擬 43
3.4 完整代碼 44
3.5 運行模擬人生的游戲 46
3.6 小結 47
3.7 實驗 47
第4章 用Karplus—Strong算法產生音樂泛音 49
4.1 工作原理 51
4.1.1 模擬 51
4.1.2 創建WAV文件 52
4.1.3 小調五聲音階 53
4.2 所需模塊 54
4.3 代碼 54
4.3.1 用deque實現環形緩沖區 54
4.3.2 實現Karplus—Strong算法 55
4.3.3 寫WAV文件 56
4.3.4 用pygame播放WAV文件 56
4.3.5 main()方法 57
4.4 完整代碼 58
4.5 運行撥弦模擬 61
4.6 小結 62
4.7 實驗 62
第5章 類鳥群:仿真鳥群 63
5.1 工作原理 64
5.2 所需模塊 64
5.3 代碼 64
5.3.1 計算類鳥群的位置和速度 65
5.3.2 設置邊界條件 66
5.3.3 繪制類鳥群 67
5.3.4 應用類鳥群規則 68
5.3.5 添加個體 70
5.3.6 驅散類鳥群 71
5.3.7 命令行參數 71
5.3.8 Boids類 71
5.4 完整代碼 72
5.5 運行類鳥群模擬 75
5.6 小結 76
5.7 實驗 76
第三部分 圖片之樂
第6章 ASCII文本圖形 79
6.1 工作原理 80
6.2 所需模塊 81
6.3 代碼 81
6.3.1 定義灰度等級和網格 82
6.3.2 計算平均亮度 82
6.3.3 從圖像生成ASCII內容 83
6.3.4 命令行選項 84
6.3.5 將ASCII文本圖形字符串寫入文本文件 84
6.4 完整代碼 85
6.5 運行ASCII文本圖形生成程序 87
6.6 小結 87
6.7 實驗 88
第7章 照片馬賽克 89
7.1 工作原理 90
7.1.1 分割目標圖像 90
7.1.2 平均顏色值 91
7.1.3 匹配圖像 91
7.2 所需模塊 92
7.3 代碼 92
7.3.1 讀入小塊圖像 92
7.3.2 計算輸入圖像的平均顏色值 93
7.3.3 將目標圖像分割成網格 93
7.3.4 尋找小塊的*佳匹配 94
7.3.5 創建圖像網格 95
7.3.6 創建照片馬賽克 96
7.3.7 添加命令行選項 97
7.3.8 控制照片馬賽克的大小 97
7.4 完整代碼 98
7.6 運行照片馬賽克生成程序 102
7.7 小結 103
7.7 實驗 103
第8章 三維立體畫 105
8.1 工作原理 106
8.1.1 感知三維立體畫中的深度 106
8.1.2 深度圖 108
8.2 所需模塊 109
8.3 代碼 109
8.3.1 重復給定的平鋪圖像 109
8.3.2 從創建隨機圓平鋪 110
8.3.3 創建三維立體畫 111
8.3.4 命令行選項 112
8.4 完整代碼 113
8.5 運行三維立體畫生成程序 115
8.6 小結 117
8.7 實驗 117
第四部分 走進三維
第9章 理解OpenGL 121
9.1 老式OpenGL 122
9.2 現代OpenGL:三維圖形管線 124
9.2.1 幾何圖元 124
9.2.2 三維變換 125
9.2.3 着色器 127
9.2.4 頂點緩沖區 128
9.2.5 紋理貼圖 129
9.2.6 顯示OpenGL 129
9.3 所需模塊 130
9.4 代碼 130
9.4.1 創建OpenGL窗口 130
9.4.2 設置回調 131
9.4.3 Scene類 133
9.5 完整代碼 137
9.6 運行OpenGL應用程序 142
9.7 小結 143
9.8 實驗 143
第10章 粒子系統 145
10.1 工作原理 146
10.1.1 為粒子運動建模 147
10.1.2 設置最大范圍 147
10.1.3 渲染粒子 149
10.1.4 利用OpenGL混合來創建更逼真火花 149
10.1.5 使用公告板 150
10.1.6 生成火花動畫 151
10.2 所需模塊 151
10.3 粒子系統的代碼 151
10.3.1 定義粒子的幾何形狀 152
10.3.2 為粒子定義時間延遲數組 153
10.3.3 設置粒子初始速度 153
10.3.4 創建頂點着色器 154
10.3.5 創建片段着色器 156
10.3.6 渲染 156
10.3.7 Camera類 158
10.4 粒子系統完整代碼 158
10.5 盒子代碼 164
10.6 主程序代碼 166
10.6.1 每步更新這些粒子 167
10.6.2 鍵盤處理程序 168
10.6.3 管理主程序循環 168
10.7 完整主程序代碼 169
10.8 運行程序 172
10.9 小結 172
10.10 實驗 172
第11章 體渲染 173
11.1 工作原理 174
11.1.1 數據格式 174
11.1.2 生成光線 175
11.1.3 顯示OpenGL窗口 177
11.2 所需模塊 178
11.3 項目代碼概述 178
11.4 生成三維紋理 178
11.5 完整的三維紋理代碼 180
11.6 生成光線 181
11.6.1 定義顏色立方體的幾何形狀 182
11.6.2 創建幀緩沖區對象 184
11.6.3 渲染立方體的背面 185
11.6.4 渲染立方體的正面 185
11.6.5 渲染整個立方體 186
11.6.6 調整大小處理程序 187
11.7 完整的光線生成代碼 187
11.8 體光線投射 192
11.8.1 頂點着色器 194
11.8.2 片段着色器 194
11.9 完整的體光線投射代碼 196
11.10 二維切片 199
11.10.1 頂點着色器 201
11.10.2 片段着色器 202
11.10.3 針對二維切片的用戶界面 202
11.11 完整的二維切片代碼 203
11.12 代碼整合 206
11.13 完整的主文檔代碼 207
11.14 運行程序 209
11.15 小結 210
11.16 實驗 210
第五部分 玩硬件
第12章 Arduino簡介 215
12.1 Arduino 216
12.2 Arduino生態系統 217
12.2.1 語言 218
12.2.2 IDE 218
12.2.3 社區 218
12.2.4 外設 219
12.3 所需模塊 219
12.4 搭建感光電路 219
12.4.1 電路工作原理 219
12.4.2 Arduino程序 220
12.4.3 創建實時圖表 221
12.5 Python代碼 222
12.6 完整的Python代碼 224
12.7 運行程序 226
12.8 小結 227
12.9 實驗 227
……
第13章 激光音樂秀 229
第14章 基於樹莓派的天氣監控器 253
附錄A 軟件安裝 275
附錄B 基礎實用電子學 281
附錄C 樹莓派的建議和技巧 289
網路書店 類別 折扣 價格
  1. 新書
    87
    $360