Python极客项目编程9787115642363
正版图书,可开发票,请放心购买。
¥
48.86
7.0折
¥
69.8
全新
仅1件
作者(美)马赫什·文基塔查拉姆(Mahesh Venkitachalam)著
出版社人民邮电出版社
ISBN9787115642363
出版时间2024-06
装帧平装
开本16开
定价69.8元
货号16778292
上书时间2024-12-03
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
马赫什·文基塔查拉姆(Mahesh Venkitachalam)是一名计算机图形学和嵌入式系统顾问,拥有二十余年从业经验。他是Electronut Labs的创始人,该公司以开发充满创意的开源硬件著称。他经常撰写有关编程和电子技术的博客。
目录
第 一部分 热身 第 1 章 科赫雪花 2 1.1 工作原理 2 1.1.1 使用递归 2 1.1.2 构建科赫雪花 3 1.1.3 使用海龟绘图法绘图 6 1.2 需求 8 1.3 代码 8 1.3.1 计算点的坐标 8 1.3.2 递归 8 1.3.3 绘制片段 9 1.3.4 编写函数 main() 9 1.4 运行程序 10 1.5 小结 10 1.6 实验 11 1.7 完整代码 11 第 2 章 繁花曲线 13 2.1 工作原理 13 2.1.1 理解参数方程 13 2.1.2 使用海龟绘图法绘制曲线 15 2.2 需求 16 2.3 代码 17 2.3.1 绘制繁花曲线 17 2.3.2 协调动画 20 2.3.3 保存曲线 22 2.3.4 分析命令行参数及初始化 23 2.4 运行程序 24 2.5 小结 25 2.6 实验 26 2.7 完整代码 26 第二部分 模拟生命 第 3 章 康威生命游戏 32 3.1 工作原理 32 3.2 需求 34 3.3 代码 34 3.3.1 显示网格 34 3.3.2 设置初始状态 35 3.3.3 实现边界条件 36 3.3.4 实现规则 37 3.3.5 向程序传递命令行参数 37 3.3.6 初始化 38 3.4 运行程序 38 3.5 小结 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 小调五声音阶 47 4.2 需求 48 4.3 代码 48 4.3.1 使用 deque 实现环形缓冲区 48 4.3.2 实现 Karplus-Strong算法 48 4.3.3 写入 WAV 文件 50 4.3.4 使用 PyAudio 播放 WAV文件 50 4.3.5 创建音符及分析参数 52 4.4 运行弹拨乐器模拟程序 53 4.5 小结 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 设置边界条件 60 5.3.3 绘制个体 62 5.3.4 应用群体行为规则 63 5.3.5 影响模拟 67 5.3.6 分步模拟 68 5.3.7 分析参数及实例化Boids 类 69 5.4 运行群体行为模拟程序 69 5.5 小结 69 5.6 实验 70 5.7 完整代码 70 第三部分 好玩的图形 第 6 章 文本图形 74 6.1 工作原理 75 6.2 需求 76 6.3 代码 76 6.3.1 定义灰度标尺和网格 76 6.3.2 计算平均亮度 77 6.3.3 根据图像生成 ASCII 内容 77 6.3.4 定义命令行参数 78 6.3.5 将表示文本图形的字符串写入文本文件 79 6.4 运行文本图形生成程序 79 6.5 小结 80 6.6 实验 80 6.7 完整代码 80 第 7 章 照片马赛克 83 7.1 工作原理 83 7.1.1 分割目标图像 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 将目标图像分割为网格 88 7.3.4 查找与分片最匹配的图像 89 7.3.5 创建图像网格 90 7.3.6 创建照片马赛克 91 7.3.7 编写函数 main() 93 7.4 运行照片马赛克生成程序 94 7.5 小结 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 创建由随机圆组成的分片 106 8.3.2 重复分片 107 8.3.3 创建裸眼立体画 108 8.3.4 提供命令行参数 109 8.4 运行裸眼立体画生成程序 109 8.5 小结 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 辅助函数 129 9.4 运行 OpenGL 应用程序 130 9.5 小结 130 9.6 实验 130 9.7 完整代码 131 第 10 章 圆环面上的康威生命游戏 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 将网格映射到圆环面 141 10.2 需求 142 10.3 代码 142 10.3.1 渲染圆环面 142 10.3.2 实现康威生命游戏模拟 148 10.3.3 创建相机 149 10.3.4 整合代码 151 10.4 运行三维版康威生命游戏模拟 153 10.5 小结 154 10.6 实验 155 10.7 完整的圆环面渲染代码 155 10.8 完整的康威生命游戏模拟代码 160 10.9 完整的相机创建代码 161 10.10 RenderWindow 类的完整代码 162 第 11 章 体渲染 166 11.1 工作原理 166 11.1.1 数据格式 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 实现体光线投射算法 176 11.3.4 显示二维切片 180 11.3.5 整合代码 183 11.4 运行程序 185 11.5 小结 185 11.6 实验 185 11.7 完整的三维纹理生成代码 186 11.8 完整的光线生成代码 187 11.9 完整的体光线投射算法代码 192 11.10 显示二维切片的完整代码 195 11.11 完整的主文件代码 198 第五部分 玩转硬件 第 12 章 在树莓派 Pico 上实现Karplus-Strong 算法 202 12.1 工作原理 203 12.1.1 输入和输出 203 12.1.2 I2S 协议 204 12.2 需求 205 12.2.1 组装硬件 205 12.2.2 安装 MicroPython 207 12.3 代码 207 12.3.1 设置 207 12.3.2 生成音符 208 12.3.3 播放音频 210 12.3.4 编写函数 main() 211 12.4 运行程序 212 12.5 小结 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 在树莓派上安装系统和软件 224 13.2.2 搭建激光秀装置 225 13.2.3 连接硬件 226 13.3 代码 228 13.3.1 设置 228 13.3.2 控制硬件 229 13.3.3 处理音频 230 13.3.4 测试电机 233 13.3.5 整合代码 234 13.4 运行激光音乐秀程序 235 13.5 小结 236 13.6 实验 236 13.7 完整代码 237 第 14 章 物联网花园 242 14.1 工作原理 242 14.1.1 低功耗蓝牙 243 14.1.2 Web 框架 Bottle 245 14.1.3 SQLite 数据库 246 14.2 需求 247 14.2.1 在树莓派上安装系统和软件 247 14.2.2 安装 CircuitPython 247 14.2.3 设置 IFTTT 服务 248 14.3 代码 249 14.3.1 CircuitPython 代码 249 14.3.2 BLE 扫描器代码 252 14.3.3 Web 服务器代码 258 14.3.4 主程序文件 264 14.4 运行物联网花园程序 266 14.5 小结 267 14.6 实验 267 14.7 完整的 CircuitPython 代码 268 14.8 完整的 BLE 扫描器代码 270 14.9 完整的 Python Web 服务器代码 273 14.10 完整的主程序代码 275 第 15 章 树莓派音频机器学习 277 15.1 机器学习概述 277 15.2 工作原理 278 15.2.1 声谱图 280 15.2.2 在树莓派上推断 281 15.3 需求 283 15.4 代码 284 15.4.1 在 Colab 中训练模型 284 15.4.2 在树莓派上使用模型 293 15.5 运行语音识别系统 301 15.6 小结 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 设置树莓派 312 B.1 安装操作系统 312 B.2 测试连接 314 B.3 使用 SSH 登录树莓派 315 B.4 安装 Python 模块 316 B.5 远程使用 Visual Studio Code 316
内容摘要
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言,通过Python编程能够解决现实生活中的很多问题。本书并不介绍Python语言的基础知识,而是通过一系列有趣的项目,展示如何用Python解决各种实际问题,以及如何使用一些流行的Python库。
本书共15章,每章讲解一个有趣的Python项目,这些项目可以分成5个部分:第一部分是热身,包括科赫雪花、繁花曲线;第二部分是模拟生命,包括康威生命游戏、使用Karplus-Strong算法生成泛音、群体行为模拟;第三部分是好玩的图形,包括文本图形、照片马赛克、裸眼立体画;第四部分是走进三维,包括理解OpenGL、圆环面上的康威生命游戏、体渲染;第五部分是玩转硬件,包括在树莓派Pico上实现Karplus-Strong算法、树莓派激光音乐秀、物联网花园、树莓派音频机器学习。此外,本书还通过附录介绍如何安装Python和设置树莓派。
本书适合已经了解了基本的Python语法和编程知识、想要尝试和探索通过Python编程解决实际问题的读者阅读,也可作为Python初学者练习项目开发的参考用书。
主编推荐
Python以其简洁的语法、强大的功能、较低的学习门槛而受到广大编程爱好者的喜爱。但是,学习完Python的基础语法和编程知识后,如何提升Python编程技能呢? 本书通过15个有趣且富有创造性的编程项目,教你用Python生成图像和音乐、模拟现实世界中的现象,并与树莓派等硬件进行交互。 本书项目涵盖绘画、图像处理、3D渲染、树莓派、物联网、AI机器学习等,讲解众多实用的Python库:NumPy、Matplotlib、scipy、PyAudio、Pillow、sqlite3、turtle、math、argparse、OpenGL、tensorflow…… ● 使用海龟绘图法绘制复杂的分形图案和繁花曲线; ● 模拟弹拨乐器的声音生成音乐; ● 设计引人入胜的元胞自动机并实现群体行为模拟; ● 实现二维和三维空间中的康威生命游戏; ● 将普通图像转换为文本图形、照片马赛克和令人惊叹的裸眼立体画; ● 探索3D图形,从基本的形状渲染到MRI和CT扫描数据的可视化; ● 使用树莓派创建随音乐起舞的激光表演和物联网花园监测器; ● 构建使用机器学习驱动的语音识别系统。 每个项目都按照【讲解原理-分析需求-代码精讲-知识小结-扩展练习-完整代码】的方式进行讲解,并提供可下载运行的源代码,赠送Python排障手册+程序员面试手册 本书相比上一版进行了如下修订: (1)新增 替换5个全新项目,紧跟前沿热点 (2)基于Python 3.9全面更新所有项目 (3)采用更新、更实用的Python方法和算法 (4)使用Anaconda简化Python安装 (5)简化硬件项目的组装过程,专注于Python编程
精彩内容
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言,通过Python编程能够解决现实生活中的很多问题。本书并不介绍Python语言的基础知识,而是通过一系列有趣的项目,展示如何用Python解决各种实际问题,以及如何使用一些流行的Python库。 本书共15章,每章讲解一个有趣的Python项目,这些项目可以分成5个部分:第一部分是热身,包括科赫雪花、繁花曲线;第二部分是模拟生命,包括康威生命游戏、使用Karplus-Strong算法生成泛音、群体行为模拟;第三部分是好玩的图形,包括文本图形、照片马赛克、裸眼立体画;第四部分是走进三维,包括理解OpenGL、圆环面上的康威生命游戏、体渲染;第五部分是玩转硬件,包括在树莓派Pico上实现Karplus-Strong算法、树莓派激光音乐秀、物联网花园、树莓派音频机器学习。此外,本书还通过附录介绍如何安装Python和设置树莓派。 本书适合已经了解了基本的Python语法和编程知识、想要尝试和探索通过Python编程解决实际问题的读者阅读,也可作为Python初学者练习项目开发的参考用书。
— 没有更多了 —
以下为对购买帮助不大的评价