-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
深度學習
-
>
Unreal Engine 4藍圖完全學習教程
-
>
深入理解計算機系統-原書第3版
-
>
Word/Excel PPT 2013辦公應用從入門到精通-(附贈1DVD.含語音視頻教學+辦公模板+PDF電子書)
Python極客項目編程 版權信息
- ISBN:9787115449764
- 條形碼:9787115449764 ; 978-7-115-44976-4
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
Python極客項目編程 本書特色
Python是一種解釋型、面向對象、動態數據類型的高級程序設計語言。通過Python編程,我們能夠解決現實生活中的很多任務。 本書通過14個有趣的項目,幫助和鼓勵讀者探索Python編程的世界。全書共14章,分別介紹了通過Python編程實現的一些有趣項目,包括解析iTunes播放列表、模擬人工生命、創建ASCII碼藝術圖、照片拼接、生成三維立體圖、創建粒子模擬的煙花噴泉效果、實現立體光線投射算法,以及用Python結合Arduino和樹莓派等硬件的電子項目。本書并不介紹Python語言的基礎知識,而是通過一系列不簡單的項目,展示如何用Python來解決各種實際問題,以及如何使用一些流行的Python庫。 本書適合那些想要通過Python編程來進行嘗試和探索的讀者,適合了解基本的Python語法和基本的編程概念的讀者進一步學習,對于Python程序員有一定的啟發和參考價值。
Python極客項目編程 內容簡介
Python 是一種強大的編程語言,容易學習而且充滿樂趣。但掌握了基本知識后,接下來做什么? 本書包含了一組富有想象力的編程項目,它們將引導你用Python 來制作圖像和音樂、模擬現實世界的現象,并與 Arduino 和樹莓派這樣的硬件進行交互。你將學習使用常見的Python 工具和庫,如numpy、matplotlib 和pygame, 來完成以下工作: ● 利用參數方程和turtle模塊生成萬花尺圖案; ● 通過模擬頻率泛音在計算機上創作音樂; ● 將圖形圖像轉換為ASCII文本圖形; ● 編寫一個三維立體畫程序,生成隱藏在*圖案下的3D圖像; ● 通過探索粒子系統、透明度和廣告牌技術,利用OpenGL著色器制作逼真的動畫; ● 利用來自CT和MRI掃描的數據實現3D可視化; ● 將計算機連接到Arduino編程,創建響應音樂的激光秀。 通過本書,你可以享受作為極客的真正樂趣!
Python極客項目編程 目錄
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
13.1 用激光產生圖案 230
13.1.1 電機控制 230
13.1.2 快速傅里葉變換 232
13.2 所需模塊 233
13.2.1 搭建激光秀 234
13.2.2 連接電機驅動器 236
13.3 Arduino程序 237
13.3.1 配置Arduino數字
輸出引腳 238
13.3.2 主循環 238
13.3.3 停止電機 240
13.4 Python代碼 240
13.4.1 選擇音頻設備 241
13.4.2 從輸入設備讀取數據 241
13.4.3 計算數據流的FFT 242
13.4.4 從FFT值提取頻率
信息 243
13.4.5 將頻率轉換為電機
速度和方向 243
13.4.6 測試電機設置 244
13.4.7 命令行選項 245
13.4.8 手動測試 245
13.5 完整的Python代碼 246
13.6 運行程序 249
13.7 小結 250
13.8 實驗 250
第14章 基于樹莓派的天氣監控器 253
14.1 硬件 254
14.1.1 DHT11溫濕度傳感器 254
14.1.2 樹莓派 255
14.1.3 設置樹莓派 255
14.2 安裝和配置軟件 256
14.2.1 操作系統 257
14.2.2 初始配置 257
14.2.3 Wifi設置 257
14.2.4 設置編程環境 258
14.2.5 通過SSH連接 259
14.2.6 Web框架Bottle 259
14.2.7 用flot繪制 260
14.2.8 關閉樹莓派 261
14.3 搭建硬件 262
14.4 代碼 263
14.4.1 處理傳感器數據請求 264
14.4.2 繪制數據 264
14.4.3 update()方法 267
14.4.4 用于LED的JavaScript
處理程序 267
14.4.5 添加交互性 268
14.5 完整代碼 269
14.6 運行程序 272
14.7 小結 273
14.8 實驗 273
附錄A 軟件安裝 275
附錄B 基礎實用電子學 281
附錄C 樹莓派的建議和技巧 289
Python極客項目編程 作者簡介
Mahesh Venkitachalam是一位擁有二十年編程經驗的軟件工程師。 他從八年級就開始培養對技術的熱情,匯集成了他受歡迎的電子和編程博客:electronut.in。
- >
月亮虎
- >
李白與唐代文化
- >
二體千字文
- >
名家帶你讀魯迅:故事新編
- >
企鵝口袋書系列·偉大的思想20:論自然選擇(英漢雙語)
- >
史學評論
- >
莉莉和章魚
- >
伊索寓言-世界文學名著典藏-全譯本