Python极客项目编程 ([美] Mahesh Venkitachalam)(Z-Library)
Author: [美] Mahesh Venkitachalam
Python
No Description
📄 File Format:
PDF
💾 File Size:
9.9 MB
5
Views
0
Downloads
0.00
Total Donations
📄 Text Preview (First 20 pages)
ℹ️
Registered users can read the full content for free
Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.
📄 Page
1
(This page has no text content)
📄 Page
2
⽬ 录 版权信息 版权声明 内容提要 致谢 前⾔ 第⼀部分 热⾝运动 第1章 解析iTunes播放列表 1.1 iTunes播放列表⽂件剖析 1.2 所需模块 1.3 代码 1.3.1 查找重复 1.3.2 提取重复 1.3.3 查找多个播放列表中共同的⾳轨 1.3.4 收集统计信息 1.3.5 绘制数据 1.3.6 命令⾏选项 1.4 完整代码 1.5 运⾏程序 1.6 ⼩结
📄 Page
3
1.7 实验 第2章 万花尺 2.1 参数⽅程 2.1.1 万花尺⽅程 2.1.2 海⻳画图 2.2 所需模块 2.3 代码 2.3.1 Spiro构造函数 2.3.2 设置函数 2.3.3 restart()⽅法 2.3.4 draw()⽅法 2.3.5 创建动画 2.3.6 SpiroAnimator类 2.3.7 genRandomParams()⽅法 2.3.8 重新启动程序 2.3.9 update()⽅法 2.3.10 显⽰或隐藏光标 2.3.11 保存曲线 2.3.12 解析命令⾏参数和初始化 2.4 完整代码 2.5 运⾏万花尺动画 2.6 ⼩结 2.7 实验 第⼆部分 模拟⽣命
📄 Page
4
第3章 Conway⽣命游戏 3.1 ⼯作原理 3.2 所需模块 3.3 代码 3.3.1 表⽰⽹格 3.3.2 初始条件 3.3.3 边界条件 3.3.4 实现规则 3.3.5 向程序发送命令⾏参数 3.3.6 初始化模拟 3.4 完整代码 3.5 运⾏模拟⼈⽣的游戏 3.6 ⼩结 3.7 实验 第4章 ⽤Karplus-Strong算法产⽣⾳乐泛⾳ 4.1 ⼯作原理 4.1.1 模拟 4.1.2 创建WAV⽂件 4.1.3 ⼩调五声⾳阶 4.2 所需模块 4.3 代码 4.3.1 ⽤deque实现环形缓冲区 4.3.2 实现Karplus-Strong算法 4.3.3 写WAV⽂件 4.3.4 ⽤pygame播放WAV⽂件
📄 Page
5
4.3.5 main()⽅法 4.4 完整代码 4.5 运⾏拨弦模拟 4.6 ⼩结 4.7 实验 第5章 类⻦群:仿真⻦群 5.1 ⼯作原理 5.2 所需模块 5.3 代码 5.3.1 计算类⻦群的位置和速度 5.3.2 设置边界条件 5.3.3 绘制类⻦群 5.3.4 应⽤类⻦群规则 5.3.5 添加个体 5.3.6 驱散类⻦群 5.3.7 命令⾏参数 5.3.8 Boids类 5.4 完整代码 5.5 运⾏类⻦群模拟 5.6 ⼩结 5.7 实验 第三部分 图⽚之乐 第6章 ASCII⽂本图形
📄 Page
6
6.1 ⼯作原理 6.2 所需模块 6.3 代码 6.3.1 定义灰度等级和⽹格 6.3.2 计算平均亮度 6.3.3 从图像⽣成ASCII内容 6.3.4 命令⾏选项 6.3.5 将ASCII⽂本图形字符串写⼊⽂本⽂件 6.4 完整代码 6.5 运⾏ASCII⽂本图形⽣成程序 6.6 ⼩结 6.7 实验 第7章 照⽚⻢赛克 7.1 ⼯作原理 7.1.1 分割⽬标图像 7.1.2 平均颜⾊值 7.1.3 匹配图像 7.2 所需模块 7.3 代码 7.3.1 读⼊⼩块图像 7.3.2 计算输⼊图像的平均颜⾊值 7.3.3 将⽬标图像分割成⽹格 7.3.4 寻找⼩块的最佳匹配 7.3.5 创建图像⽹格 7.3.6 创建照⽚⻢赛克
📄 Page
7
7.3.7 添加命令⾏选项 7.3.8 控制照⽚⻢赛克的⼤⼩ 7.4 完整代码 7.5 运⾏照⽚⻢赛克⽣成程序 7.6 ⼩结 7.7 实验 第8章 三维⽴体画 8.1 ⼯作原理 8.1.1 感知三维⽴体画中的深度 8.1.2 深度图 8.2 所需模块 8.3 代码 8.3.1 重复给定的平铺图像 8.3.2 从随机圆创建平铺图像 8.3.3 创建三维⽴体画 8.3.4 命令⾏选项 8.4 完整代码 8.5 运⾏三维⽴体画⽣成程序 8.6 ⼩结 8.7 实验 第四部分 ⾛进三维 第9章 理解OpenGL 9.1 ⽼式OpenGL
📄 Page
8
9.2 现代OpenGL:三维图形管线 9.2.1 ⼏何图元 9.2.2 三维变换 9.2.3 着⾊器 9.2.4 顶点缓冲区 9.2.5 纹理贴图 9.2.6 显⽰OpenGL 9.3 所需模块 9.4 代码 9.4.1 创建OpenGL窗⼝ 9.4.2 设置回调 9.4.3 Scene类 9.5 完整代码 9.6 运⾏OpenGL应⽤程序 9.7 ⼩结 9.8 实验 第10章 粒⼦系统 10.1 ⼯作原理 10.1.1 为粒⼦运动建模 10.1.2 设置最⼤范围 10.1.3 渲染粒⼦ 10.1.4 利⽤OpenGL混合来创建更逼真⽕花 10.1.5 使⽤公告板 10.1.6 ⽣成⽕花动画 10.2 所需模块
📄 Page
9
10.3 粒⼦系统的代码 10.3.1 定义粒⼦的⼏何形状 10.3.2 为粒⼦定义时间延迟数组 10.3.3 设置粒⼦初始速度 10.3.4 创建顶点着⾊器 10.3.5 创建⽚段着⾊器 10.3.6 渲染 10.3.7 Camera类 10.4 粒⼦系统完整代码 10.5 盒⼦代码 10.6 主程序代码 10.6.1 每步更新这些粒⼦ 10.6.2 键盘处理程序 10.6.3 管理主程序循环 10.7 完整主程序代码 10.8 运⾏程序 10.9 ⼩结 10.10 实验 第11章 体渲染 11.1 ⼯作原理 11.1.1 数据格式 11.1.2 ⽣成光线 11.1.3 显⽰OpenGL窗⼝ 11.2 所需模块 11.3 项⽬代码概述
📄 Page
10
11.4 ⽣成三维纹理 11.5 完整的三维纹理代码 11.6 ⽣成光线 11.6.1 定义颜⾊⽴⽅体的⼏何形状 11.6.2 创建帧缓冲区对象 11.6.3 渲染⽴⽅体的背⾯ 11.6.4 渲染⽴⽅体的正⾯ 11.6.5 渲染整个⽴⽅体 11.6.6 调整⼤⼩处理程序 11.7 完整的光线⽣成代码 11.8 体光线投射 11.8.1 顶点着⾊器 11.8.2 ⽚段着⾊器 11.9 完整的体光线投射代码 11.10 ⼆维切⽚ 11.10.1 顶点着⾊器 11.10.2 ⽚段着⾊器 11.10.3 针对⼆维切⽚的⽤户界⾯ 11.11 完整的⼆维切⽚代码 11.12 代码整合 11.13 完整的主⽂件代码 11.14 运⾏程序 11.15 ⼩结 11.16 实验 第五部分 玩转硬件
📄 Page
11
第12章 Arduino简介 12.1 Arduino 12.2 Arduino⽣态系统 12.2.1 语⾔ 12.2.2 IDE 12.2.3 社区 12.2.4 外设 12.3 所需模块 12.4 搭建感光电路 12.4.1 电路⼯作原理 12.4.2 Arduino程序 12.4.3 创建实时图表 12.5 Python代码 12.6 完整的Python代码 12.7 运⾏程序 12.8 ⼩结 12.9 实验 第13章 激光⾳乐秀 13.1 ⽤激光产⽣图案 13.1.1 电机控制 13.1.2 快速傅⾥叶变换 13.2 所需模块 13.2.1 搭建激光秀 13.2.2 连接电机驱动器 13.3 Arduino程序
📄 Page
12
13.3.1 配置Arduino数字输出引脚 13.3.2 主循环 13.3.3 停⽌电机 13.4 Python代码 13.4.1 选择⾳频设备 13.4.2 从输⼊设备读取数据 13.4.3 计算数据流的FFT 13.4.4 从FFT值提取频率信息 13.4.5 将频率转换为电机速度和⽅向 13.4.6 测试电机设置 13.4.7 命令⾏选项 13.4.8 ⼿动测试 13.5 完整的Python代码 13.6 运⾏程序 13.7 ⼩结 13.8 实验 第14章 基于树莓派的天⽓监控器 14.1 硬件 14.1.1 DHT11温湿度传感器 14.1.2 树莓派 14.1.3 设置树莓派 14.2 安装和配置软件 14.2.1 操作系统 14.2.2 初始配置 14.2.3 Wi-Fi设置
📄 Page
13
14.2.4 设置编程环境 14.2.5 通过SSH连接 14.2.6 Web框架Bottle 14.2.7 ⽤flot绘制 14.2.8 关闭树莓派 14.3 搭建硬件 14.4 代码 14.4.1 处理传感器数据请求 14.4.2 绘制数据 14.4.3 update()⽅法 14.4.4 ⽤于LED的JavaScript处理程序 14.4.5 添加交互性 14.5 完整代码 14.6 运⾏程序 14.7 ⼩结 14.8 实验 附录A 软件安装 附录B 基础实⽤电⼦学 附录C 树莓派的建议和技巧 欢迎来到异步社区!
📄 Page
14
版权信息 书名:Python极客项⽬编程 ISBN:978-7-115-44976-4 本书由⼈⺠邮电出版社发⾏数字版。版权所有, 侵权必究。 您购买的⼈⺠邮电出版社电⼦书仅供您个⼈使 ⽤,未经授权,不得以任何⽅式复制和传播本书 内容。 我们愿意相信读者具有这样的良知和觉悟,与我 们共同保护知识产权。 如果购买者有侵权⾏为,我们可能对该⽤户实施 包括但不限于关闭该帐号等维权措施,并可能追 究法律责任。 • 著 [美] Mahesh Venkitachalam 译 王海鹏
📄 Page
15
责任编辑 陈冀康 • ⼈⺠邮电出版社出版发⾏ 北京市丰台区成 寿寺路11号 邮 编 100164 电 ⼦ 邮 件 315@ptpress.com.cn ⽹址 http://www.ptpress.com.cn • 读者服务热线:(010)81055410 反盗版热线:(010)81055315
📄 Page
16
版权声明 Simplified Chinese-language edition copyright © 2017 by Posts and Telecom Press. Copyright © 2016 by Mahesh Venkitachalam. Title of English-language original: Python Playground , ISBN-13: 978-1-59327-604-1, published by No Starch Press. All rights reserved. 本书中⽂简体字版由美国No Starch出版社授 权⼈⺠邮电出版社出版。未经出版者书⾯许可, 对本书任何部分不得以任何⽅式复制或抄袭。 版权所有,侵权必究。
📄 Page
17
内容提要 Python是⼀种解释型、⾯向对象、动态数据 类型的⾼级程序设计语⾔。通过Python编程,我 们能够解决现实⽣活中的很多任务。 本书通过14个有趣的项⽬,帮助和⿎励读者 探索Python编程的世界。全书共14章,分别介绍 了通过Python编程实现的⼀些有趣项⽬,包括解 析iTunes播放列表、模拟⼈⼯⽣命、创建ASCII码 艺术图、照⽚拼接、⽣成三维⽴体图、创建粒⼦ 模拟的烟花喷泉效果、实现⽴体光线投射算法, 以及⽤Python结合Arduino和树莓派等硬件的电⼦ 项⽬。本书并不介绍Python语⾔的基础知识,⽽ 是通过⼀系列不简单的项⽬,展⽰如何⽤Python 来解决各种实际问题,以及如何使⽤⼀些流⾏的 Python库。 本书适合那些想要通过Python编程来进⾏尝 试和探索的读者,适合了解基本的Python语法和 基本的编程概念的读者进⼀步学习,对于Python 程序员有⼀定的启发和参考价值。
📄 Page
18
致谢 写⼀本书就像跑⻢拉松。有⼈这么对我说 过。但我确实知道,写这本书考验了我的耐⼒极 限,没有亲朋好友和家⼈为我摇旗呐喊,我不可 能完成。 ⾸先,我感谢我的妻⼦Hema,她不变的爱、 ⿎励和耐⼼,贯穿了完成这项⼯作的整整两年时 间。我感谢我的朋友Raviprakash Jayaraman,他是 我所有不确定的项⽬的“同谋”,也是本书的技术 评审,我们⼀起吃了许多有趣的午餐、看了不少 电影,多次去逛S.P. Road Zoo。我感谢我的朋友 Seby Kallarakkal,他推动我编写这本书,进⾏了 多次有趣的讨论。我很感谢我的朋友Santosh Hemachandra博⼠在快速傅⾥叶变换上的有益讨 论。我感谢Karthikeyan Chellappa,帮助我测试 Python模块的安装,和我⼀起围绕Kaikondrahalli 湖跑步。我还要感谢Matthew Denham(我与他在 Reddit上交谈),他对万花尺(Spirograph)的数 学知识提供了帮助。
📄 Page
19
我感谢No Starch出版社的Tyler Ortman和Bill Pollock,他们接受了我编写本书的意向。还要感 谢 Serena Yang编辑本书的专业⼯作。我感谢 Nicholas Kramer对本书的技术评阅。 我感谢我的 ⽗⺟A.V. Venkitachalam和N. Saraswathy,他们为 我提供的教育远远超越了他们的财务能⼒。最 后,我感谢所有给我启发的⽼师,我希望⼀辈⼦ 做⼀名学⽣。
📄 Page
20
前⾔
The above is a preview of the first 20 pages. Register to read the complete e-book.
Recommended for You
Loading recommended books...
Failed to load, please try again later